The sections that follow introduce the Street Level Imagery API, explain essential concepts and describe the common use cases it supports.
What is the Street Level Imagery API?
HERE Street Level Imagery API is a REST API that delivers location content, utilizing 3D imaging. The API includes the following components that are part of the HERE Content Delivery Network:
- 3D Street Panoramas Layer
- 3D Buildings Layer (bundled with the panoramas if buildings exist in that area)
- 3D Terrain Layer (bundled with the panoramas)
- Panorama Vector Coverage Layer
The coverage data shows the specific areas where the other service components are available. See Panorama Vector Coverage for additional information.
Where available, these components may be combined with use of other HERE Platform products, such as the HERE Places API, to create applications and user experiences in the realm of augmented reality.
3D Street Panoramas
This component delivers 360-degree street-level panoramas as cube maps. A cube map consists of six images, each corresponding to one side of the cube. The images offer a 360-degree, street-level, panoramic view of various points within a single QuadBlock area. These images are bundled with the Building (if applicable) and Terrain layers in a single container called a metacell. .
The service supports these image file formats:
3D Buildings and 3D Terrain
These components deliver three-dimensional images of buildings and terrain represented by indexed triangulated meshes.
The 3D Buildings Layer and 3D Terrain Layer are published in City Scene 3D (CS3D) format, which is a highly compressed run-time binary format developed by HERE for fast rendering on mobile devices. Geometry captured in this format can be used by client applications directly, with almost no conversion, which optimizes rendering performance.
Panorama Vector Coverage
Panorama Vector Coverage with the API allows applications to see the areas in a map where street level data is available.
The panoramic images, 3D mesh data, and vector coverage information are made available via a dedicated Content Delivery Network (CDN), where customers can download the data using a pull scenario.
Why use the Street Level Imagery API?
Street Level Imagery API provides solutions for the high level use cases outlined below.
3D Street Panoramas
The 3D Street Panorama Layer supports Augmented and Mixed Reality use cases. A typical use case is to display panoramic street-level imagery as an application user interface backdrop, providing support for user interaction, for example:
- allow the user to open a map
- allow the user to search for a location
- allow the user to display places and services – show POIs (Points of Interest) retrieved from the Street Level Imagery API
- allow the user to move within the scene (a step or a longer distance)
- allow the user to display a list of businesses in a building
The 3D Buildings Layer supports the following Augmented and Mixed Reality use cases at application level:
- Select/detect 3D buildings from a live AR (Augmented Reality) scene, based on geometry – allow the user to select a building to learn more about it
- Select for rendering only those 3D buildings that are in the line of sight (visible) – use POI occlusion culling and hidden surface determination; this allows the application to avoid rendering 3D meshes that are not visible to the user, for example those that lie behind other building(s)
- Determine/display the closest panorama and/or data associated with it
The 3D Terrain Layer supports Augmented and Mixed Reality use cases by displaying terrain data content as an application user interface backdrop to ensure flawless click detection and continuous, gap-free rendering.
In the image below, the Terrain Layer is a triangle mesh covering the road surfaces and pedestrian areas, fitting snugly around the buildings. Although invisible in the viewport of the device, the terrain mesh allows the user to click/tap and retrieve the latitude and longitude of the location.
The image below shows a different representation of the 3D Terrain Layer as a semi-transparent area in green.
Panorama Vector Coverage
A typical use case for the Panorama Vector Coverage Layer is to indicate the locations on a HERE map, where panoramic images are available. The layer uses vector road geometry, calculating coverage for each road segment (represented as a polyline).