摘要
测量一系列距离的空间自相关,并选择性创建这些距离及其相应 z 得分的折线图。z 得分反映空间聚类的程度,具有统计显著性的峰值 z 得分表示促进空间过程聚类最明显的距离。这些峰值距离通常为具有“距离范围”或“距离半径”参数的工具所使用的合适值。
插图
用法
-
此增量空间自相关工具可测量一系列距离增量的空间自相关,并为每项距离增量报告相关的 Moran 指数、预期指数、方差、z 得分和 p 值。右键单击消息条目并选择视图,在结果 窗口中访问这些值。作为派生输出值,此工具也可传递可能会在模型或脚本中使用的第一个峰值 z 得分和最大峰值 z 得分(样本脚本请参见以下示例)。
-
当显示多个具有统计显著性的峰值时,聚类在这些距离处均很明显。选择与您感兴趣的分析比例对应的峰值距离;通常为遇到的第一个具有统计显著性的峰值。
-
输入字段应包含多种值。此统计数学方法要求待分析的变量存在一定程度的变化;例如,如果所有输入都是 1 便无法求解。如果要使用此工具分析事件数据的空间模式,应考虑聚合事件数据。
-
如果未投影输入要素类(即,坐标单位为度、分和秒),或者将输出坐标系设置为地理坐标系,则采用弦测量方法计算距离。使用弦距离测量法是因为此方法不仅计算速度快,而且提供真实测地线距离的良好估测,至少对于彼此 30 度以内的点是这样。弦距离以扁椭圆体为基础。给定地球表面上的任意两点,两点之间的弦距离是从三维地球穿过然后连接该两点的一条线的长度。弦距离以米为单位输出。
-
如果分析时使用弦距离,开始距离与距离增量参数(如指定)应以米为单位。
-
在 ArcGIS 10.2.1 之前的版本中,如果所选的参数和环境设置要求通过地理坐标(度、分、秒)计算结果,则会显示一条警告消息。该警告消息建议您投影数据到投影坐标系中,以使距离计算结果更为准确。但自 10.2.1 起,每当需要使用地理坐标系进行计算时,该工具都将计算弦距离。
-
对于线和面要素,距离计算中会使用要素的质心。对于多点、折线或由多部分组成的面,将会使用所有要素部分的加权平均中心来计算质心。点要素的加权项是 1,线要素的加权项是长度,而面要素的加权项是面积。
-
地图图层可用于定义输入要素类。在使用带有选择内容的图层时,分析只会包括所选的要素。
-
对于面要素,几乎始终需要为行标准化参数选择 ROW。如果每个要素所具有的邻域数目由聚合方案或者采样过程决定,而不是反映您所分析的变量的实际空间分布,则行标准化将减少偏移。
-
如果未给定开始距离,则默认值为最小距离,在该距离处,数据集中的每个要素至少具有一个相邻要素。如果您的数据集中存在位置异常值,那么此距离可能不是最合适的开始距离。
-
如果未给定增量距离,则使用平均最近邻距离或 (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 文件格式创建,并可通过双击文件名从结果窗口访问此文件。
-
此工具将选择性地创建汇总结果的 PDF 报表。PDF 文件不会自动显示在目录窗口中。如果要在“目录”中显示 PDF 文件,可打开 ArcCatalog 应用程序,选择自定义菜单选项,单击 ArcCatalog 选项,然后选择文件类型选项卡。单击新建类型按钮,并指定 PDF 作为文件扩展名,如下图所示。
-
在配置了阿拉伯语或其他从右向左书写语言的 ArcGIS 语言包的计算机上,您可能会发现 PDF 输出报表文件中存在丢失文本或格式化问题。这篇文章会解决这些问题。
-
当峰值 z 得分未确定时,第一个峰值 z 得分和最大峰值 z 得分派生的输出参数将返回空值。
-
在 Python 脚本中使用此工具时,从工具执行返回的结果对象具有以下输出:
位置 说明 数据类型 0
第一个峰值
双精度型
1
最大峰值
双精度型
语法
IncrementalSpatialAutocorrelation_stats (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 |
代码示例
增量空间自相关 (IncrementalSpatialAutocorrelation) 示例 1(Python 窗口)
以下 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")
增量空间自相关 (IncrementalSpatialAutocorrelation) 示例(独立 Python 脚本)
下面的独立 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:
# If an error occurred when running the tool, print out the error message.
print(arcpy.GetMessages())
环境
许可信息
- ArcGIS Desktop Basic: 是
- ArcGIS Desktop Standard: 是
- ArcGIS Desktop Advanced: 是