Image Tile

Description

For cached image services, this resource represents a single cached tile for the image. The image bytes for the tile at the specified level, row, and column are directly streamed to the client. If the tile is not found, an HTTP status code of 404 (Not found) is returned.

Tile interpretation

There are three types of tiles: map tiles, elevation tiles, and raster tiles. Map tiles (introduced at ArcGIS 10.1) represent rendered map images, typically in JPEG or PNG. Elevation tiles (introduced at ArcGIS 10.3) represent elevation data and are stored as limited error raster compression (LERC) tiles.

Raster tiles, introduced at ArcGIS 10.8.1, represent image tiles with meaningful pixel values for analysis, not just for rendering. They are stored as LERC2D tiles. Raster tiles are available if the image service uses ArcObjects11 or ArcObjectsRasterRendering as the service provider.

In terms of topology, elevation tiles differ from normal map tiles in two ways:

  • When the service specifies a tile size of 2n pixels (rows / columns), elevation tiles actually contain 2n+1 pixels in each dimension.
  • Pixel values for each elevation tile are sampled with an offset of -0.5 * resolution relative to the matching map tile.

For a tile size of 4 by 4 pixels, these properties result in the following arrangement for a colocated map tile and elevation tile.

Tile interpretation

Sample locations of colocated map and elevation tiles

This arrangement allows the elevation samples (the pixels of the elevation tile) to be used directly as height values for the vertices of a regular-grid 3D mesh, and for the collocated map tile to be used as a texture for that mesh.

Derive tile extent from tile ID

Given the following notations:

Service Extent (serviceExt): {xmin, ymin, xmax, ymax} 
Tile Origin (origin): {x, y}
Tile Width and Height (tileSize): {cols, rows}
Each LOD (lod): {level, resolution, scale}
Tile ID (tileId): {level, row, column}
Tile Extent (tileExt): {xmin, ymin, xmax, ymax}
Level (lod): LODs[tileID.level]

Tile extent can be derived using the following formulas, which applies to both map and elevation tiles:

tileExt.xmin = tileId.column * tileSize.cols * lod.resolution + origin.x;
tileExt.xmax = tileExt.xmin + tileSize.cols * lod.resolution;
tileExt.ymin = tileId.row * tileSize.rows * lod.resolution + origin.y;
tileExt.ymax = tileExt.ymin + tileSize.rows * lod.resolution;

For more information about tiled elevation services, see ArcGIS for Developers documentation.

Request parameters

Parameter

Details

blankTile

This parameter was added at 10.2. This applies only to cached image services that are configured with the ability to return blank or missing tiles for areas where caching is not available. When the parameter is set as false, the server will return a resource not found (HTTP 404) response instead of a blank or missing tile. When this parameter is not set, the response will contain the header blank-tile as true for a blank or missing tile.

sliceId

This parameter was added at 10.8.1 and is available if the image service uses either ArcObjects11 or ArcObjectsRasterRendering as the service provider. This parameter applies to image services composed of multidimensional datasets with raster tiles enabled on top. Each dimensional slice has its own image tile at a specific level, row, and column combination. The sliceId of a dimensional slice can be queried from image service slices resource.

Example usage

Example: Request an image tile for the PublicSafetyBasemap service.

https://sampleserver6.arcgisonline.com/arcgis/rest/services/Toronto/ImageServer/tile/13/2990/2289