How globe caches work

ArcGlobe has the ability to effectively work with very large data sources because of its internal data organization scheme, data tiling. The storing of data tiles for future use is 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 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 prerendered 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.

Globe caches and map caches

You may be familiar with the concept of map caches if you've worked with 2D map services. Globe caches are stored in a different file format and folder hierarchy than map caches. However, the ESRI globe clients ArcGlobe and ArcGIS Explorer can read 2D globe caches.

Do you need to build a globe cache?

ArcGlobe and ArcGIS Explorer can consume 2D map caches and drape them over the surface of the globe. When these 2D map caches use the ArcGIS Online/Bing Maps/Google Maps tiling scheme, the display can exceed the speed of globe caches. If you build a 2D cache in this tiling scheme, there is no need to build and maintain a globe cache.

LegacyLegacy:

2D map caches built with the WGS 1984-based coordinate system previously used by ArcGIS Online will also match or exceed the speed of globe caches.

Ways to build the cache

The amount of data that you initially build into the globe 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.

Raster data as elevation must always have the full data cache built before being able to be served as part of a globe service. For steps on how to do the above, see Creating globe cache tiles.

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 allowing the server to generate data tiles on demand for levels of detail not covered in the cache.

A partial cache is sometimes more practical than a full cache when your data covers a large area at many levels of detail. 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 you navigate around the globe, the server generates tiles and adds them to the cache. This mode of data caching is on-demand, or just-in-time, data caching, because only areas that you visit are cached. These tiles are saved to disk so that they can be used again if someone else requests to view 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 already been cached.

All data types are supported for on-demand caching except for raster data as elevation.

Building the cache

There are two steps to making a globe cache, which are discussed in the topics linked below:

  1. Set cache properties.
  2. Create globe cache tiles.

On Linux/Solaris, you can create/update cache from command line. You can set the properties following the directions as the script guides you through the cache generation/update process.

Server cache directories

The server cache directory is the folder on disk in which your cache tiles are stored. One server cache directory can hold multiple caches; however, if you want, you can add more than one server cache directory to your server. On the Caching tab of the Service Properties dialog box, you can choose which server cache directory will be used to store your cache.

It's a good practice to associate the server cache directory with a virtual directory on your Web server so that tiles can be retrieved through a URL. This is recommended for performance.

When you install all the components of ArcGIS Server on just one machine, a server cache directory is created for you. (The default location is C:\arcgisserver\arcgiscache.) A virtual directory that references this location is also created.

If you install the components of ArcGIS Server across multiple machines, you need to configure the server cache directory and its associated virtual directory yourself. For further reading, see About server directories and Configuring a multiple-machine deployment.

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 Add 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 change the default directory on the Caching tab of the Service Properties dialog box.

How globe caches are stored

All globe caches are stored in a GlobeCache folder in the server cache directory. You don't have to create the GlobeCache folder; the software does it for you when you create your first globe service. Whenever you create a globe service, you assign it a server cache directory, and its layer caches are automatically placed in the GlobeCache folder.

You can assign multiple globe services to the same server cache directory. All globe services assigned to the same server cache directory share the same GlobeCache folder.

In general, each layer in a globe service has a separate, unique cache under the GlobeCache directory. The only exceptions are consolidated group layers and Web-based layers (ArcIMS, WMS, ArcGIS map service layers, and so on) that share a single cache for child layers of the group.

The caches for all the layers in a globe service must reside in the same server cache directory. Different globe services can use different server cache directories; however, if disk space permits, having a unified cache location for all globe services is the recommended workflow.

Folder structure in the server cache directory

You can open the server cache directory in Windows Explorer to examine the cache tiles. The globe tile images can only be viewed by ArcGlobe or ArcGIS Explorer, but in Windows Explorer, you can still see the tile names and sizes and where the files reside on disk.

The caches in the GlobeCache folder are organized into a directory hierarchy. The top-level directory is named for the globe layer. In this directory, you'll find subdirectories for each of the six faces of the globe along with a layer file connected to the cache. Next, you'll see folders for each of the levels at which the globe is cached, followed by folders representing the rows of the level. Within these row folders reside the actual tiles.


11/18/2013