Skip To Content

Distance Allocation

Distance Allocation The Distance Allocation tool calculates distance allocation from each cell for sources.

Note:

To run this tool, the portal must be configured for raster analysis.

If you do not see this tool in Map Viewer, contact your portal administrator. Your portal may not be configured for raster analysis, or you may not have the privileges required to run the tool.

Workflow diagram

Distance Allocation workflow

Examples

Example applications include answering questions such as the following:

  • Identify the allocated areas that fieldworkers are responsible for covering.
  • Identify areas that are allocated to habitat patches for bobcats.

Usage notes

When the input source data is a raster, the set of source cells consists of all cells in the source raster that have valid values. Cells that have NoData values are not included in the source set. The value 0 is considered a legitimate source.

When the input source data is a feature, the source locations are converted internally to a raster before performing the analysis. The resolution of the raster can be controlled with the Cell Size environment. By default, if no other rasters are specified in the tool, the resolution will be determined by the shorter of the width or height of the extent of the input feature in the input spatial reference, divided by 250.

To avoid this situation, as an intermediate step, you could rasterize the input features directly with the Convert Feature to Raster tool and set the Field parameter. Then use the resulting output as input to the particular distance tool you want to use.

If there is NoData on any of these inputs: cost raster, surface raster, vertical raster, or horizontal raster, the cells at those locations across all inputs are ignored in the calculation. NoData on any of these rasters is persisted throughout the calculation and is therefore NoData on all outputs.

If a source falls on NoData in any of the corresponding input rasters, it is ignored in the analysis, and therefore no distance from that source will be calculated.

The cost raster cannot contain values of zero since the algorithm is a multiplicative process. If your cost raster does contain values of zero, and these values represent areas of lowest cost, change those cells to a small positive value (such as 0.01) before running this tool.

When no Extent environment setting is specified, the processing extent is determined in the following way:

If only the source and the barrier data are specified, the union of the inputs, expanded by two cell widths on each side, is used as the processing extent. The reason the output raster is expanded by two rows and columns is so that when the outputs are used in Optimal Path As Raster and Optimal Path As Line the generated paths can move around the barriers. To use the extent as an implicit barrier, you must explicitly set the Extent in the environment settings.

If any of the following raster datasets are specified: surface raster, cost raster, vertical raster, or horizontal raster, the processing extent is the intersection of these rasters.

When the Cell Size or Snap Raster environment settings are not specified, and there are multiple rasters specified as inputs, Cell Size and Snap Raster are set based on an order of precedence: cost raster, surface raster, vertical raster, horizontal raster, source data, and barrier data.

The output of the Derive Aspect tool can be used as input for the Input horizontal raster setting.

If any of the source characteristics parameters are specified using a field, the source characteristic will be applied on a source-by-source basis, according to the information in the given field for the source data. When a keyword or a constant value is given, it will be applied to all sources.

The characteristics of the source, or the movers from or to a source, can be controlled by specific parameters.

  • Initial accumulation sets the initial cost before the movement begins.
  • Maximum accumulation specifies how much cost a source can accumulate before reaching its limit.
  • Multiplier to apply to costs specifies the mode of travel or magnitude at the source.
  • Travel direction identifies whether the mover is starting at a source and moving to nonsource locations or starting at nonsource locations and moving back to a source.

If Initial accumulation is specified, the source locations on the output cost distance surface will be set to the Initial accumulation value; otherwise, the source locations on the output cost distance surface will be set to zero.

The parameters for this tool are listed in the following table:

ParameterExplanation
Choose source raster or features

A raster or feature layer that identifies the sources to which the distance will be calculated.

If the input is a raster, it must consist of cells that have valid values (zero is a valid value) for the sources, and the remaining cells must be assigned NoData.

If the input is a feature layer, it can be point, line, or polygon.

Source field (optional)

The field used to assign values to the source locations. It must be of type integer.

Choose barrier raster or feature (optional)

The dataset that defines the barriers.

For a raster, the input type can be integer or float. Any cells that have a value (including zero) will be treated as a barrier. Any cells that are NoData will not be treated as a barrier.

For a feature, the input can be point, line, or polygon.

Choose surface raster (optional)

Specifies whether to calculate the distance using a planar (flat earth) or a geodesic (ellipsoid) method.

The values are used to calculate the actual surface distance covered when passing between cells.

Choose cost raster (optional)

A raster defining the impedance, or cost, to move planimetrically through each cell.

The value at each cell location represents the cost-per-unit distance for moving through the cell. Each cell location value is multiplied by the cell resolution while also compensating for diagonal movement to obtain the total cost of passing through the cell.

The values of the cost raster can be integer or floating point, but they cannot be negative or zero (you cannot have a negative or zero cost).

Choose vertical raster (optional)

A raster defining the z-values for each cell location.

The values are used for calculating the slope used to identify the vertical factor incurred when moving from one cell to another.

Vertical factor (optional)

The Vertical factor defines the relationship between the vertical cost factor (VF) and the vertical relative moving angle (VRMA).

This option is only available if Choose vertical raster (optional) is specified.

There are several factors with modifiers from which to select that identify a defined vertical factor graph. The graphs are used to identify the vertical factor used in calculating the total cost for moving into a neighboring cell.

In the descriptions below, the VF defines the vertical difficulty encountered in moving from one cell to the next, and the VRMA modifier identifies the slope angle between the From source cell and the To source cell.

  • Binary—If the VRMA is greater than the low-cut angle and less than the high-cut angle, the VF is set to the value associated with the zero factor; otherwise, it is infinity.
  • Linear—The VF is a linear function of the VRMA.
  • Inverse linear—The VF is an inverse linear function of the VRMA.
  • Symmetric linear—The VF is a linear function of the VRMA in either the negative or positive side of the VRMA, and the two linear functions are symmetrical with respect to the VF (y) axis.
  • Symmetric inverse linear—The VF is an inverse linear function of the VRMA in either the negative or positive side of the VRMA, and the two linear functions are symmetrical with respect to the VF (y) axis.
  • Cos—The VF is the cosine-based function of the VRMA.
  • Sec—The VF is the secant-based function of the VRMA.
  • Cos-Sec—The VF is the cosine-based function of the VRMA when the VRMA is negative and is the secant-based function of the VRMA when the VRMA is nonnegative.
  • Sec-Cos—The VF is the secant-based function of the VRMA when the VRMA is negative and is the cosine-based function of the VRMA when the VRMA is nonnegative.

The modifiers to the vertical parameters are as follows:

  • Zero factor—The vertical factor used when the VRMA is zero. This factor positions the y-intercept of the specified function. By definition, the zero factor is not applicable to any of the trigonometric vertical functions (Cos, Sec, Cos-Sec, or Sec-Cos). The y-intercept is defined by these functions.
  • Low cut angle—The VRMA angle below which the VF will be set to infinity.
  • High cut angle—The VRMA angle above which the VF will be set to infinity.
  • Slope—The slope of the straight line used with the Linear and Inverse linear parameters. The slope is specified as a fraction of rise over run (for example, 45 percent slope is 1/45, which is input as 0.02222).

Choose horizontal raster (optional)

A raster defining the horizontal direction at each cell.

The values on the raster must be integers ranging from 0 to 360, with 0 degrees being north, or toward the top of the screen, and increasing clockwise. Flat areas should be given a value of -1. The values at each location will be used in conjunction with the Horizontal factor to determine the horizontal cost incurred when moving from a cell to its neighbors.

Horizontal factor (optional)

The Horizontal factor defines the relationship between the horizontal cost factor and the horizontal relative moving angle.

This option is only available if Choose horizontal raster (optional) is specified.

There are several factors with modifiers from which to select that identify a defined horizontal factor graph. The graphs are used to identify the horizontal factor used in calculating the total cost of moving into a neighboring cell.

In the descriptions below, horizontal factor (HF) defines the horizontal difficulty encountered when moving from one cell to the next, and horizontal relative moving angle (HRMA) identifies the angle between the horizontal direction from a cell and the moving direction.

The definitions and parameters of these HF are as follows:

  • Binary—If the HRMA is less than the cut angle, the HF is set to the value associated with the zero factor; otherwise, it is infinity.
  • Forward—Only forward movement is allowed. The HRMA must be greater than or equal to 0 and less than 90 (0 <= HRMA < 90). If the HRMA is greater than 0 and less than 45 degrees, the HF for the cell is set to the value associated with the zero factor. If the HRMA is greater than or equal to 45 degrees, the side value modifier value is used. The HF for any HRMA equal to or greater than 90 degrees is set to infinity.
  • Linear—The HF is a linear function of the HRMA.
  • Inverse linear—The HF is an inverse linear function of the HRMA.

The modifiers to the horizontal keywords are as follows:

  • Zero factor—The horizontal factor used when the HRMA is 0. This factor positions the y-intercept for any of the horizontal factor functions.
  • Cut angle—The HRMA angle beyond which the HF will be set to infinity.
  • Slope—The slope of the straight line used with the Linear and Inverse linear horizontal factor keywords. The slope is specified as a fraction of rise over run (for example, 45 percent slope is 1/45, which is input as 0.02222).
  • Side Value—The HF when the HRMA is greater than or equal to 45 degrees and less than 90 degrees when the Forward horizontal factor keyword is specified.

Initial accumulation (optional)

The initial accumulative cost to begin the cost calculation.

This allows for the specification of the fixed cost associated with a source. Instead of starting at a cost of zero, the cost algorithm will begin with the value set by Initial accumulation.

The values must be zero or greater. The default is 0.

Maximum accumulation (optional)

The maximum accumulation for the traveler for a source.

The cost calculations continue for each source until the specified accumulation is reached.

The values must be greater than zero. The default accumulation is to the edge of the output raster.

Cost multiplier (optional)

The multiplier to apply to the cost values.

This allows for control of the mode of travel or the magnitude at a source. The greater the multiplier, the greater the cost to move through each cell.

The values must be greater than zero. The default is 1.

Travel direction (optional)

Specifies the direction of the traveler when applying horizontal and vertical factors.

From source—The horizontal factor and vertical factor will be applied beginning at the input source and travel out to the nonsource cells. This is the default.

To source—The horizontal factor and vertical factor will be applied beginning at each nonsource cell and travel back to the input source.

Specify the From source or To source keyword, which will be applied to all sources, or specify a field in the source data that contains the keywords to identify the direction of travel for each source. That field must contain the FROM_SOURCE or TO_SOURCE string.

Distance method (optional)

Specifies whether to calculate the distance using a planar (flat earth) or a geodesic (ellipsoid) method.

  • Planar—The distance calculation will be performed on a projected flat plane using a 2D Cartesian coordinate system. This is the default method.
  • Geodesic—The distance calculation will be performed on the ellipsoid. Therefore, regardless of input or output projection, the results do not change.
Result distance allocation raster name

The name of the layer that will be created in My Content and added to the map. The default name is based on the tool name and the input layer name. If the layer already exists, you will be prompted to provide another name.

You can specify the name of a folder in My Content where the result will be saved using the Save result in drop-down box.

Result distance accumulation raster name (optional)

The distance accumulation raster contains the accumulative distance for each cell from, or to, the least-cost source.

The output raster is of type float.

The name of the layer that will be created in My Content and added to the map. The default name is based on the tool name and the input layer name. If the layer already exists, you will be prompted to provide another name.

You can specify the name of a folder in My Content where the result will be saved using the Save result in drop-down box.

Result back direction raster name (optional)

The back direction raster contains the calculated direction in degrees. The direction identifies the next cell along the shortest path back to the closest source while avoiding barriers.

The range of values is from 0 degrees to 360 degrees, with 0 reserved for the source cells. Due east (right) is 90, and the values increase clockwise (180 is south, 270 is west, and 360 is north).

The output raster is of type float.

The name of the layer that will be created in My Content and added to the map. The default name is based on the tool name and the input layer name. If the layer already exists, you will be prompted to provide another name.

You can specify the name of a folder in My Content where the result will be saved using the Save result in drop-down box.

Result source direction raster name (optional)

The source direction raster identifies the direction of the least accumulated cost source cell as an azimuth in degrees.

The range of values is from 0 degrees to 360 degrees, with 0 reserved for the source cells. Due east (right) is 90, and the values increase clockwise (180 is south, 270 is west, and 360 is north).

The output raster is of type float.

The name of the layer that will be created in My Content and added to the map. The default name is based on the tool name and the input layer name. If the layer already exists, you will be prompted to provide another name.

You can specify the name of a folder in My Content where the result will be saved using the Save result in drop-down box.

Result source location raster name (optional)

The source location raster is a multiband output. The first band contains a row index, and the second band contains a column index. These indexes identify the location of the source cell that is the least accumulated cost distance away.

The name of the layer that will be created in My Content and added to the map. The default name is based on the tool name and the input layer name. If the layer already exists, you will be prompted to provide another name.

You can specify the name of a folder in My Content where the result will be saved using the Save result in drop-down box.

Environments

Analysis environment settings are additional parameters that affect a tool's results. You can access the tool's analysis environment settings by clicking the gear icon Analysis Environments at the top of the tool pane.

This tool honors the following Analysis Environments:

  • Output coordinate system—Specifies the coordinate system of the output layer.
  • Extent—Specifies the area to be used for analysis.
  • Snap Raster—Adjusts the extent of the output so it matches the cell alignment of the specified snap raster layer.
  • Cell size—The cell size to use in the output layer.
  • Mask—Specifies a mask layer, where only the cells that fall within the mask area will be used for analysis.

Similar tools and raster functions

The Distance Allocation tool calculates distance allocation from each cell for sources. Other tools may be useful in solving similar problems.

Map Viewer analysis tools and raster functions

Use the Distance Accumulation tool or the Distance Accumulation raster function if the distance allocation image service output is not required.

Distance Allocation is also available as a raster function.

ArcGIS Pro analysis tools and raster functions

The Distance Allocation and Distance Accumulation geoprocessing tools are available in the Spatial Analyst toolbox.

The Distance Allocation and Distance Accumulation geoprocessing tools are available in the Raster Analysis toolbox.

Distance Allocation and Distance Accumulation are available as raster functions.

ArcGIS Enterprise developers resources

If you are working in the ArcGIS REST API, use the Distance Allocation and the Distance Accumulation tasks.

If you are working in ArcGIS API for Python, use Distance Allocation ArcGIS for Python API website and Distance Accumulation ArcGIS for Python API website from the arcgis.raster.functions.gbl module.