Image Tile

Description

This resource is supported at 10.1 and later.

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 two types of tiles: map tiles and elevation 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.

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 colocated map tile to be used as a texture for that mesh.

Deriving 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

Added at 10.2.

Description: This parameter applies only to cached image services that are configured with the ability to return blank or missing tiles for areas where cache is not available. When the parameter is blankTile=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 : true for a blank/missing tile.

Example usage

Example: Request an image tile for the PublicSafetyBasemap service.

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