- Engine with 3D Analyst
- ArcGIS for Desktop Basic with 3D Analyst
- ArcGIS for Desktop Standard with 3D Analyst
- ArcGIS for Desktop Advanced with 3D Analyst
- Server with 3D Analyst
Additional library information: Contents, Object Model Diagram
The GlobeCore library is the major library for working with the ArcGlobe application in ArcGIS 3D Analyst for three-dimensional (3D) visualization of multiresolution global data. The GlobeCore library contains objects for working with two-dimensional (2D) and 3D data displayed on the surface of a globe, similar to the Carto library containing objects for working with 2D maps.
See the following sections for more information about this namespace:
- Globe
- GlobeDisplay
- GlobeViewer
- GlobeLayerProperties
- GlobeCamera
- GlobeServer
- GlobeServerLayer
- GlobeLayerInfo
- GlobeServerIdentifyResult, GlobeServerIdentifyResults, GlobeServerFindResult, and GlobeServerFindResults
- GlobeHeightProperties
- GlobeAdvancedOptions
- GlobeLegendInfo and GlobeLegendInfos
- GlobeLayer
Globe
The Globe object is one of the main objects of the GlobeCore library. It's the container for data layers, similar to the Map object. The GlobeDisplay object, analogous to the SceneGraph coclass of the 3DAnalyst library, is a container for data caching and for events that occur in the globe. These events include those that occur when there is a change in the active view to those that trigger a notify data caching state. The GlobeDisplay object has a central role in that it also manages, specifies, and controls different optimization schemes of the application.
The GlobeCore library is also host to the GlobeCamera object that specifies the perspective of a 3D globe display rendering to define the positioning of the globe relative to the observer. In ArcGlobe, the 3D display window is represented by the GlobeViewer object. It is similar in its function and properties to the SceneViewer object in the 3DAnalyst library.
The GlobeLayerProperties class is one of the more important globe-specific layer extension classes that specifies, among other things, layer drawing priority on the surface of the globe. It also controls cache data removal behavior, cache data compression options and quality, image resampling modes, feature level of detail, and feature data drawing mode (raster versus vector), as well as suggests symbology scaling factor, estimates visibility distance thresholds, and determines data caching mode (on-demand versus full data cache). The GlobeHeightProperties class provides access to members that manipulate the height properties of a globe layer including those specific to feature layers (as vectors) such as extrusion, Z factor applied to elevation layers, and offset that can be applied to any layer. The GlobeAdvancedOptions object is the class that allows you to set advanced globe properties such as whether to use disk cache, control near and far clipping planes, control application level of detail that is applied at draw time only, the target frame rate for automatic control of display level of detail, and various attributes stored in the registry.
In addition, as with the Scene object, the Globe coclass contains AnimationTrack objects to make real time animation or video output by manipulating globe display and layer properties. There can be zero or more AnimationTrack objects in the Globe, which further contain one or more GlobeKeyframe objects. The AnimationTrack contains an AnimationType object. Through these objects, you can control the behavior and type of animations.
The Globe coclass is detailed in the following diagram:
GlobeControl and a set of globe commands exist in the Controls library, together with ToolbarControl, TOCControl, and helper objects for creating custom commands.
Globe functionality
There are similarities between the Scene and Globe coclasses. The Globe object has properties that operate on all layers within the globe - spatial reference, scale, and so on - along with methods that manipulate the globe's layers. One major difference between the Globe object and Scene (and Map) object is that as a prerequisite, any layer to be used in the application must have a spatial reference defined to it.
There are many types of layers that can be added to the globe. Different data sources often have an associated layer responsible for displaying the data on the globe; vector features are handled by the FeatureLayer object, raster data (both image and surface data) by the RasterLayer, and so on. Layers can, if required, handle all the drawing operations for their associated data, but it is more common for layers to have an associated renderer object. The properties of the renderer object control how the data is displayed in the globe. Renderers commonly use symbols from the Display library for the actual drawing, the renderer simply matches a particular symbol with the properties of the entity that is to be drawn.
Similar to the Carto library, the GlobeCore library also contains support for annotation and globe tips. The Globe coclass is a container for display and manipulation of data on the surface of the globe. The Globe object contains one major interface, IGlobe, along with many other important inherited interfaces required for manipulation and access of data, such as IBasicMap, IBasicScene, IScene, ISceneBookmarks, and IAnimationTracks.
The IGlobe interface gives you access to basic globe properties and methods, such as GlobeLayers, and to properties and methods of the globe itself. Use this interface to add layer types (AddLayerType) according to their category - floating, draped, or elevation (esriGlobeLayerType); access globe background options (DefaultGlobeBackgroundOption), including sky and space colors (GetDefaultHighBackgroundColor, GetDefaultLowBackgroundColor, SetDefaultHighBackgroundColor, and SetDefaultLowBackgroundColor); show fading transition values (GetDefaultBackgTransitionDistances and SetDefaultBackgTransitionDistances); show globe tips (ShowGlobeTips); and designate the linear units used in the globe (GlobeUnits).
GlobeDisplay
GlobeDisplay is a central object in ArcGlobe. It provides access to basic properties of the globe and layers to more advanced aspects of the application, including management of viewers, rendering, and data caching. The GlobeDisplay coclass has four major interfaces: IGlobeDisplay, IGlobeDisplayRendering, IGlobeDisplayLayers, and an inherited interface, IViewers3D.
Data tiling
ArcGlobe is an application that has highly optimized data tiling, level of detail management, and data caching architecture. Managed by the GlobeDisplay object and common to all datasets, there is a division of data in quadrilateral areas of the globe called tiles. At the lowest level, the entire globe is divided into six major areas called face tiles. These consist of four near the equator and two at the poles as shown in the following illustration:
Part of the application's notion of level of detail stems from the fact that these tiles are recursively subdivisible. At any particular level of detail, the area covered by any tile is equal to four levels at the next level to a maximum resolution of the data set. Each of the six major faces is then divided into multiple tiles at different levels of detail. This data organization is called data tiling. The ArcGlobe data tiling scheme is shown in the following illustration.
Data caching
The GlobeDisplay object has a central role in managing and controlling tile generation and in the subsequent storing of data tiles for future use, called data caching. Data tiles are always stored in a memory cache and, optionally, in a disk cache. The main advantage of data caching is the improvement of visualization performance, as well as the reduction of repetitive data requests from data sources. The tile generator, IGlobeDisplayLayers.GenerateTiles, is used to preprocess data both in off-line mode, called full caching, and in an interactive on-demand mode, called on demand data caching.
Each data tile will be stored into memory and optionally onto disk for future use. Using data caching improves visualization performance. The ArcGlobe data caching structure is shown in the following diagram:
General globe properties
General globe properties are accessed via the IGlobeDisplayRendering interface. Commonly used globe properties include vertical exaggeration, background color, and sun position. The IGlobeDisplayLayers interface provides access to globe-specific layer properties as well as general purpose functions. From GlobeDisplay, you gain access to one or more globe viewers being used by the application. These are the 3D display windows. You can change the perspective displayed in a globe viewer through its GlobeCamera. The GlobeDisplay can be acquired from an ArcGlobe document's Globe object via IGlobe.GlobeDisplay.
Most of the members from the IGlobeDisplayLayers interface are used for internal purposes. You should not use members from this interface; you should use methods and properties from IGlobeLayerProperties.
IViewers3D provides access to members that control the active viewer, indicates the 3D display navigation mode, controls redrawing into all viewers, as well us registers and unregisters additional viewers.