描述
测量一系列距离的空间自相关,并选择性创建这些距离及其相应 z 得分的折线图。z 得分反映空间聚类的程度,具有统计显著性的峰值 z 得分表示促进空间过程聚类最明显的距离。这些峰值距离通常为具有“距离范围”或“距离半径”参数的工具所使用的合适值。
插图
使用方法
-
此增量空间自相关工具可测量一系列距离增量的空间自相关,并为每项距离增量报告相关的 Moran 指数、预期指数、方差、z 得分和 p 值。在工具执行期间,这些值以消息形式写到地理处理窗格底部。您可以将鼠标悬停在进度条上来访问该消息,单击弹出按钮或展开地理处理窗格中的消息部分。您还可以通过地理处理历史访问之前运行工具的消息。或者,此工具会创建一个 PDF 报表文件,其中包含了结果的图形汇总。报表路径将随附在汇总工具执行参数的消息中。单击此路径将弹开报表文件。
-
当显示多个具有统计显著性的峰值时,聚类在这些距离处均很明显。选择与您感兴趣的分析比例对应的峰值距离;通常为遇到的第一个具有统计显著性的峰值。
-
输入字段应包含多种值。此统计数学方法要求待分析的变量存在一定程度的变化;例如,如果所有输入都是 1 便无法求解。如果要使用此工具分析事件数据的空间模式,应考虑聚合事件数据。
-
如果未投影输入要素类(即,坐标单位为度、分和秒),或者将输出坐标系设置为地理坐标系,则采用弦测量方法计算距离。使用弦距离测量法是因为此方法不仅计算速度快,而且提供真实测地线距离的良好估测,至少对于彼此 30 度以内的点是这样。弦距离以扁椭圆体为基础。给定地球表面上的任意两点,两点之间的弦距离是从三维地球穿过然后连接该两点的一条线的长度。弦距离以米为单位输出。
警告:
如果您的研究区域超过 30 度,则请确保投影数据。测地线距离超过 30 度时,弦距离不是理想的估测方法。
-
如果分析时使用弦距离,开始距离与距离增量参数(如指定)应以米为单位。
-
对于线和面要素,距离计算中会使用要素的质心。对于多点、折线或由多部分组成的面,将会使用所有要素部分的加权平均中心来计算质心。点要素的加权项是 1,线要素的加权项是长度,而面要素的加权项是面积。
-
地图图层可用于定义输入要素类。在使用带有选择内容的图层时,分析只会包括所选的要素。
-
对于面要素,几乎总是需要为行标准化参数选择行。如果每个要素所具有的邻域数目由聚合方案或者采样过程决定,而不是反映您所分析的变量的实际空间分布,则行标准化将减少偏移。
-
如果未给定开始距离,则默认值为最小距离,在该距离处,数据集中的每个要素至少具有一个相邻要素。如果您的数据集中存在位置异常值,那么此距离可能不是最合适的开始距离。
-
如果未给定增量距离,则使用平均最近邻距离或 (Td - B) / I(其中 Td 为最大阈值距离,B 为开始距离,I 为距离段数量)二者当中的较小者。该算法可确保始终根据指定的距离段数量来执行计算,确保最大距离段不会过大以致一些要素以所有其它要素或几乎所有其它要素作为其相邻要素。
-
如果指定的开始距离和/或增量距离所生成的距离段大于最大阈值距离,增量距离将自动减小。为避免该调整,可以减小指定的增量距离和/或距离段数量。
-
运行此工具时,可能会发生内存不足的情况。这种情况通常发生在开始距离和/或增量距离导致要素具有很多相邻要素时。您通常不会希望在具有上千个相邻要素的要素处创建空间关系。增量距离使用更小的值并临时移除位置异常值,以便以更小的开始距离值启动。
-
即使您用工具计算开始距离与增量距离,大数据集的处理时间也可能比较长。您可以通过以下方式提高性能:
- 临时移除位置异常值
- 可以选择研究区典型部分中的要素并只分析这些要素,而无需运行所有要素的分析。
- 从数据集中随机选择要素的样本,只分析这些样本要素。
-
距离通常基于输出坐标系环境设置。输出坐标系环境的默认设置为“与输入相同”。进行分析之前将输入要素投影到输出坐标系。
-
可选输出表将包含各迭代处的距离值、Moran I 指数值、预期 Moran I 指数值、方差、z 得分和 p 值。峰值为 z 得分值升高、然后降低处的值。例如,如果此工具查找到 50、100 和 150 米距离的 z 得分分别为:2.95、3.68 和 3.12,则峰值应为 100 米。
-
输出报表文件可选择以 PDF 格式创建,并可通过地理处理窗格底部的消息进行访问。
-
在配置了阿拉伯语或其他从右向左书写语言的 ArcGIS 语言包的计算机上,您可能会发现 PDF 输出报表文件中存在丢失文本或格式化问题。这篇文章会解决这些问题。
-
当峰值 z 得分未确定时,第一个峰值 z 得分和最大峰值 z 得分派生的输出参数将返回空值。
-
在 Python 脚本中使用此工具时,从工具执行返回的结果对象具有以下输出:
位置 描述 数据类型 0
第一个峰值
双精度型
1
最大峰值
双精度型
语法
IncrementalSpatialAutocorrelation(Input_Features, Input_Field, Number_of_Distance_Bands, {Beginning_Distance}, {Distance_Increment}, {Distance_Method}, {Row_Standardization}, {Output_Table}, {Output_Report_File})
参数 | 说明 | 数据类型 |
Input_Features | 要对一系列距离进行测量的空间自相关的要素类。 | Feature Layer |
Input_Field | 用于评估空间自相关的数值字段。 | Field |
Number_of_Distance_Bands | 针对空间自相关而增加邻域大小和分析数据集的次数。分别在 Beginning_Distance 和 Distance_Increment 参数中指定的增量的起点和大小。 | Long |
Beginning_Distance (可选) | 开始空间自相关分析的距离和开始增量的距离。为此参数输入的值应使用输出坐标系环境设置的单位。 | Double |
Distance_Increment (可选) | 每次迭代后要增加的距离。分析中使用的距离于 Beginning_Distance 处开始,以 Distance_Increment 中指定的数量增加。为此参数输入的值应使用输出坐标系环境设置的单位。 | Double |
Distance_Method (可选) | 指定计算每个要素与邻近要素之间的距离的方式。
| String |
Row_Standardization (可选) | 当要素的分布由于采样设计或施加的聚合方案而可能出现偏离时,建议使用行标准化。
| Boolean |
Output_Table (可选) | 要创建的表格包含各距离范围和相关 z 得分结果。 | Table |
Output_Report_File (可选) | 要创建的 PDF 文件包含汇总结果的折线图。 | File |
派生输出
名称 | 说明 | 数据类型 |
First_Peak | 第一个峰值 z 得分。 | 双精度型 |
Max_Peak | 最大峰值 z 得分。 | 双精度型 |
代码示例
以下 Python 窗口脚本演示了如何使用 IncrementalSpatialAutocorrelation 工具。
import arcpy, os
import arcpy.stats as SS
arcpy.env.workspace = r"C:\ISA"
SS.IncrementalSpatialAutocorrelation("911CallsCount.shp", "ICOUNT", "20", "", "", "EUCLIDEAN",
"ROW_STANDARDIZATION", "outTable.dbf", "outReport.pdf")
以下独立 Python 脚本演示了如何使用 IncrementalSpatialAutocorrelation 工具。
# Hot Spot Analysis of 911 calls in a metropolitan area
# using the Incremental Spatial Autocorrelation and Hot Spot Analysis Tool
# Import system modules
import arcpy
import os
import arcpy.stats as SS
# Set property to overwrite existing output, by default
arcpy.env.overwriteOutput = True
# Local variables
workspace = r"C:\ISA"
try:
# Set the current workspace (to avoid having to specify the full path to the feature classes each time)
arcpy.env.workspace = workspace
# Copy the input feature class and integrate the points to snap together at 30 feet
# Process: Copy Features and Integrate
cf = arcpy.CopyFeatures_management("911Calls.shp", "911Copied.shp","#", 0, 0, 0)
integrate = arcpy.Integrate_management("911Copied.shp #", "30 Feet")
# Use Collect Events to count the number of calls at each location
# Process: Collect Events
ce = SS.CollectEvents("911Copied.shp", "911Count.shp")
# Use Incremental Spatial Autocorrelation to get the peak distance
# Process: Incremental Spatial Autocorrelation
isa = SS.IncrementalSpatialAutocorrelation(ce, "ICOUNT", "20", "", "", "EUCLIDEAN",
"ROW_STANDARDIZATION", "outTable.dbf", "outReport.pdf")
# Hot Spot Analysis of 911 Calls
# Process: Hot Spot Analysis (Getis-Ord Gi*)
distance = isa.getOutput(2)
hs = SS.HotSpots(ce, "ICOUNT", "911HotSpots.shp", "Fixed Distance Band",
"Euclidean Distance", "None", distance, "", "")
except arcpy.ExecuteError:
# If an error occurred when running the tool, print out the error message.
print(arcpy.GetMessages())
环境
- 输出坐标系
在进行分析之前将要素几何投影到输出坐标系。所有数学计算都基于输出坐标系空间参考。输出坐标系基于度、分、秒时,测地线距离用弦距离估测。
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是