How globe caches work

ArcGlobe has the ability to effectively work with very large data sources because of its internal data organization scheme, termed as data tiling. The storing of data tiles for future use is further termed as data caching. When using ArcGlobe, data tiles are always stored in a memory cache, and optionally in a disk cache. These stored data tiles of a data layer are known as the layer data cache. Advantages of data caching include improved visualization performance, and reduced repetitive data requests.

A globe service heavily relies on a layer data cache. This cache consists of pre-rendered tiles that are used for display. It's faster for a service to retrieve a tile from a cache than to create the tile on the fly. For this reason, globe services always use caches.

Types of caches

The amount of data that you initially build into the cache is up to you. There are three types of caches: Full data cache, Partial data cache, and On-demand (just-in-time) data cache.

Full data cache

Full data caching means generating and saving the data tiles for all areas and levels of detail defined in a dataset. Full data caching can be accomplished for any layer either by using ArcGlobe or ArcGIS Server. Generating a full data cache, if practical, is the recommended way to deploy your globe service.

At ArcGIS Server version 9.2, vector layers and elevation layers must always have the full data cache built before being able to be served as part of a globe service. Currently you can accomplish vector cache building only by using ArcGlobe Desktop Application. However, elevation data caches can be built using ArcGIS Server. For steps on how to do the above, see Building globe caches.

Partial data cache

Partial data caching occurs when you generate a cache only at levels of detail of your choice. When you only build a partial cache, you are then allowing the server to generate data tiles on demand for levels of detail not covered in the cache.

You can only generate partial data caches for feature datasets that are rasterized (all 2D vector datasets are treated as rasterized features by default) and for raster image sources.

For rasterized features, a partial cache is usually more practical than a full cache. The partial cache should include the levels of detail that you expect your users to most interact with. If clients request other levels of detail, the tiles can be further generated by on demand caching.

On-demand data cache

In on-demand data caching, the server generates tiles only for the display areas and levels of detail requested by clients. As the client navigates around the globe, the server generates tiles and adds them to the cache. This mode of data caching is termed as on-demand or just-in-time data caching, because only areas visited by a client are cached. These tiles are saved to disk so that they can be used again if a different client requests the same area and level of detail.

Although on-demand caching allows you to publish your globe service in the shortest time (by eliminating the initial data caching time), the first client to request a tile will see slower performance than if the tile had been already cached.

At ArcGIS Server version 9.2, the only supported datasets for on-demand caching and partial caching are raster image data and rasterized feature data. All other data types such as feature data as vectors, raster data as elevation, annotation, and graphics need to have the full data cache pre-built before you can expose them as a GIS service.

Server cache directories

Every ArcGIS Server has a set of server cache directories. When you run the GIS Server Post Install, you specify a location for creating server directories. A default server cache directory is created under this location. For instructions on adding additional server cache directories, see the help topic on Creating a server directory.

Globe cache directories

A Globe Service has separate layer caches for each layer in the service. As the Globe service publisher you are responsible for choosing a server cache directory for the service. The layer caches for a GlobeService are contained in a GlobeCache directory, which is itself contained within the Server Cache directory assigned to the service.

Multiple globe services may be assigned the same server cache directory. All globe services assigned to the same server cache directory share the same GlobeCache directory.

When you create a globe service using the Publish To ArcGIS Server wizard, the server chooses the first server cache directory that it finds. If you use the New Service wizard you will have the opportunity to pick a server cache directory instead of having one automatically assigned. In both cases you can later change this directory if you wish by editing the service properties.

In general each layer in a globe service has a separate unique cache under the GlobeCache directory – the only exceptions are globe documents consisting of consolidated group layers and web based layers (IMS, WMS, ArcGIS map service layers etc...) that share a single cache for children layers of the group.

Note that each globe service can only point to a single server cache directory location, so the data caches for all layers of a globe service must reside in the same location. Different services can point to different server cache directories; however, if disk space permits, having a unified cache location for all globe services is the recommended workflow.