Available with Spatial Analyst license.

The Spatial Analyst extension provides a rich suite of raster functions in ArcGIS Pro.

## Raster functions

Raster functions that require a Spatial Analyst extension license are organized into related groupings in the following categories: Analysis, Classification, Data Management, Distance, Distance (Legacy), Hydrology, Math, Math: Conditional, Math: Logical, Math: Trigonometrical, Surface, and Statistical. Each function is linked within the table to a detailed description.

### Analysis functions

Use these functions to perform density analysis or to combine several rasters into a single output.

Function name | Description |
---|---|

Kernel Density | Calculates a magnitude-per-unit area from point or polyline features, using a kernel function to fit a smoothly tapered surface to each point or polyline. |

Process Raster Collection | Processes each slice in a multidimensional raster layer or each item in a mosaic layer. |

Weighted Overlay | Overlays several rasters using a common measurement scale and weights each according to its importance. |

Weighted Sum | Weights and adds an array of rasters on a cell-by-cell basis. |

### Classification functions

Use these functions to prepare segmented rasters or pixel-based raster datasets to use in creating classified raster datasets.

Function name | Description |
---|---|

Classify | Applies the appropriate classifier and associated training data specified in the .ecd training file to a raster dataset or segmented raster. |

Linear Spectral Unmixing | Performs subpixel classification and calculates the fractional abundance of different land-cover types for individual pixels. |

Maximum Likelihood Classify | Performs a maximum likelihood classification on a raster dataset or mosaic dataset. |

Segment Mean Shift | Groups pixels that are adjacent and have similar spectral characteristics into segments. This can be used as a second raster in the Classify function. |

### Data Management functions

Use these to either clean up small erroneous data in the raster or generalize the data to get rid of unnecessary detail for a more general analysis.

Function name | Description |
---|---|

Aggregate | Generates a reduced-resolution version of a raster. |

Boundary Clean | Smooths the boundary between zones. |

Expand | Expands specified zones of a raster by zones by a specified number of cells. |

Nibble | Replaces selected cells of a raster with the value of their nearest neighbor. This is useful for editing areas of a raster in which the data may be erroneous. |

Region Group | Records, for each cell in the output, the identity of the connected region to which that cell belongs. A unique number is assigned to each region. |

Shrink | Shrinks specified zones of a raster by a specified number of cells. |

### Distance functions

These functions allow you to perform analysis that accounts for either straight-line (Euclidean) or weighted distance. Distance can be weighted by a simple cost (friction) surface, or in ways that account for vertical and horizontal restrictions to movement.

Function name | Description |
---|---|

Distance Accumulation | Calculates accumulated distance for each cell to sources, allowing for straight-line distance, cost distance, and true surface distance, as well as vertical and horizontal cost factors. |

Distance Allocation | Calculates distance allocation for each cell to the provided sources based on straight-line distance, cost distance, and true surface distance, as well as vertical and horizontal cost factors. |

Least Cost Corridor | Calculates the sum of two accumulative cost distance rasters with the option to apply a threshold based on percentage or accumulative cost. |

Optimal Path As Raster | Calculates the optimal path from destinations to sources. |

### Distance (Legacy) functions

These functions allow you to access the distance analysis raster functions available in previous releases of ArcGIS. These functions perform analysis that accounts for either straight-line (Euclidean) or weighted distance. Distance can be weighted by a simple cost (friction) surface, or in ways that account for vertical and horizontal restrictions to movement. The Legacy Distance functions utilize the original method of computing distance from earlier releases. To take advantage of the more accurate distance calculations now available, use the distance functions outside of the Legacy function category.

Function name | Description |
---|---|

Corridor | Calculates the sum of accumulative costs for two input accumulative cost rasters. The Least Cost Corridor function provides enhanced functionality or performance. |

Cost Allocation | Calculates, for each cell, its least-cost source based on the least accumulative cost over a cost surface. The Distance Allocation function provides enhanced functionality or performance. |

Cost Back Link | Defines the neighbor that is the next cell on the least-accumulative cost path to the least-cost source. The Distance Accumulation function provides enhanced functionality or performance. |

Cost Distance | Calculates the least-accumulative cost distance for each cell from or to the least-cost source over a cost surface. The Distance Accumulation function provides enhanced functionality or performance. |

Cost Path | Calculates the least-cost path from a source to a destination. The Optimal Path As Raster function provides enhanced functionality or performance. |

Euclidean Allocation | Calculates, for each cell, the nearest source based on Euclidean distance. The Distance Allocation function provides enhanced functionality or performance. |

Euclidean Back Direction | Calculates, for each cell, the direction, in degrees, to the neighboring cell along the shortest path back to the closest source while avoiding barriers. The Distance Accumulation function provides enhanced functionality or performance. |

Euclidean Direction | Calculates, for each cell, the direction, in degrees, to the nearest source. The Distance Accumulation function provides enhanced functionality or performance. |

Euclidean Distance | Calculates, for each cell, the Euclidean distance to the closest source. The Distance Accumulation function provides enhanced functionality or performance. |

Least Cost Path | Calculates the least-cost path from a source to a destination. The least accumulative cost distance is calculated for each cell over a cost surface to the nearest source. This produces an output raster that records the least-cost path, or paths, from selected locations to the closest source cells defined within the accumulative cost surface, in terms of cost distance. The Distance Accumulation and Optimal Path As Raster functions provide enhanced functionality or performance. |

Path Distance | Calculates, for each cell, the least accumulative cost distance from or to the least-cost source, while accounting for surface distance along with horizontal and vertical cost factors. The Distance Accumulation function provides enhanced functionality or performance. |

Path Distance Allocation | Calculates the least-cost source for each cell based on the least accumulative cost over a cost surface, while accounting for surface distance along with horizontal and vertical cost factors. The Distance Allocation function provides enhanced functionality or performance. |

Path Distance Back Link | Defines the neighbor that is the next cell on the least accumulative cost path to the least-cost source, while accounting for surface distance along with horizontal and vertical cost factors. The Distance Accumulation function provides enhanced functionality or performance. |

### Hydrology functions

These functions are used to model the flow of water across a surface. These functions can be applied individually or used in sequence to create a stream network or delineate watersheds.

Function name | Description |
---|---|

Fill | Fills sinks and peaks in an elevation surface raster to remove small imperfections in the data. |

Flow Accumulation | Creates a raster layer of accumulated flow into each cell. A weight factor can optionally be applied. |

Flow Direction | Creates a raster layer of flow direction from each cell to its steepest downslope neighbor. |

Flow Distance | Computes the minimum downslope horizontal or vertical distance to cell(s) on a stream or river into which they flow. |

Flow Length | Creates a raster layer of upstream or downstream distance, or weighted distance, along the flow path for each cell. |

Sink | Creates a raster layer identifying all sinks or areas of internal drainage. |

Snap Pour Point | Snaps pour points to the cell of highest flow accumulation within a specified distance. |

Stream Link | Assigns unique values to sections of a raster linear network between intersections. |

Stream Order | Creates a raster layer that assigns a numeric order to segments of a raster representing branches of a linear network. |

Watershed | Determines the contributing area above a set of cells in a raster. |

### Math functions

The general math functions apply a mathematical function to the input raster(s). These tools fall into several categories. The arithmetic tools perform basic mathematical operations, such as addition and multiplication. There are tools that perform various types of exponentiation operations, which include exponentials and logarithms, in addition to the basic power operations. The remaining functions are used either for sign conversion or for conversion between integer and floating point data types.

Function name | Description |
---|---|

Abs | Calculates the absolute value of the pixels in a raster. |

Arithmetic | Uses the pixel values to calculate mathematical operations on overlapping rasters. |

Band Arithmetic | Calculates indexes using the predefined formulas or user-defined expressions. |

Calculator | Computes a raster from a mathematical expression based on the raster bands. |

Divide | Divides the values of two rasters on a pixel-by-pixel basis. |

Exp | Calculates the base e exponential of the pixels in a raster. |

Exp10 | Calculates the base 10 exponential of the pixels in a raster. |

Exp2 | Calculates the base 2 exponential of the pixels in a raster. |

Float | Converts each pixel value of a raster into a floating-point representation. |

Int | Converts each pixel value of a raster to an integer by truncation. |

Ln | Calculates the natural logarithm (base e) of each pixel in a raster. |

Log10 | Calculates the base 10 logarithm of each pixel in a raster. |

Log2 | Calculates the base 2 logarithm of each pixel in a raster. |

Minus | Subtracts the value of the second input raster from the value of the first input raster on a pixel-by-pixel basis. |

Mod | Finds the remainder (modulo) of the first raster when divided by the second raster on a pixel-by-pixel basis. |

Negate | Changes the sign (multiplies by -1) of the pixel values of the input raster on a pixel-by-pixel basis. |

Plus | Adds (sums) the values of two rasters on a pixel-by-pixel basis. |

Power | Raises the pixel values in a raster to the power of the values found in another raster. |

Round Down | Returns the next lower integer, as a floating-point value, for each pixel in a raster. |

Round Up | Returns the next higher integer, as a floating-point value, for each pixel in a raster. |

Square | Calculates the square of the pixel values in a raster. |

Square Root | Calculates the square root of the pixel values in a raster. |

Times | Multiplies the values of two rasters on a pixel-by-pixel basis. |

### Math: Conditional

These functions allow you to control the output values based on the conditions placed on the input values.

Function name | Description |
---|---|

Con | Performs a conditional if/else evaluation on each of the input cells of an input raster. |

Set Null | Sets identified pixel locations to NoData based on the specified criteria. Returns NoData if a conditional evaluation is true, and returns the value specified by another raster if it is false. |

### Math: Logical

These functions evaluate the values of the inputs and determine the output values based on Boolean logic. These functions process raster datasets in three main areas: Bitwise, Boolean, and Relational.

Function name | Description |
---|---|

Bitwise And | Performs a Bitwise And operation on the binary values of two input rasters. |

Bitwise Left Shift | Performs a Bitwise Left Shift operation on the binary values of two input rasters. |

Bitwise Not | Performs a Bitwise Not (complement) operation on the binary value of an input raster. |

Bitwise Or | Performs a Bitwise Or operation on the binary values of two input rasters. |

Bitwise Right Shift | Performs a Bitwise Right Shift operation on the binary values of two input rasters. |

Bitwise Xor | Performs a Bitwise eXclusive Or operation on the binary values of two input rasters. |

Boolean And | Performs a Boolean And operation on the pixel values of two input rasters. If both input values are true (nonzero), the output value is 1. If one or both input values are false (zero), the output value is 0. |

Boolean Not | Performs a Boolean Not (complement) operation on the pixel values of the input raster. If the input values are true (nonzero), the output value is 0. If the input values are false (zero), the output value is 1. |

Boolean Or | Performs a Boolean Or operation on the cell values of two input rasters. If one or both input values are true (nonzero), the output value is 1. If both input values are false (zero), the output value is 0. |

Boolean Xor | Performs a Boolean eXclusive Or operation on the cell values of two input rasters. If one input value is true (nonzero) and the other value is false (zero), the output value is 1. If both input values are true or both are false, the output value is 0. |

Equal To | Performs an equal-to operation on two rasters on a pixel-by-pixel basis. |

Greater Than | Performs a Relational greater-than operation on two inputs on a pixel-by-pixel basis. Returns a value of 1 for pixels where the first raster is greater than the second raster and a value of 0 for pixels where the first raster is not greater than the second raster. |

Greater Than Equal | Performs a Relational greater-than-or-equal-to operation on two inputs on a pixel-by-pixel basis. Returns a value of 1 for pixels where the first raster is greater than or equal to the second raster and a value of 0 for pixels where the first raster is not greater than or equal to the second raster. |

Is Null | Determines which values from the input raster are NoData on a pixel-by-pixel basis. Returns a value of 1 if the input value is NoData and a value of 0 for pixels that are not NoData. |

Less Than | Performs a Relational less-than operation on two inputs on a pixel-by-pixel basis. Returns a value of 1 for pixels where the first raster is less than the second raster. |

Less Than Equal | Performs a Relational less-than-or-equal-to operation on two inputs on a pixel-by-pixel basis. Returns a value of 1 for pixels where the first raster is less than or equal to the second raster and a value of 0 where it is not less than or equal to the second raster. |

Not Equal | Performs a Relational not-equal-to operation on two inputs on a pixel-by-pixel basis. Returns a value of 1 for pixels where the first raster is not equal to the second raster and a value of 0 for pixels where it is equal to the second raster. |

### Math: Trigonometric

Use these functions perform various trigonometric calculations on the values in an input raster.

Function name | Description |
---|---|

ACos | Calculates the inverse cosine of the pixels in a raster. |

ACosH | Calculates the inverse hyperbolic cosine of the pixels in a raster. |

ASin | Calculates the inverse sine of the pixels in a raster. |

ASinH | Calculates the inverse hyperbolic sine of the pixels in a raster. |

ATan | Calculates the inverse tangent of the pixels in a raster. |

ATan2 | Calculates the inverse tangent (based on x,y) of the pixels in a raster. |

ATanH | Calculates the inverse hyperbolic tangent of the pixels in a raster. |

Cos | Calculates the cosine of the pixels in a raster. |

CosH | Calculates the hyperbolic cosine of the pixels in a raster. |

Sin | Calculates the sine of the pixels in a raster. |

SinH | Calculates the hyperbolic sine of the pixels in a raster. |

Tan | Calculates the tangent of the pixels in a raster. |

TanH | Calculates the hyperbolic tangent of the pixels in a raster. |

### Surface

Use these functions to derive terrain characteristics or visibility from a digital elevation model.

Function name | Description |
---|---|

Surface Parameters | Determines parameters of a raster surface such as aspect, slope, and curvature using geodesic methods. |

Viewshed | Determines the raster surface locations visible to a set of observer features using geodesic methods. |

### Statistical

Use these functions to perform statistical raster operations on a local, neighborhood, or zonal basis.

Function name | Description |
---|---|

Cell Statistics | Calculates statistics from multiple rasters on a pixel-by-pixel basis. |

Dimensional Moving Statistics | Calculates statistics over a moving window on multidimensional data along a specified dimension. |

Focal Statistics | Calculates statistics on the cells within a neighborhood around each cell of an input raster. Several shapes of neighborhood are available. |

Zonal Statistics | Summarizes the values of a raster within the zones of another dataset. |