Summary
Calculates the Euclidean distance from a single source or set of sources.
Illustration
Usage
This raster analysis portal tool is available when you are signed in to an ArcGIS Enterprise portal that has an ArcGIS Image Server configured for Raster Analysis . When the tool is invoked, ArcGIS Pro serves as a client and the processing occurs in the servers federated with ArcGIS Enterprise. The portal tool accepts layers from your portal as input and creates output in your portal.
The input raster layer supports a layer from the portal, a URI or URL to an image service, or the output from the Make Image Server Layer tool. The input feature layer can be a layer from the portal or a URI or URL to a feature service. This tool does not support local raster data or layers. While you can use local feature data and layers as input to this portal tool, best practice is to use layers from your portal as input.
One example application of this tool is finding the distance from any location to the closest town.
When the input source data is an image service, 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 service, the source locations are converted internally to a raster before performing the analysis. The resolution of the raster can be controlled with the Output cell size parameter or the Cell Size environment. By default, the resolution will be determined by the shorter of the width or height of the extent of input feature, in the input spatial reference, divided by 250.
Syntax
arcpy.ra.CalculateDistance(inputSourceRasterOrFeatures, outputDistanceName, {maximumDistance}, {outputCellSize}, {outputDirectionName}, {outputAllocationName}, {allocationField}, {distanceMethod}, {inputBarrierRasterOrFeatures}, {outputBackDirectionName})
Parameter | Explanation | Data Type |
inputSourceRasterOrFeatures | The layer that defines the sources to calculate the distance to. The layer can be image service or feature service. For image service, the input type can be integer or floating point. For feature service, the input can be point, line or polygon. | Raster Layer; Image Service; Feature Layer; String |
outputDistanceName | The name of the output distance raster service. | String |
maximumDistance (Optional) | The maximum distance to calculate out to. The units can be Kilometers, Meters, Miles, Yards, or Feet. The default units are Meters. | Linear Unit |
outputCellSize (Optional) | Set the cell size and units for the output raster. The units can be Kilometers, Meters, Miles, Yards, or Feet. The default units are Meters. | Linear Unit |
outputDirectionName (Optional) | The name of the output direction raster service. | String |
outputAllocationName (Optional) | The name of the output allocation raster service. | String |
allocationField (Optional) | A field on the source input that holds the values that define each source. It must be of type integer. | String |
distanceMethod (Optional) | Specifies whether to calculate the distance using a planar (flat earth) or a geodesic (ellipsoid) method.
| String |
inputBarrierRasterOrFeatures (Optional) | Dataset that defines the barriers. The barriers can be defined by an integer or floating point raster, or a feature layer. | Raster Layer; Image Service; Feature Layer; String |
outputBackDirectionName (Optional) | The name of the output back direction raster service. | String |
Derived Output
Name | Explanation | Data Type |
outputDistanceRaster | The output distance raster. | Raster Layer |
outputDirectionRaster | The output direction raster. | Raster Layer |
outputBackDirectionRaster | The output back direction raster. | Raster Layer |
outputAllocationRaster | The output allocation raster. | Raster Layer |
Code sample
This example calculates the Euclidean distance from a single source.
import arcpy
arcpy.CalculateDistance_ra('https://MyPortal.esri.com/server/rest/services/Hosted/myPoints/FeatureServer/0',
"outDistance", "5000", "10", "outDirection", "outAllocation", "siting")
This example calculates the Euclidean distance from a set of sources.
# Name: CalculateDistance_Ex_02.py
# Description: Calculates for each cell the Euclidean distance, direction and allocation
# to the nearest source.
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inSourceData = 'https://MyPortal.esri.com/server/rest/services/Hosted/reccenter/ImageServer'
outDistanceName = "eucdistance"
maxDistance = "4000"
cellSize = "10"
outDirectionName = "eucdirect"
outAllocationName = "eurallocation"
allocationField = "dataid"
# Execute EucDistance
arcpy.CalculateDistance_ra(inSourceData, outDistanceName, maxDistance, cellSize, outDirectionName,
outAllocationName, allocationField)
Environments
Licensing information
- Basic: Requires ArcGIS Image Server
- Standard: Requires ArcGIS Image Server
- Advanced: Requires ArcGIS Image Server