Skip To Content
ArcGIS Developers
Dashboard

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:

https://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.

Request parameters

ParameterDetails
f

The response format. The default response format is html.

Values: html | json

Response properties

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.

PropertyDetails
adjusted

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

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

Syntax

location=<left>,<top>,<width>,<height>

Example

location=0,0,8,8
data

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.

Example usage

https://org.arcgis.com/arcgis/rest/services/World_Basemap_Export_v2/VectorTileServer/tilemap/5/0/0/8/8?f=json

JSON Response example

{
	 "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]
}

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
  }
}