描述
计算距离 - 计算距离单个源或一组源的欧氏距离。
插图
使用方法
此栅格分析门户工具将在您登录到 ArcGIS Enterprise 时可用,其中门户包含一个 ArcGIS Image Server ,此链接专为 Raster Analysis 配置。调用该工具后,ArcGIS Pro 将充当客户端,处理将在与 ArcGIS Enterprise 联合的服务器中进行。门户工具接受来自门户的图层作为输入,并在门户中创建输出。
输入栅格图层支持来自门户的图层、图像服务的 URI 或 URL 或创建影像服务器图层工具的输出。输入要素图层可以是来自门户、URI 或要素服务 URL 的图层。此工具不支持本地栅格数据或图层。虽然可以使用本地要素数据和图层作为此门户工具的输入,但是最佳做法是使用门户的图层作为输入。
此工具的示例应用之一是查找从任意位置到最近城镇的距离。
当输入源数据是影像服务时,源像元集包括具有有效值的源栅格中的所有像元。具有 NoData 值的像元不包括在源集内。值 0 将被视为合法的源。
当输入源数据是要素服务时,源位置在执行分析之前从内部转换为栅格。栅格的分辨率可以由输出像元大小参数或像元大小环境来控制。默认情况下,分辨率将由输入空间参考中输入要素范围的宽度与高度中的较小值除以 250 来确定。
语法
arcpy.ra.CalculateDistance(inputSourceRasterOrFeatures, outputDistanceName, {maximumDistance}, {outputCellSize}, {outputDirectionName}, {outputAllocationName}, {allocationField}, {distanceMethod}, {inputBarrierRasterOrFeatures}, {outputBackDirectionName})
参数 | 说明 | 数据类型 |
inputSourceRasterOrFeatures | 此图层用于定义计算距离的源。此图层可以是影像服务或要素服务。 对于影像服务,输入类型可以为整型或浮点型。 对于要素服务,输入可以为点、线或面。 | Raster Layer; Image Service; Feature Layer; String |
outputDistanceName | 输出距离栅格服务的名称。 | String |
maximumDistance (可选) | 用于计算输出的最大距离。 单位可以是千米、米、英里、码或英尺。 默认单位是米。 | Linear Unit |
outputCellSize (可选) | 设置输出栅格的像元大小和单位。 单位可以是千米、米、英里、码或英尺。 默认单位是米。 | Linear Unit |
outputDirectionName (可选) | 输出方向栅格服务的名称。 | String |
outputAllocationName (可选) | 输出分配栅格服务的名称。 | String |
allocationField (可选) | 用于保存定义每个源的值的源输出上的字段。其类型必须为整型。 | String |
distanceMethod (可选) | 指定是否使用平面(平地)或测地线(椭球)方法计算距离。
| String |
inputBarrierRasterOrFeatures (可选) | 定义障碍的数据集。 可通过整型或浮点型栅格或者要素图层来定义障碍。 | Raster Layer; Image Service; Feature Layer; String |
outputBackDirectionName (可选) | 输出反向栅格服务的名称。 | String |
派生输出
名称 | 说明 | 数据类型 |
outputDistanceRaster | 输出距离栅格。 | 栅格图层 |
outputDirectionRaster | 输出方向栅格。 | 栅格图层 |
outputBackDirectionRaster | 输出反向栅格 | 栅格图层 |
outputAllocationRaster | 输出分配栅格。 | 栅格图层 |
代码示例
此示例可计算距离单个源的欧氏距离。
import arcpy
arcpy.CalculateDistance_ra('https://MyPortal.esri.com/server/rest/services/Hosted/myPoints/FeatureServer/0',
"outDistance", "5000", "10", "outDirection", "outAllocation", "siting")
此示例可计算距离一组源的欧氏距离。
# 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)
许可信息
- Basic: 需要 ArcGIS Image Server
- Standard: 需要 ArcGIS Image Server
- Advanced: 需要 ArcGIS Image Server