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 Desktop) can read 2D globe caches so its not always necessary to replicate a globe cache if you have an existing map cache.

Globe caches are required for elevation layers since it is not supported with on-demand generation. It is recommended that all layers have their caches generated to improve overall performance.

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 by using ArcGlobe. Generating a full data cache, if practical, is the recommended way to deploy your globe service.

NoteNote:

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

Server cache directories

The server cache directory is the folder on disk in which your cache tiles are stored. When you create an ArcGIS Server site, a server cache directory is created for you in a location you specify for your server directories. One server cache directory can hold multiple caches; however, if you want, you can add more than one server cache directory to your server. As a result, on the Caching tab of the Service Editor, you can choose which server cache directory will be used to store your cache.

If you add another GIS server machine to your site, you need to enable file sharing on the server cache directory so it can be seen by all participating machines. This process is the same whether you are working in ArcGlobe or ArcMap. For further reading, see About server directories and Configuring a multiple-machine deployment. Be sure to give the ArcGIS Server account write access to the server cache directory so that the server can successfully place the tiles in the directory. You can optionally remove write access when you finish creating your caches.

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 (WMS, 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 to examine the cache tiles. The globe tile images can only be viewed by ArcGlobe or ArcGIS Explorer Desktop, but 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.

Do you need to build a globe cache if you already have a 2D map cache?

For faster 2D and 3D consumption in ArcGIS globe clients, you'll get the best performance if you build 2D map caches using 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. If you cannot use one of these tiling schemes, your best performance will come from using the globe services cache.

TipTip:

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.

A scenario where you may want to add a map service to ArcGlobe is when you've created a 2D map cache and want to create an identical 3D globe cache from it. In this scenario, you would only be concerned with generating the cache and not navigating the globe.

9/1/2015