Euclidean Allocation (Spatial Analyst)


Calculates, for each cell, the nearest source based on Euclidean distance.

Learn more about Euclidean distance analysis


Euclidean Allocation illustration
Euc_Alloc = EucAllocation(Source_Ras)



EucAllocation (in_source_data, {maximum_distance}, {in_value_raster}, {cell_size}, {source_field}, {out_distance_raster}, {out_direction_raster})
ParameterExplanationData Type

The input source locations.

This is a raster or feature dataset that identifies the cells or locations to which the Euclidean distance for every output cell location is calculated.

For rasters, the input type can be integer or floating point.

If the input source raster is floating point, the {in_value_raster} must be set, and it must be of integer type. The value raster will take precedence over any setting of the {source_field}.

Raster Layer | Feature Layer

Defines the threshold that the accumulative distance values cannot exceed.

If an accumulative Euclidean distance value exceeds this value, the output value for the cell location will be NoData.

The default distance is to the edge of the output raster.


The input integer raster that identifies the zone values that should be used for each input source location.

For each source location (cell or feature), the value defined by the {in_value_raster} will be assigned to all cells allocated to the source location for the computation. The value raster will take precedence over any setting for the {source_field}.

Raster Layer

The cell size at which the output raster will be created.

This will be the value in the environment if it is explicitly set. If it is not set in the environment, the default cell size will depend on if the input source data is a raster or a feature, as follows:

  • If the source is raster, the output will have that same cell size.
  • If the source is feature, the output will have a cell size determined by the shorter of the width or height of the extent of input feature, in the input spatial reference, divided by 250.

Analysis Cell Size

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

If the {in_value_raster} has been set, the values in that input will have precedence over any setting for the {source_field}.


The output Euclidean distance raster.

The distance raster identifies, for each cell, the Euclidean distance to the closest source cell, set of source cells, or source location.

The output raster is of floating point type.

Raster Dataset

The output Euclidean direction raster.

The direction raster contains the calculated direction, in degrees, each cell center is from the closest source cell center.

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 integer type.

Raster Dataset

Return Value

NameExplanationData Type

The output Euclidean allocation raster.

The cell values (zones) identify the nearest source location.

The output raster is of integer type.


Code Sample

EucAllocation example 1 (Python window)

The following Python Window script demonstrates how to use the EuclideanAllocation tool.

import arcpy
from arcpy import env
from import *
env.workspace = "C:/sapyexamples/data"
eucAllocate = EucAllocation("observers", 50000, "elevation", 25, "FID", 
EucAllocation example 2 (stand-alone script)

Calculates, for each cell, the zone of the closest source location in Euclidean distance.

# Name:
# Description: Calculates, for each cell, the zone of the closest 
#              source location in Euclidean distance.
# Requirements: Spatial Analyst Extension
# Author: ESRI

# Import system modules
import arcpy
from arcpy import env
from import *

# Set environment settings
env.workspace = "C:/sapyexamples/data"

# Set local variables
inSource = "observers.shp"
maxDist = 50000
valRaster = "elevation"
cellSize = 25
sourceField = "FID"
optOutDist = "c:/sapyexamples/output/outeucdist02"
optOutDir = "c:/sapyexamples/output/outeucdir02"

# Check out the ArcGIS Spatial Analyst extension license

# Execute EucAllocation
eucAllocate = EucAllocation(inSource, maxDist, valRaster, cellSize,
                             sourceField, optOutDist, optOutDir)

# Save the output"c:/sapyexamples/output/eucalloc02")


Related Topics

Licensing Information

ArcView: Requires Spatial Analyst
ArcEditor: Requires Spatial Analyst
ArcInfo: Requires Spatial Analyst