ArcGIS REST API

Tile Map

  • URL:
    https:// <mapservice-url>/tilemap/<level>/<row>/<column>/<width>/<height>
  • Version Introduced:10.6.1

Description

This capability is available for hosted tile services (raster and vector tiles) and cached map/image services with CompactV2 storage format. It is also available for the basemap and elevation tile services provided by ArcGIS Online.

For cached map/image services, this capability needs to be added by the service publisher by updating the service administrative endpoint to include: "capabilities": "Map,Tilemap",

Note:

This capability cannot be added to hosted tile services based on tile packages as it requires CompactV2 storage format.

It provides clients a map of where tiles exists in a bundle, so that they can make requests only for the tiles that exist reducing unnecessary traffic to the service and hence improving the performance. The tilemap request returns a JSON structure containing tile presence information for an area of a specific level. The tilemap request uses the following syntax:

http://map-image-vectorservice-url>/tilemap/<level>/<row>/<column>/<width>/<height>

The level, row, and column arguments select the level and the top-left tile location, while the width and height specifies the size of the requested area.

Response Properties

PropertyDetails
f

Description: The response format. The default response format is html.

Values: html | json

adjusted

Description: This is set to "true" only when the requested area crosses bundle boundaries. In that case, the server clips the area returned at the borders of the bundle that contains the top-left point.

Values: true | false

location

Description: Structure with left, top, width, and height values defining the area.

Syntax: <left>, <top>,<width>,<height>

Example: 0,0,8,8

data

Description: Array of size (width x height) which contains a 1 if the respective tile exists or a 0 if the respective tile is missing. The data array is in row major orientation.

Depending on the server architectural consideration, the response width and height might be different than the requested dimensions, which is why the response includes the actual response dimensions. The top and left coordinates will always match the requested row and column. In practice, this happens when the requested area spans multiple bundles. The response will only contain the part of the requested area that is in the same bundle as the top-left corner.

Example Usage

JSON response example

https://basemapsdev.arcgis.com/arcgis/rest/services/World_Basemap_Export_v2/VectorTileServer/tilemap/5/0/0/8/8

{
	"adjusted": false,
	"location": {
		"left": 0,
		"top": 0,
		"width": 8,
		"height": 8
	},
	"data": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
}

Note:

The tile map response returns error code 422 when the bundle or level does not exist.

{"error":{"code":422,"message":"No tile available for the specified boundary.","details":null}}