Levels and Map Tiles
The Platform Data Extension API allows you to request HERE map data for specific regions based on a system of map tiles.
The size of a region covered by a map tile depends on the zoom level specified for the tile. The lower the zoom number, the more area the tile covers. For example, tiles for level 2 cover a broader region than tiles for level 10.
- The world is recursively divided into halves, where level 0 contains 2 x 1 tiles (East and West of Greenwich) and each tile comprises 180 x 180 degrees.
- Level 1 contains 4 x 2 tiles, where each of the 2 level 0 tiles are subdivided into 4 parts.
- On Level N, each tile comprises 180.0 / (2 level) degrees into each direction.
The world map in the figure above is shown in Mercator projection. However, tiling is based on unprojected WGS 84 degrees; not Mercator.
Tiles from a layer must be requested at a certain level as documented for each layer. For example, for road link based layers, the level is always functional class + 8.
The map tiles used in the Platform Data Extension API follow the Navigation Data Standard (NDS) tiling scheme. A tile contains all the geometry: including the lower and left border but excluding the upper and right border. One exception is for points that are additionally included when cutting geometry across a tile border – then the tile may contain a point on the upper and/or right border.
- Ignore the tiling and use the tiled fragments as separate map objects
- Remove the additional geometry and stitch tiled geometries back together
- Supress the drawing of artificial tiling lines as polygon border lines
Some layers do not cut the geometry into tile pieces, but copy the whole geometry of an object into each of the tiles it covers. This is described in the respective layers' documentation. For more information on layers, see Layers, Indexes, and Attributes.
- Tile A ߝ start node, shape point(s), artificial shape pooint
- Tile B ߝ artificial shape point, shape point(s), end node
tile size = 180° /2level [degree] tileY = trunc((latitude + 90°) / tile size) tileX = trunc((longitude + 180°) / tile size)