Platform Data Extension API Developer's Guide

Layers, Indexes, and Attributes

The Platform Data Extension API offers HERE map data in a series of attribute key/value pairs (for example, iso_country_code": "DEU" is an attribute in the LINK_ATTRIBUTE_FC3 that specifies the ISO A3 country code for a link as a key/value pair – Germany in this case). The attributes in the system are grouped in layers. The Platform Data Extension API also contains attribute key/value pairs that are independent of locations. The Platform Data Extension API refers to these attributes as static content, which are in static layers.

Some map data attributes are also indexed, which allows you to request which tiles contain specific values in attribute key/value pairs.

Layers

The Platform Data Extension API uses layers to group attributes. Examples of layers that group HERE map data include:
  • layers that display warnings to the driver
  • layers that provide Junction View guidance
  • layers that enable fuel efficient driving
  • layers that enable safe driving
  • layers that provide access to polygons that describe the hierarchy of administrative regions
Use the appropriate layer to request only the relevant data to minimize data transfer. Since the layers offered by the Platform Data Extension API change often, check the currently supported layers with the resource Layers. For an example of how to use this resource, see Listing Available Layers.
Note: Sometimes, the order of the columns in the layers may change and new columns may be introduced. Make sure that your applications take this into account.

A typical example for using layers is when you need to retrieve information along a particular route. A route usually starts on smaller roads, follows bigger roads, then stays on motorway-like roads for the main part of the journey, and finally returns onto smaller roads when approaching the destination. Retrieving all the information about smaller roads along the whole route can result in an overwhelming amount of data transfer. Therefore, road link related layers are split into five layers each corresponding to the functional classes used in HERE maps. For more information about the terminology used in HERE maps and Platform Data Extension API responses, see Working with HERE Map Data. To keep the data processing simple, each layer consists of a single flat table with simple records in numbers or text strings represented as attribute key/value pairs.

To reduce the volume of data transferred, some columns are denormalized or encoded. Denormalization is done by storing a list of comma separated values in a column. Encoding is done by using abbreviations or numbers to represent static string values, bit mask for a vehicle's type, and so on. For example, each geometry is delivered in a single column per coordinate (x, y, z-level columns). Each coordinate is a comma separated list of integer values in 10E-5 WGS degrees (or 10E-7 for ADAS accuracy). The first value is absolute. Each subsequent value is relative to the previous value; a 0 value is reduced to an empty string.

Following tiled layers are available:
  • ADAS_ATTRIB_FC1...5 Curvature, height, slope, inside-builtup
  • ADMIN_PLACE_0/1/2/8/9 Administrative area info
  • ADMIN_POLY_0/1/2/8/9 Administrative area geometry
  • BASIC_HEIGHT_FC1...5 Link height
  • BUILDING Building type, height, footprint geometry
  • CARTO_LINE_DO0/1/2/8/9 Cartographic line type, name, geometry
  • CARTO_POLY_DO0/1/2/8/9 Cartographic polygon type, name, geometry
  • CARTO_POLY_OCEAN Cartographic ocean polygon name, geometry
  • CARTO_POLY_RIVER_DO0/1/2/8/9 Cartographic river polygon type, name, geometry
  • CARTO_POLY_TOLL_HAZ Cartographic toll zone and hazardous area polygon name, geometry
  • CENSUS_0/1/2/8/9 Basic census area info
  • CEN_* Country specific census info
  • CITY_POI_0/1/2/8/9 City center POI info, location
  • DISTANCE_MARKERS_FC1...5 Distance marker info, location
  • DTM_HEIGHT Digital terrain model grid height
  • EVCHARGING_POI Electric vehicle charging station info, location
  • JUNCTION_VIEW 2D junction info, location, reference to image
  • LANE_CONN_FC1...5 Lane level guidance link connectivity info
  • LINK_ATTRIBUTE2_FC1...5 Advanced link info for routing, map display
  • LINK_ATTRIBUTE_FC1...5 Basic link info for routing, map display
  • LINK_FC1...5 Link connectivity info for routing, guidance
  • LINK_TMC_FC1...5 LINK TMC for live traffic processing
  • MICROPOINT_ADDRESS Address location, info with house number building unit and level for map display
  • NATURAL_GUIDANCE Natural guidance info
  • POINT_ADDRESS Address location, info with house number for map display
  • POI_BIG Point of interest info, location for map display
  • POI_BIGGER Point of interest type, info, location for map display
  • POI_SMALL Point of interest type, info, location for map display
  • POI_SMALLER Point of interest type, info, location for map display
  • PSTLCB_GEN Postal code boundary generalized geometry
  • PSTLCB_MP Postal code boundary mid point location
  • PSTLCB_UNGEN Postal code boundary geometry
  • PSTLCMIDP Postal code area mid point location for map display
  • ROAD_ADMIN_FC1...5 Road link's administrative hierarchy, postal code
  • ROAD_GEOM_FC1...5 Road link info, geometry for map display
  • ROAD_NAME_FC1...5 Road link name
  • ROAD_OVERVIEW Generalized rad geometry for map display
  • ROUNDABOUT_FC1...5 Roundabout info
  • ROUTING_FC1...5 Compact representation of link info, connectivity, conditions for routing
  • SIGNPOST Direction sign info
  • SPEED_LIMITS_COND_FC1...5 Conditional speed limit info
  • SPEED_LIMITS_FC1...5 Car speed limit info
  • SPEED_LIMITS_VAR_FC1...5 Variable speed sign info
  • TOLLCOST_FC1...5 Road toll cost info for toll calculation/optimization
  • TOLL_BOOTH_FC1...5 Toll booth info for toll calculation/optimization
  • TOLL_LINK_FC1...5 Road link toll info for toll calculation/optimization
  • TRAFFIC_PATTERN_FC1...5 Typical link speed per time of day and weekday
  • TRAFFIC_SIGN_FC1...5 Traffic sign info for driver alerts
  • TRAFFIC_SPEED_RECORD_FC1...5 Live traffic info recorded from the last days, in 15 munite resolution
  • TRUCK POI Truck specific rest area and restaurant info
  • TRUCK_RESTR_FC1...5 Truck restriction info for routing
  • TRUCK_SPEED_LIMITS_FC1...5 Truck speed limit info
  • TURN_RESTR_FC1...5 Turn restriction info
  • VIRT_CONN Virtual connection link info, geometry for routing, map display
Following non-tiled (static) layers are available:
  • ADMIN_REGULATIONS Administrative level regulations, time zones
  • ADMIN_TRUCK_RESTR Administrative level truck restrictions
  • COUNTRY Country info
  • TC_ADMIN Administrative level road toll info
  • TC_SYSTEM Toll operator info
  • TC_TOLLSYS_NAMES Toll operator names
  • TC_VEH_TYPES Toll vehicle type info
  • TRAFFIC_PATTERN Traffic speed curves
Please refer to the /doc/layers.html service documentation for more details and licensing info.

File References

While the flat text file format is suitable for HERE core map data, it is not suitable for pixel images like Junction Views. For this type of map content, the flat file data contains a file path.

To retrieve the content itself through the Platform Data Extension API, you can use the path parameter after the layer paraneter. The path information is published for tiled or static layers, if they can be enhanced with external file data, such as Junction View SVGs. For an example of a file request, see Requesting a Data File.

Indexes

If you only use a map object ID (Link ID, Admin Place ID), you can use the available indexes to retrieve the tile IDs (tileX, TileY, level) for specific map object IDs.

For example, to find out which tiles from the Link Attribute layers you have to request to get information for the following link IDs: (555, 666, 777), you make an index request on the Road Geometry layer with attributes=LINK_ID and values=555,666,777. The response then contains the Road Geometry tile IDs covering these links. Alternatively, you can also request the same tile IDs from the Link Attribute layer on the same level.

You can use the tileX, tileY numbers from the response to request tiles from any layer, as long as they are on the same level.

The index resource returns (layer, level, tileX, TileY). If your application needs to know the spatial boundary of a tile, you can compute it using this formula:
tileMinLat = tileY * tileSize - 90.0; tileMinLon = tileX * tileSize - 180.0;
tileMaxLat = tileMinLat + tileSize - 0.00001; tileMaxLon = tileMinLon + tileSize - 0.00001; where tileSize = 180 / (2level).

Static Content

Static layers contain static content in small tables, that you can retrieve as a whole. These tables contain information that is referenced in tiles that belong to other layers.

For example, records in the Traffic Pattern layer contain a PATTERN_ID. A static layer table contains the full specification for each PATTERN_ID. For an example of a static content request, see Requesting General System Data

You cannot use this account to purchase a commercial plan on Developer Portal, as it is already associated to plans with different payment methods.

To purchase a commercial plan on Developer Portal, please register for or sign in with a different HERE Account.

Something took longer than expected.

The project should be available soon under your projects page.

Sorry, our services are not available in this region.

Something seems to have gone wrong. Please try again later.

We've detected that your account is set to Australian Dollars (AUD).
Unfortunately, we do not offer checkouts in AUD anymore.
You can continue using your current plan as normal, but to subscribe to one of our new plans,
please register for a new HERE account or contact us for billing questions on selfservesupport@here.com.