Library Reference  

SpatialAnalyst Library Overview


Supported with: ArcGIS Engine with Spatial Extension, ArcGIS Desktop with Spatial Analyst, ArcGIS Server with Spatial Extension

Library dependencies: System, SystemUI, Geometry, Display, Server, Output, GeoDatabase, GISClient, DataSourcesFile, DataSourcesGDB, DataSourcesOleDB, DataSourcesRaster, GeoDatabaseDistributed, Carto, NetworkAnalyst, Location, NetworkAnalysis, Controls, GeoAnalyst, 3DAnalyst, GlobeCore


The ArcObjects components for the ArcGIS Spatial Analyst extension provide an easy to customize environment with a rich set of developer tools allowing model development. Objects in the SpatialAnalyst library work closely with the Raster Data Objects (RDO). The RDO model is used to access, analyze, manage, convert, and visualize raster data. RDO provides some features that compliment the SpatialAnalyst object model such as unified data access and interaction independent format, a high level nonproprietary language, and an environment that is easy to extend, upgrade, and customize.

Developers most commonly consume the objects within this library and do not extend it.

For technical information, see the article 'Working with ArcGIS Spatial Analyst objects' in the Working with Rasters section.

Running concurrent Spatial operations

SpatialAnalyst and GeoAnalyst objects are not thread safe at 9.0. Running concurrent spatial operations using the same workspace may crash the application. The workaround is to use separate output workspaces for each process or application. However, the SpatialAnalyst and GeoAnalyst objects are threadsafe at 9.2

RasterConditionalOp

This object includes methods that can be used to perform conditional operations on rasters.


RasterDensityOp

The magnitude at each sample location (line or point) is distributed throughout a landscape and a density value is calculated for each cell in the output raster.


RasterExtractionOp

The methods in this object are used to extract data from a raster based on shapes, attributes, and other spatial data.


RasterGeneralizeOp

These methods either generalize on zones or smooth zone edges of a raster.


RasterDistanceOp

The Euclidean distance functions measure the straight-line distance from each cell to the closest source. The Cost Distance function (or cost weighted distance) modifies Euclidean distance by equating distance as a cost factor, which is the cost to travel through any given cell.


RasterGroundwaterOp

This object includes methods to perform the following: Darcy Flow (Darcy Flow and Darcy Velocity), Particle Track, and Gaussian dispersion (Porous Puff). These methods can be used to perform rudimentary advection-dispersion modeling of constituents in groundwater.


RasterHydrologyOp

These methods assist in modeling the flow of water and answering questions such as, where did the water came from and where is it going? These hydrologic analysis functions help model the movement of water across a surface and aid in building your understanding of key concepts and terms related to drainage systems and surface processes. In addition, these tools can be used to extract hydrologic information from a DEM.


RasterLocalOp

In these methods, the value at each location (cell) on the output raster is the result of a function of the input values at the location. One of the methods, for example, evaluates the number of times a set of rasters are greater than another raster, on a cell-by-cell basis.


RasterMultivariateOp

These methods allow for the exploration of relationships between many different types of attributes. There are two main types of multivariate analysis available: 1) supervised and unsupervised classification, and 2) principal component analysis (PCA).


RasterNeighborhoodOp

The neighborhood functions create output values for each cell location based on the value for the location and the values identified in a specified neighborhood. The neighborhood can be either moving or a search radius.


RasterZonalOp

Zonal functions take a value raster as input and calculate for each cell some function or statistic using the value for each cell and all cells belonging to the same zone. The zonal functions are grouped by how the zones are specified, by a single input value raster or by a second zone raster.


RasterMapAlgebraOp

Map Algebra is the analysis language for ArcGIS Spatial Analyst. It has a simple syntax that is similar to any algebra. An output raster dataset will result from some manipulation of the input. The input can be as simple as a single raster dataset, raster layer, feature dataset, feature layer, or shapefile, and the manipulation can be calculating the sine of each of the location's values, or there can be a series of input raster datasets or layers that the manipulation is applied to, such as when adding three raster datasets or raster layers together.


RasterMathOp

These methods provide access to a full suite of mathematical operators and functions. These operators and functions enable the values in multiple rasters to be combined arithmetically--addition, subtraction, multiplication, and division for example. In addition, the mathematical manipulation of the values in a single input raster (sine, exponent, power, etcetera), the evaluation of multiple input rasters (Boolean And, Greater Than, combinations, etcetera), and the evaluation and manipulation of the values in the binary format (Bitwise And and Bitwise Left Shift, for example) are also supported by these methods.


PathDistanceHorizontalFactor

Defines the relationship between the horizontal cost factor and the horizontal relative moving angle (HRMA). There are several factors to select from, with modifiers, that identify a defined horizontal factor graph. Additionally, a table can be used to create a custom graph. The graphs are used to identify the horizontal factor that will be used in calculating the total cost for moving into a neighboring cell.


PathDistanceVerticalFactor

Defines the relationship between the vertical cost factor and the vertical relative moving angle (VRMA). There are several factors to select from, with modifiers, that identify a defined vertical factor graph. Additionally, a table can be used to create a custom graph. The graphs are used to identify the vertical factor that will be used in calculating the total cost for moving into a neighboring cell.