3D analysis
ArcGIS supports three-dimensional (3D) analysis on features and surfaces. Features are distinct objects such as mountain peaks, trails, reservoirs, and buildings that are represented using point, line, polygon, and multipatch geometries that are positioned in 3D space using x,y,z coordinates.
Surfaces are used to represent continuous variables such as topography, bathymetry, and pollution concentration. Surfaces are modeled using rasters, terrain datasets, and triangulated irregular networks (TINs). 3D analysis can answer many of the same types of questions asked of a traditional geographic information system (GIS). The only difference is the calculations are performed in 3D space rather than two-dimension (2D). For example, see the following:
- What geologic strata does this well intersect?
- What is the 3D length of a mountain trail?
- What is the average slope of the topography for a given land parcel?
3D capabilities are spread throughout ArcGIS. The geodatabase can store 3D features and surfaces. Analytic operators are exposed through geoprocessing tools and ArcObjects. Some of these are licensed to the core product, others require extension licenses such as 3D Analyst and Spatial Analyst.
3D analysis using geoprocessing
When you need to perform 3D analysis, consider whether the task can be accomplished with a geoprocessing tool before trying to do it with ArcObjects. This is because geoprocessing tools are easier to use and made to handle large datasets. It can be harder for you to do the same thing using ArcObjects.
Most core tools perform analysis in 2D but have options for whether to preserve z coordinates in their output if the inputs contain z coordinates. The core Select By Location tool has an option to determine if 3D features intersect one another.
- 3D Analyst has a large collection of tools that input, analyze, and produce 3D features as well as raster, terrain, and TIN surfaces.
- Spatial Analyst has a large collection of tools for producing and analyzing raster surfaces.
3D analysis using ArcObjects
If the type of analysis you need is not already packaged as a geoprocessing tool, then ArcObjects is the likely solution. There are various 3D specific interfaces implemented by different geometry types. The following are the most relevant of these:
- IZ
- IZAware
- IArea3D
- ICurve3D
- IEnvelope3D
- ITransform3D
- IVector3D
- IProximityOperator3D
- IRelationalOperator3D
- IPolycurve3D
The 3D Analyst extension provides surface analysis functionality via the Terrain Dataset, TIN, and RasterSurface classes.
One area of functionality for which there are geoprocessing tools and no related ArcObjects are the 3D Analyst solid operator tools that work on closed multipatches. These include the following, which are located on the 3D Features toolset in 3D Analyst:
- Inside 3D
- Intersect 3D
- Is Closed 3D
- Union 3D