描述
返回一组要素与指定的第 N 个最邻近点(N 为输入参数)的最小、最大和平均距离。结果以工具执行消息的形式写入。
插图
使用
指定一组要素,此工具会返回三个数值:到指定数目的 (N) 个邻近点之间的最小、最大和平均距离。示例:如果将相邻元素参数指定为 8,则此工具会创建一个各要素与其 8 个最邻近点之间的距离的列表;然后,根据此距离列表计算最小、最大和平均距离。
- 最大值是以各要素为起点并确保所有要素都至少有 N 个邻近点的距离。
- 最小值是以各要素为起点并确保其中至少一个要素有 N 个邻近点的距离。
- 平均值是以各要素为起点以查找其 N 个最邻近点的平均距离。
此工具的输出以消息的形式写入到结果窗口中。右键单击消息条目并选择查看,以查看消息对话框中的结果。
有些工具(例如热点分析 (Getis-Ord Gi*) 和空间自相关 (Global Moran's I))可用于指定邻近距离范围或距离阈值的值。通过为距离范围或距离阈值参数指定此工具中的“最大距离”输出值,可确保输入要素类中的各要素至少有 N 个相邻点。
此工具提供一种通过“空间统计工具箱”中的工具(例如热点分析 (Getis-Ord Gi*) 或聚类和异常值分析 (Local Moran's I)),来确定将要使用的距离范围或距离阈值的值的策略。有关其他策略,请参阅选择固定距离。
此工具返回的距离采用地理处理环境的输出坐标系中设定的单位。
如果未投影输入要素类(即,坐标单位为度、分和秒),或者将输出坐标系设置为地理坐标系,则采用弦测量方法计算距离。使用弦距离测量法是因为此方法不仅计算速度快,而且提供真实测地线距离的良好估测,至少对于彼此 30 度以内的点是这样。弦距离以扁椭圆体为基础。给定地球表面上的任意两点,两点之间的弦距离是从三维地球穿过然后连接该两点的一条线的长度。弦距离以米为单位输出。
-
对于线和面要素,距离计算中会使用要素的质心。对于多点、折线或由多部分组成的面,将会使用所有要素部分的加权平均中心来计算质心。点要素的加权项是 1,线要素的加权项是长度,而面要素的加权项是面积。
语法
CalculateDistanceBand(Input_Features, Neighbors, Distance_Method)
参数 | 说明 | 数据类型 |
Input_Features | 用于计算距离统计值的要素类或图层。 | Feature Layer |
Neighbors | 将要考虑的各要素的相邻点数目 (N)。此数目应为介于 1 和要素类中的要素总数之间的任意整数。各要素与其第 N 个相邻点之间的距离的列表将被编译,并且最大、最小和平均距离将被输出到“结果”窗口。 | Long |
Distance_Method | 指定计算每个要素与邻近要素之间的距离的方式。
| String |
派生输出
名称 | 说明 | 数据类型 |
Minimum_Distance | 最小 N 近邻距离。 | 双精度型 |
Average_Distance | 平均 N 近邻距离。 | 双精度型 |
Maximum_Distance | 最大 N 近邻距离。 | 双精度型 |
代码示例
CalculateDistanceBand 示例 1(Python 窗口)
以下 Python 窗口脚本演示了如何使用 CalculateDistanceBand 工具。
import arcpy
arcpy.env.workspace = "c:/data"
mindist, avgdist, maxdist = arcpy.CalculateDistanceBand_stats("Blocks", 10, "EUCLIDEAN_DISTANCE")
CalculateDistanceBand 示例 2(独立脚本)
以下独立 Python 脚本演示了如何使用 CalculateDistanceBand 工具。
# import module
import arcpy
# Set geoprocessing environment Workspace
arcpy.env.workspace = "c:/data"
# Set variables
infc = "Blocks"
field = "POP2000"
outfc = "PopHotSpots"
neighbors = 10
# Run the CalculateDistanceBand tool to get a distance for use with the Hot Spot tool from the tool result object
mindist, avgdist, maxdist = arcpy.CalculateDistanceBand_stats(infc, neighbors, "EUCLIDEAN_DISTANCE")
# Run the Hot Spot Analysis tool, using the maxdist output from the Calculate Distance Band tool as an input
arcpy.HotSpots_analysis(infc, field, outfc, "Fixed Distance Band", "EUCLIDEAN_DISTANCE", "None", maxdist)
环境
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是