平均最近邻 (Spatial Statistics)
摘要
根据每个要素与其最近邻要素之间的平均距离计算其最近邻指数。
可从结果 窗口获取此工具的结果(包括可选报表文件)。如果禁用了后台处理,结果也将被写入进度 对话框。
插图
用法
-
“平均最近邻”工具将返回五个值:平均观测距离、预期平均距离、最近邻指数、z 得分和 p 值。通过结果窗口可访问这些值,也可以将这些值作为派生输出值传递,以满足模型或脚本中的潜在使用需要。或者,此工具会创建一个 HTML 文件,其中包含结果的图形汇总。双击结果 窗口中的 HTML 条目时,将在默认的 Internet 浏览器中打开该 HTML 文件。右键单击结果 窗口中的消息条目并选择查看后,将在消息对话框中显示结果。
注:- 当此工具是自定义模型工具的一部分时,如果在运行工具之前将 HTML 链接设置为模型参数,则 HTML 链接将仅在结果 窗口中显示。
- 为了获得 HTML 图形的最佳显示效果,请确保已将监视器设置为 96 DPI。
-
z 得分和 p 值结果是统计显著性的量度,用来判断是否拒绝零假设。对于“平均最近邻”统计,零假设指明要素是随机分布的。
-
“最近邻指数”的表示方式是“平均观测距离”与“预期平均距离”的比率。预期平均距离是假设随机分布中的邻域间的平均距离。如果指数小于 1,所表现的模式为聚类;如果指数大于 1,则所表现的模式趋向于离散或竞争。
-
平均最近邻方法对“面积”值非常敏感(面积参数值的细微变化都能导致结果产生巨大变化)。因此,“平均最近邻”工具最适用于对固定研究区域中不同的要素进行比较。下图是关于相同要素分布如何根据指定的研究区域进行分散或聚类的一个典型示例。
-
如果没有指定面积参数值,则使用输入要素周围最小外接矩形的面积。与范围不同,最小外接矩形不一定必须与 x 轴和 y 轴对齐。
-
在一些特殊情况下,输入要素可能会造成无效(面积为零)的最小外接矩形。在这种情况下,将使用基于输入要素的 XY 容差得到的一个较小值来创建最小外接矩形。例如,如果所有的要素都重合(也就是说,所有要素拥有完全相同的 X 和 Y 坐标),则在计算中将使用单一位置周围的一个非常小的方形面的面积。另一个例子是,所有要素完全对齐(例如,一条直线上的 3 个点);在这种情况下,将在计算中使用要素周围一个宽度很小的矩形面的面积。使用“平均最近邻”工具时,最好提供一个面积值。
-
尽管此工具将用于处理面或线数据,但它最适用于事件、事件点或其他定点要素数据。对于线要素和面要素,会在计算中使用每个要素真正的几何质心。对于多点、折线 (polyline) 或由多部分组成的面,使用所有要素部分的加权平均中心来计算质心。点要素的加权项是 1,线要素的加权项是长度,而面要素的加权项是面积。
此工具将选择性地创建 HTML 文件汇总结果。HTML 文件不会自动显示在目录 窗口中。如果要在目录 窗口中显示 HTML 文件,可打开 ArcCatalog 应用程序,选择自定义菜单选项,单击 ArcCatalog 选项,然后选择文件类型选项卡。单击新建类型按钮,并指定 HTML 作为文件扩展名。
-
基于欧氏距离或者曼哈顿距离的计算需要对数据进行投影以准确测量距离。
-
地图图层可用于定义输入要素类。在使用带有选择内容的图层时,分析只会包括所选的要素。
在 ArcGIS 10 中,将不再自动显示可选的图形输出。而是将创建 HTML 文件汇总结果。要查看结果,请在结果窗口中双击 HTML 文件。在 ArcGIS 10 之前创建的使用此工具的自定义脚本或模型工具可能需要重新构建。要重新构建这些自定义工具,请打开这些工具,移除以图形方式显示结果参数,然后重新保存。
在使用 shapefile 时,请注意 shapefile 无法存储空值。根据非 shapefile 输入创建 shapefile 的工具或其他过程可能会将空值存储(或解释)为零。某些情况下,空值则以极大的负值储存于 shapefile 中。这会产生意外的结果。有关详细信息,请参阅 shapefile 输出的地理处理注意事项。
语法
参数 | 说明 | 数据类型 |
Input_Feature_Class |
要对平均最近邻距离进行计算的要素类(通常是点要素类)。 | Feature Layer |
Distance_Method |
指定计算每个要素与邻近要素之间的距离的方式。
| String |
Generate_Report (可选) |
| Boolean |
Area (可选) |
表示研究区域大小的数值。默认值是包含所有要素(或所有选定要素)的最小外接矩形的面积。单位应与“输出坐标系”的单位一致。 | Double |
代码实例
下面的 Python 窗口脚本演示了如何使用平均最近邻 (AverageNearestNeighbor) 工具。
import arcpy
arcpy.env.workspace = r"C:\data"
arcpy.AverageNearestNeighbor_stats("burglaries.shp", "EUCLIDEAN_DISTANCE", "NO_REPORT", "#")
下面的独立 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.AverageNearestNeighbor_stats(crime_data, "EUCLIDEAN_DISTANCE", "NO_REPORT", "#")
# Create list of Average Nearest Neighbor output values by splitting the result object
nn_values = nn_output.split(";")
print "The nearest neighbor index is: " + nn_values[0]
print "The z-score of the nearest neighbor index is: " + nn_values[1]
print "The p-value of the nearest neighbor index is: " + nn_values[2]
print "The expected mean distance is: " + nn_values[3]
print "The observed mean distance is: " + nn_values[4]
print "The path of the HTML report: " + nn_values[5]
except:
# If an error occurred when running the tool, print out the error message.
print arcpy.GetMessages()