Skip To Content

Caching terminology

You may encounter the following terms when working with map caching.

Tiling scheme

A tiling scheme establishes how clients should reference the tiles in a cache and is a mapping between the spatial reference of the source map document and the tiling grid.

The tiling grid uses a level of detail (scale), row, and column reference scheme. The scheme also defines the scale levels (level of detail) at which the cache has tiles, the size of the tiles in a pixel, and the screen resolution at which the tiles are intended to be most commonly displayed.

A tiling scheme is necessary to generate a map cache. By default, the tiling origin starts at the upper left of the coordinate system used by the service's source map document.

The tiling scheme properties define where tile boundaries exist.

Note:

In some clients, the tiling scheme properties must match when overlaying caches.

After you have chosen a tiling scheme, either from a preset or from your own custom specifications, you can use this group of settings to further modify the cached service's tiling scheme.

Levels of detail

Tiling schemes often contain many levels of detail that users can zoom between. You can modify the list of the levels of detail for your cached services.

Depending on your map, you may choose to forego caching at extremely close and extremely distant scales in your tiling scheme to conserve disk space, reduce generation time, or to improve visibility.

Note:

Constraints are added when rendering tile content in scene viewer and for vector tile layers. These constraints require that the consecutive scale values in level of details is a ratio of 2. This ensures the levels of detail both overlap and fit within the root tile.

ArcGIS examines the scale dependencies in your map and attempts to suggest a range of levels of detail to cache. You can adust this range using the Minimum level of detail and Maximum level of detail parameters. The remaining levels of detail will not be removed from your tiling scheme, but you cannot create tiles for them unless you return to the Caching tab and include them in the range.

Tile origin

The tiling scheme origin is the upper left corner of the tiling scheme grid. The origin does not necessarily represent the coordinate point at which tiles begin to be created. Instead, using a common tiling scheme origin ensures caches properly overlay one another in web apps.

Illustration of tiling scheme origin and tiling scheme grid

In most cases, it is recommended that you keep the default tiling scheme origin suggested by the software. The default is the upper left point of the coordinate reference defined by the map document. If no coordinate reference is defined in the map document, the upper left point of two times the union of extents of all the layers in the map is used.

If you change the tiling scheme origin to something other than the default, be aware that tiles can be created only in the map area to the lower right of the tiling scheme origin. If you want to cache only a certain area of your map, creating tiles based on a feature class boundary is recommended instead of changing the tiling scheme origin.

Dots per inch (DPI)

Dots per inch (DPI) refers to the resolution of the cache tiles that the server generates. The default value of 96 is almost always sufficient unless you are working primarily on a network where the majority of your client machines have a different DPI. Be aware that adjusting the DPI affects the scale of the tiles.

Tile height and tile width

The default tile width and height is 256 pixels. It's recommended that you use 256 or 512. If you're building a cache that overlays another cache, be sure to use the same tile width and height for both caches.

Choosing a smaller tile width and height may improve performance of the application requesting tiles from the cache, as less data needs to be transferred per tile, but the number of tiles requested is increased.

Tile format

This setting determines what output image format the map service will use when it creates the tiles. Your choice of image format is important, because it determines the size on disk of the tiles, the image quality, and the ability to make the tile background transparent.

When you initialize a new cache tiling scheme, ArcGIS examines the layers in your map and selects a default image format for you. If your map contains only vector layers, the default is PNG. If at least one instance of raster content is detected, the default is MIXED.

Examine this default and determine if it makes sense based on the purpose of your map. The following is a summary of the available image format options and their appropriate uses:

  • PNG—For each tile, this format determines the PNG bit depth that will minimize tile storage space without sacrificing visual quality. It is appropriate for many vector maps, especially maps with few colors, maps with large swaths of one color, or overlay networks. If you're not sure which PNG format to use, try this first.
  • PNG8—You can use PNG 8 for overlay services that need to have a transparent background, such as roads and boundaries. PNG 8 creates tiles of very small size on disk with no loss of information.

    If your map uses antialiasing, you'll see higher quality of lines and labels if you use PNG or PNG 32 instead of PNG 8. If your map has a large number of colors due to gradient fills or hillshades, you may also want to use PNG or PNG 32.

  • PNG24—You can use PNG 24 for overlay services, such as roads and boundaries, that have more than 256 colors (if fewer than 256 colors, use PNG 8).
  • PNG32—You can use PNG 32 for overlay services that have antialiasing enabled on lines or text, such as roads and boundaries. It supports more than 256 colors and full alpha transparency. PNG 32 is recommended for overlay services that have antialiasing enabled on lines or text. PNG 32 creates larger tiles on disk than PNG 24.
  • JPEG—Use this format for basemap services that have large color variation and do not need to have a transparent background. For example, raster imagery and very detailed vector basemaps tend to work well with JPEG.

    JPEG is a lossy image format. It attempts to selectively remove data without affecting the appearance of the image. This can cause very small tile sizes on disk, but if your map contains vector line work or labels, it may produce too much noise or blurry area around the lines. If this is the case, you can attempt to raise the compression value from the default of 75. A higher value, such as 90, may balance an acceptable quality of line work with the small tile size benefit of the JPEG.

    It's up to you to decide what image quality you consider acceptable. If you're willing to accept a minor amount of noise in the images, you could save large amounts of disk space by choosing JPEG. The smaller tile size also means the browser can download the tiles faster.

  • MIXED—A mixed cache uses JPEG in the center of the cache with PNG 32 on the edge of the cache. Use the mixed mode when you want to cleanly overlay raster caches on other layers.

    When a mixed cache is created, PNG 32 tiles are created anywhere that transparency is detected (in other words, anywhere that the data frame background is visible). The rest of the tiles are built using JPEG. This keeps the average file size down while providing you with a clean overlay on top of other caches. If you do not use the mixed mode cache in this scenario, you'll see an opaque collar around the periphery of your image where it overlaps the other cache.

  • LERC—Limited Error Raster Compression (LERC) is an efficient lossy compression method recommended for single-band or elevation data with a large pixel depth, such as float, 32-bit, 16-bit, or 12-bit data. LERC compresses 5 to 10 times better and 5 to 10 times faster than LZ77 for float data. LERC is also recommended for integer data. When using integer data, and the error limit specified is 0.99 or less, LERC is considered a lossless compression.
    Note:

    Limited Error Raster Compression (LERC) is only available for image services; map services are not supported.

    Elevation data, or surfaces, is mostly used in 3D views to represent the ground, such as a terrain model. You can have surfaces that do not represent the ground, such as the ozone layer, which is above the ground surface, or geological substrates, which are below the ground surface. When using a LERC compression method to serve surfaces that are not at ground level, it is strongly recommended that you publish the data with all the levels of detail. This ensures that when you view the data, you do not zoom out beyond the coarsest resolution, which would stop rendering the content. This is less of an issue for elevation content that is contributing to the ground surface, because the surface can be used to fill in any gaps that may exist.

    • If you select LERC, specify the compression value using the Compression input dialog box. The compression represents the maximum tolerated error value that is applicable per pixel (not an average for the image). This value is specified in the units of the mosaic dataset. For example, if the error is 10 centimeters and the mosaic dataset is in meters, enter 0.1.
    • LERC-based cache services do not resample to draw if the source data is not supported at a given scale or if overviews are not present. LERC-based cache services also contain a properties file that lists whether or not the service contains elevation data. To provide full coverage while drawing 3D scenes, LERC-based caches use a cache tile size half a pixel more than the standard 256 x 256.
    • The LERC format uses a non-transform compression algorithm; therefore, the compression value or maximum error allowable value varies from 0 to 1,000.
Tip:

One common scenario in which you need to change the default image format is when building a vector-only basemap that uses antialiasing. In this case, JPEG or MIXED format with a high compression quality is more appropriate than the default PNG, because the resulting tiles are much smaller on disk.

Before committing to an image format for a large cache, build a small cache of a representative area of your map and examine the tile quality and performance in a test application. If you are working with multiple caches, build a small test cache for each, and add them to a test application to make sure they overlay as expected. This allows you to make adjustments before you create the entire cache.

Compression

Compression refers to the amount of JPEG compression that takes place when using JPEG or mixed image format caches. Higher values signify higher JPEG quality and therefore less compression. For imagery, values of 55 to 75 are usually sufficient without causing any visible loss of quality. For vectors and other sharply defined features or regions, a higher quality of 90 is recommended as a starting point.

Tile packages

A tile package is a compressed file with the .tpkx extension that contains image tiles stored in the Compact Cache V2 format and the tiling scheme and other metadata stored in a .json file. These packages are used for transferring map cache content and for accessing map content in offline scenarios when web access is restricted. See the Tile package open specifications for more information.

Content for web tile layers can also be generated in ArcGIS Pro using packages. See Share a tile package and Share a vector tile package for more information.

Cache storage format

Raster caches are stored using the compact v2 format, where 16,384 tiles are stored in bundle files. The individual tile size can be defined in the cache tiling scheme defined using the Generate Map Server Cache Tiling Scheme or Create Map Server Cache Scheme geoprocessing tools.

While a cache is being created, you may see temporary .lock and .done files in the cache files. The .lock files allow ArcGIS Server to keep track of which bundles are in the process are being created. The presence of a .lock file does not mean that the bundle is inaccessible clients. Similarly, the .done files allow ArcGIS Server to keep track of which bundles have been created. All .lock and .done files will go away once the caching job has finished.

You can have a small cache with one bundle at each level. However, it is more common that there is a bundle boundary crossing a portion of the geography, resulting in multiple bundles in a level. Larger caches encompass many bundles.

Bundle boundaries are determined by the tiling scheme origin and are not adjustable. For instance, at the neighborhood/street level scale of 1:4096, a full bundle covers approximately the area of a mid-size county in the eastern United States.

When you update tiles, the entire bundle is not recreated. Instead, an area of 4096 by 4096 pixels (without antialiasing) or 2048 by 2048 (with antialiasing) is updated. This unit of area is sometimes referred to as a supertile.

ArcGIS clients, including the web APIs, can read the bundle files produced by the compact cache format. Web clients issue calls to the ArcGIS Server site for the specific level, row, and column of the tile. ArcGIS Server receives the request and returns the appropriate tile from the bundle.

Note:

The compact cache format has two versions: compact, introduced at 10.0, and compactv2, introduced at 10.3. The compact version includes a separate .bundlex file that serves as an index, while the compactv2 version incorporates the index into the .bundle file. Compactv2 improves performance, particularly when a cache is located on a network share or cloud store, and is only compatible with ArcGIS Server sites running on version 10.3 or later and is the default for these versions.

If you are transferring a compact cache in the compactv2 format to a site running ArcGIS Server 10.0 - 10.2, use the Export Map Server Cache tool in ArcGIS Pro.

Cache directory

By default, ArcGIS Server creates map and image service caches in the server cache directory that was created when you configured your ArcGIS Server site. However, you can configure a different location to store the cache files.

When you configure cache directories for a site, publishers choose one of the following directories to store the cache for their map and image services.

You can open the server cache directory to examine the cache tiles and the tiling scheme file conf.xml. A cache directory can also contain a file geodatabase status.gdb that contains information about which tiles have been built.

Note:

Cache content for hosted tile layers (raster, vector, or elevation) are stored in the cache directory of the hosting server site.

Basemaps

Basemaps server as a reference map on which you overlay data from layers and visualize geographic information. An individual basemap can be made of multiple feature, raster, or web layers. Basemaps are the foundation for your maps and provide context for your work. Reference layers draw on top of operational layers, while background layers draw below operational layers. Many cached map and image layers and vector tile layers are built for the purpose of being rendered as a basemap.

See Customize basemaps for more information.