计算近邻点距离 (空间统计)

摘要

返回一组要素与指定的第 N 个最邻近点(N 为输入参数)的最小、最大和平均距离。结果以工具执行消息的形式写入。

插图

计算近邻点距离图示

使用情况

  • 指定一组要素,此工具会返回三个数值:到指定数目的 (N) 个邻近点之间的最小、最大和平均距离。示例:如果将相邻元素参数指定为 8,则此工具会创建一个各要素与其 8 个最邻近点之间的距离的列表;然后,根据此距离列表计算最小、最大和平均距离。

    • 最大值是以各要素为起点并确保所有要素都至少有 N 个邻近点的距离。
    • 最小值是以各要素为起点并确保其中至少一个要素有 N 个邻近点的距离。
    • 平均值是以各要素为起点以查找其 N 个最邻近点的平均距离。

  • 计算近邻点距离工具会返回三个值:最小、平均和最大 N 近邻距离。在工具执行期间,该值在地理处理窗格底部以消息形式写入,并作为派生输出值进行传递,以满足模型或脚本中的潜在使用需要。您可以将鼠标悬停在进度条上来访问该消息,单击弹出按钮或展开地理处理窗格中的消息部分。您还可以通过地理处理历史访问之前运行工具的消息。

  • 有些工具(例如热点分析 (Getis-Ord Gi*)空间自相关 (Global Moran's I))可用于指定邻近距离范围或距离阈值的值。通过为距离范围或距离阈值参数指定此工具中的“最大距离”输出值,可确保输入要素类中的各要素至少有 N 个相邻点。

  • 此工具提供一种通过“空间统计工具箱”中的工具(例如热点分析 (Getis-Ord Gi*)聚类和异常值分析 (Local Moran's I)),来确定将要使用的距离范围或距离阈值的值的策略。有关其他策略,请参阅选择固定距离

  • 此工具返回的距离采用地理处理环境的输出坐标系中设定的单位。

  • 如果未投影输入要素类(即,坐标单位为度、分和秒),或者将输出坐标系设置为地理坐标系,则采用弦测量方法计算距离。使用弦距离测量法是因为此方法不仅计算速度快,而且提供真实测地线距离的良好估测,至少对于彼此 30 度以内的点是这样。弦距离以扁椭圆体为基础。给定地球表面上的任意两点,两点之间的弦距离是从三维地球穿过然后连接该两点的一条线的长度。弦距离以米为单位输出。

    警告:

    如果您的研究区域超过 30 度,则请确保投影数据。测地线距离超过 30 度时,弦距离不是理想的估测方法。

  • 对于线和面要素,距离计算中会使用要素的质心。对于多点、折线或由多部分组成的面,将会使用所有要素部分的加权平均中心来计算质心。点要素的加权项是 1,线要素的加权项是长度,而面要素的加权项是面积。

参数

标注说明数据类型
输入要素

用于计算距离统计值的要素类或图层。

Feature Layer
相邻元素

将要考虑的各要素的相邻点数目 (N)。此数目应为介于 1 和要素类中的要素总数之间的任意整数。各要素与其第 N 个相邻点之间的距离的列表将被编译,并且最大、最小和平均距离将被输出到“结果”窗口。

Long
距离法

指定计算每个要素与邻近要素之间的距离的方式。

  • 欧氏两点间的直线距离
  • 曼哈顿沿垂直轴度量的两点间的距离(城市街区);计算方法是对两点的 x 和 y 坐标的差值(绝对值)求和。
String

派生输出

标注说明数据类型
最小距离

最小 N 近邻距离。

双精度型
平均距离

平均 N 近邻距离。

双精度型
最大距离

最大 N 近邻距离。

双精度型

arcpy.stats.CalculateDistanceBand(Input_Features, Neighbors, Distance_Method)
名称说明数据类型
Input_Features

用于计算距离统计值的要素类或图层。

Feature Layer
Neighbors

将要考虑的各要素的相邻点数目 (N)。此数目应为介于 1 和要素类中的要素总数之间的任意整数。各要素与其第 N 个相邻点之间的距离的列表将被编译,并且最大、最小和平均距离将被输出到“结果”窗口。

Long
Distance_Method

指定计算每个要素与邻近要素之间的距离的方式。

  • EUCLIDEAN_DISTANCE两点间的直线距离
  • MANHATTAN_DISTANCE沿垂直轴度量的两点间的距离(城市街区);计算方法是对两点的 x 和 y 坐标的差值(绝对值)求和。
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: 是

相关主题