计算距离 (栅格分析)

描述

计算距离 - 计算距离单个源或一组源的欧氏距离。

插图

计算距离工具图示

使用方法

  • 此栅格分析门户工具将在您登录到 ArcGIS Enterprise “了解 ArcGIS Enterprise 门户中的分析”链接 时可用,其中门户包含一个 ArcGIS Image Server “什么是 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
(可选)

指定是否使用平面(平地)或测地线(椭球)方法计算距离。

  • Planar将使用 2D 笛卡尔坐标系对投影平面执行距离计算。这是默认设置。
  • Geodesic距离计算将在椭圆体上执行。因此,结果不会改变,不考虑输入或输出投影。
String
inputBarrierRasterOrFeatures
(可选)

定义障碍的数据集。

可通过整型或浮点型栅格或者要素图层来定义障碍。

Raster Layer; Image Service; Feature Layer; String
outputBackDirectionName
(可选)

输出反向栅格服务的名称。

String

派生输出

名称说明数据类型
outputDistanceRaster

输出距离栅格。

栅格图层
outputDirectionRaster

输出方向栅格。

栅格图层
outputBackDirectionRaster

输出反向栅格

栅格图层
outputAllocationRaster

输出分配栅格。

栅格图层

代码示例

CalculateDistance 示例 1(Python 窗口)

此示例可计算距离单个源的欧氏距离。

import arcpy
arcpy.CalculateDistance_ra('https://MyPortal.esri.com/server/rest/services/Hosted/myPoints/FeatureServer/0',
                           "outDistance", "5000", "10", "outDirection", "outAllocation", "siting")
CalculateDistance 示例 2(独立脚本)

此示例可计算距离一组源的欧氏距离。

# 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

相关主题