How globe caches work |
|
Release 9.3.1 |
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.
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 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 9.3, 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 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.
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 been already cached.
At ArcGIS Server 9.3, all data types are supported for on-demand caching except for raster data as elevation.
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 Creating a server directory 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.
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.
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.