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

摘要

返回一组要素与指定的第 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 邻近距离。

Double
平均距离

平均 N 邻近距离。

Double
最大距离

最大 N 邻近距离。

Double

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 邻近距离。

Double
Average_Distance

平均 N 邻近距离。

Double
Maximum_Distance

最大 N 邻近距离。

Double

代码示例

CalculateDistanceBand 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何使用 CalculateDistanceBand 函数。

import arcpy
arcpy.env.workspace = "c:/data"
mindist, avgdist, maxdist = arcpy.stats.CalculateDistanceBand("Blocks", 10, "EUCLIDEAN_DISTANCE")
CalculateDistanceBand 示例 2(独立脚本)

以下独立 Python 脚本演示了如何使用 CalculateDistanceBand 函数。

# import module
import arcpy

# Set geoprocessing workspace environment
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.stats.CalculateDistanceBand(infc, neighbors, 
                                                              "EUCLIDEAN_DISTANCE")
 
# Run the Hot Spot Analysis tool, using the maxdist output from the Calculate 
# Distance Band tool as an input
arcpy.stats.HotSpots(infc, field, outfc, "Fixed Distance Band", 
                        "EUCLIDEAN_DISTANCE", "None", maxdist)

环境

特殊情况

输出坐标系

在进行分析之前将要素几何投影到输出坐标系。所有数学计算都基于输出坐标系空间参考。输出坐标系基于度、分、秒时,测地线距离用弦距离估测。