平均最近邻 (空间统计)

摘要

根据从每个要素到其最近相邻要素的平均距离计算最近邻指数。

了解有关“平均最近邻距离”工作原理的详细信息

插图

“平均最近邻”工具图示

使用情况

  • 平均最近邻工具将返回五个值:“平均观测距离”、“预期平均距离”、“最近邻指数”、z 得分和 p 值。 在工具执行期间,这些值会在地理处理窗格底部以消息的形式写入,并将作为派生输出值进行传递,以满足模型或脚本中的潜在使用需要。 您可以将鼠标悬停在进度条上来访问该消息,单击弹出按钮或展开地理处理窗格中的消息部分。 您还可以通过地理处理历史访问之前运行工具的消息。 此外,此工具会创建一个 HTML 报表文件,其中包含了结果的图形汇总。 报表路径将随附在汇总工具执行参数的消息中。 单击此路径将弹开报表文件。

    访问消息和报表

  • z 得分和 p 值结果是统计显著性的量度,用来判断是否拒绝零假设。 但是应注意,此方法的统计意义受研究区域大小的强烈影响(请参阅下文)。 对于平均最近邻统计数据,原假设表明要素是随机分布的。

  • “最近邻指数”的表示方式是“平均观测距离”与“预期平均距离”的比率。 预期平均距离是假设随机分布中的邻域间的平均距离。 如果指数小于 1,则该模式表现出聚类;如果指数大于1,则趋势为分散或竞争。

  • 平均最近邻方法对“面积”值非常敏感(面积参数值的细微变化会导致 z 得分和 p 值结果产生巨大变化)。 因此,平均最近邻工具最适用于对固定研究区域中不同的要素进行比较。 下图为经典示例,说明如何根据指定的研究区域分散或聚集相同的要素分布。

    要素分布可根据研究区域的大小进行聚类或分散

  • 如果没有指定面积参数值,则会使用输入要素周围最小外接矩形的面积。 与范围不同,最小外接矩形不一定必须与 x 轴和 y 轴对齐。

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

    警告:

    如果您的研究区域超过 30 度,则请确保投影数据。 弦距离无法准确估算超出 30 度的测地线距离。

  • 如果分析时使用弦距离,面积参数(如指定)应以米为单位。

  • 在一些特殊情况下,输入要素可能会造成无效(面积为零)的最小外接矩形。 在这种情况下,将使用基于输入要素的 XY 容差得到的一个较小值来创建最小外接矩形。 例如,如果所有的要素都重合(也就是说,所有要素拥有完全相同的 X 和 Y 坐标),则在计算中将使用单一位置周围的一个非常小的方形面的面积。 另一个例子是,所有要素完全对齐(例如,一条直线上的 3 个点);在这种情况下,将在计算中使用要素周围一个宽度很小的矩形面的面积。 使用平均最近邻工具时,最好提供一个面积值。

  • 尽管此工具将用于处理面或线数据,但它最适用于事件、事件点或其他定点要素数据。 对于线要素和面要素,会在计算中使用每个要素真正的几何质心。 对于多点、折线 (polyline) 或由多部分组成的面,使用所有要素部分的加权平均中心来计算质心。 点要素的加权项是 1;线要素的加权项是长度;而面要素的加权项是面积。

  • 地图图层可用于定义输入要素类。在使用带有选择内容的图层时,分析只会包括所选的要素。

  • 警告:

    在使用 shapefile 时,请注意 shapefile 无法存储空值。根据非 shapefile 输入创建 shapefile 的工具或其他过程可能会将空值存储(或解释)为零。某些情况下,空值则以极大的负值储存于 shapefile 中。这会产生意外的结果。有关详细信息,请参阅 shapefile 输出的地理处理注意事项

参数

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

通常是为点要素类计算其平均最近邻距离。

Feature Layer
距离法

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

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

指定工具是否将创建结果的图形汇总。

  • 选中 - 图形汇总将以 HTML 文件形式创建。
  • 未选中 - 不会创建图形汇总。这是默认设置。
Boolean
面积
(可选)

表示研究区域大小的数值。 默认值是包含所有要素(或所有选定要素)的最小外接矩形的面积。 单位应与输出坐标系匹配。

Double

派生输出

标注说明数据类型
最近邻指数

最邻近法索引值。

Double
z 得分

z 得分

Double
p 值

p 值

Double
预期平均距离

预期平均距离。

Double
平均观测距离

平均观测距离。

Double
报表文件

一个 HTML 文件,其中包含结果的图形汇总。

File

arcpy.stats.AverageNearestNeighbor(Input_Feature_Class, Distance_Method, {Generate_Report}, {Area})
名称说明数据类型
Input_Feature_Class

通常是为点要素类计算其平均最近邻距离。

Feature Layer
Distance_Method

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

  • EUCLIDEAN_DISTANCE两点间的直线距离
  • MANHATTAN_DISTANCE沿垂直轴度量的两点间的距离(城市街区),计算方法是对两点的 x 和 y 坐标的差值(绝对值)求和。
String
Generate_Report
(可选)

指定工具是否将创建结果的图形汇总。

  • NO_REPORT不会创建图形汇总。这是默认设置。
  • GENERATE_REPORT图形汇总将以 HTML 文件形式创建。
Boolean
Area
(可选)

表示研究区域大小的数值。 默认值是包含所有要素(或所有选定要素)的最小外接矩形的面积。 单位应与输出坐标系匹配。

Double

派生输出

名称说明数据类型
NNRatio

最邻近法索引值。

Double
NNZScore

z 得分

Double
PValue

p 值

Double
NNExpected

预期平均距离。

Double
NNObserved

平均观测距离。

Double
Report_File

一个 HTML 文件,其中包含结果的图形汇总。

File

代码示例

AverageNearestNeighbor 示例 1(Python 窗口)

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

import arcpy
arcpy.env.workspace = r"C:\data"
arcpy.stats.AverageNearestNeighbor("burglaries.shp", "EUCLIDEAN_DISTANCE", "NO_REPORT", "#")
AverageNearestNeighbor 示例 2(独立脚本)

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

# Analyze crime data to determine if spatial patterns are statistically significant
 
# Import system modules
import arcpy
 
# Local variables...
workspace = "C:/data"
crime_data = "burglaries.shp"

try:
    # Set the current workspace (to avoid having to specify the full path to the 
    # feature classes each time)
    arcpy.env.workspace = workspace
 
    # Obtain Nearest Neighbor Ratio and z-score
    # Process: Average Nearest Neighbor...
    nn_output = arcpy.stats.AverageNearestNeighbor(crime_data, "EUCLIDEAN_DISTANCE", 
                                                   "NO_REPORT")
    
    # Create list of Average Nearest Neighbor output values by splitting the 
    # result object
    print("The nearest neighbor index is: " + nn_output[0])
    print("The z-score of the nearest neighbor index is: " + nn_output[1])
    print("The p-value of the nearest neighbor index is: " + nn_output[2])
    print("The expected mean distance is: " + nn_output[3])
    print("The observed mean distance is: " + nn_output[4])
    print("The path of the HTML report: " + nn_output[5])
 
except arcpy.ExecuteError:
    # If an error occurred when running the tool, print out the error message.
    print(arcpy.GetMessages())

环境

特殊情况

输出坐标系

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