描述
识别使用通过聚合点创建时空立方体、通过已定义位置创建时空立方体或通过多维栅格图层创建时空立方体工具创建的时空立方体中点密度(计数)或值聚类中的趋势。类别包含新增的、连续的、加强的、持续的、逐渐减少的、分散的、振荡的以及历史的热点和冷点。
插图
使用方法
此工具仅可接受通过聚合点创建时空立方体、通过已定义位置创建时空立方体工具或通过多维栅格图层创建时空立方体工具创建的 netCDF 文件。
时空立方体中的每一个立方图格都具有 LOCATION_ID、time_step_ID、COUNT 值以及创建立方体后聚合的所有汇总字段或变量。与同一物理位置相关的立方图格将共享同一位置 ID,这些立方图格组合起来可表示时间序列。与同一时间步长间隔相关的立方图格将共享同一时间步长 ID,这些立方图格组合起来可构成时间片。每个立方图格的计数值反映在相关时间步长间隔内出现在相关位置的事件或记录的数量。
此工具使用 Getis-Ord Gi* 统计的时空实现来分析 NetCDF 输入时空立方体中的变量。
输出要素将添加到内容窗格,并对所有分析位置的时空分析汇总结果进行渲染。如果指定面分析掩膜,分析位置为落入分析掩膜范围内的位置;否则,分析位置为至少含有一个时间步长间隔的至少一个点的位置。
除了输出要素以外,工具执行过程中还将分析汇总以消息的形式写入地理处理窗格底部。可将鼠标悬停在进度条上、单击弹出按钮 或展开地理处理窗格中消息的详细信息部分来访问消息。您还可以通过地理处理历史访问之前运行工具的消息。
新兴时空热点分析工具可以检测八种特定热点或冷点趋势:新增的、连续的、加强的、持续的、逐渐减少的、分散的、振荡的和历史的。有关输出类别定义和此工具所采用算法的详细信息,请参阅了解有关新兴时空热点分析工具原理的详细信息。
为了获得要素聚类的强度测量,此工具使用了 Getis-Ord Gi* 统计的时空实现,该统计考虑了相邻立方图格值的上下文内每个立方图格的值。
要确定每个分析邻域中将包括哪些立方图格,工具首先要查找落在指定空间关系的概念化范围内的相邻立方图格。然后,对于这些立方图格中的每个立方图格,包括位于上 N 个时间步长的相同位置的立方图格,其中 N 是指定的邻域时间步长值。
空间关系的概念化参数的选择应反映要分析的要素之间的固有关系。对要素在空间中彼此交互方式构建的模型越逼真,结果就越准确。选择空间关系的概念化:最佳做法中给出了建议。
默认空间关系的概念化为固定距离。如果立方图格的质心落在邻域距离范围内并且其时间间隔在指定的邻域时间步长范围内,立方图格将视为邻域。如果未提供邻域距离值,将基于点数据的空间分布来计算邻域距离值。如果未提供邻域时间步长值,该工具将使用默认值,即 1 个时间步长间隔。
邻域数参数可以覆盖固定距离选项的邻域距离,还可以扩展仅邻接边和邻接边拐角选项的邻域搜索。在这些情况下,系统会将邻域数用作最小数值。例如,如果将固定距离的邻域距离指定为 10 英里,并将邻域数参数指定为 3,所有立方图格至少会接收到 3 个空间邻域(即使必须增加邻域距离才能找到它们)。只有在未达到最小邻域数时,才增加这些立方图格的距离。同样,借助邻接选项,对于具有少于此相邻要素数目的立方图格,将根据质心邻近性选择附加邻域。
邻域时间步长值是分析邻域中包括的时间步长间隔的数量值。例如,如果立方体的时间步长间隔为三个月并且指定邻域时间步长为 2,则分析邻域中将包括邻域距离范围内的所有立方图格计数和其上两个时间步长间隔(涵盖九个月的时间段)的所有相关立方图格。
面分析掩膜要素图层可能包括一个或多个定义分析研究区域的面。这些面将指出点要素可能发生的位置,还应该排除不可能存在点的区域。例如,如果正在分析入室盗窃趋势,可以使用面分析掩膜来排除没有任何家庭的大湖、国家公园或其他区域。
面分析掩膜与输入时空立方体的范围相交,不会扩展立方体的尺寸。
如果用于设置研究区域的面分析掩膜的覆盖范围超过最初创建立方体时所使用的输入要素范围,可以使用面分析掩膜作为输出范围环境来重新创建立方体。运行新兴时空热点分析工具时,这将确保包括面分析掩膜覆盖的所有区域。创建立方体期间,将面分析掩膜用作输出范围环境设置,以确保立方体的范围与面分析掩膜的范围匹配。
通过运行新兴时空热点分析可将一些分析结果添加回 netCDF 输入时空立方体中。可执行三个分析:
- 对相邻立方图格前后环境内的每个立方图格进行分析来测量高值和低值聚类的密集程度。此分析的结果为时空立方体中每个立方图格的 z 得分、p 值和分组类别。
- 使用 Mann-Kendall 统计来评估分析的位置的这些 z 得分的时间序列。此分析的结果为每个位置的聚类趋势 z 得分、p 值和分组类别。
- 最后,使用 Mann-Kendall 统计来评估分析的位置的值的时间序列。此分析的结果为每个位置的趋势 z 得分、p 值和分组类别。
添加到输入时空立方体的变量汇总如下:
变量名称 描述 维度 EMERGING_{ANALYSIS_VARIABLE}_HS_PVALUE
Getis-Ord Gi* 统计 p 值可度量高值(热点)和低值(冷点)聚类的统计显著性。
三个维度:时空立方体中每个立方图格对应一个 p 值。
EMERGING_{ANALYSIS_VARIABLE}_HS_ZSCORE
Getis-Ord Gi* 统计 z 得分可度量高值(热点)和低值(冷点)聚类的强度。
三个维度:时空立方体中每个立方图格对应一个 z 得分。
EMERGING_{ANALYSIS_VARIABLE}_HS_BIN
用于将每个立方图格分类为统计显著性热点值或冷点值的结果类别。立方图格基于 FDR 校正。
- -3:冷点,置信度为 99%
- -2:冷点,置信度为 95%
- -1:冷点,置信度为 90%
- 0:非统计显著性热点或冷点
- 1:热点,置信度为 90%
- 2:热点,置信度为 95%
- 3:热点,置信度为 99%
三个维度:时空立方体中每个立方图格对应一个分组类别。立方图格基于 FDR 校正。
{ANALYSIS_VARIABLE}_TREND_PVALUE
Mann-Kendall p 值可度量位置的值趋势的统计显著性。
{ANALYSIS_VARIABLE}_TREND_ZSCORE
z 得分可度量与位置的值相关的 Mann-Kendall 统计趋势(上升或下降)。正的 z 得分表示上升趋势;负的 z 得分表示下降趋势。
{ANALYSIS_VARIABLE}_TREND_BIN
用于将每个位置分类为具有值的统计显著性上升或下降趋势的结果类别。
- -3:向下趋势,置信度为 99%
- -2:向下趋势,置信度为 95%
- -1:向下趋势,置信度为 90%
- 0:无显著性趋势
- 1:向上趋势,置信度为 90%
- 2:向上趋势,置信度为 95%
- 3:向上趋势,置信度为 99%
两个维度:每个分析的位置对应一个分组类别。
EMERGING_{ANALYSIS_VARIABLE}_TREND_PVALUE
Mann-Kendall p 值可度量位置的热点/冷点 z 得分趋势的统计显著性。
EMERGING_{ANALYSIS_VARIABLE}_TREND_ZSCORE
z 得分可测量与位置的热点/冷点 z 得分趋势相关的上升或下降 Mann-Kendall 趋势。正的 z 得分表示上升趋势;负的 z 得分表示下降趋势。
EMERGING_{ANALYSIS_VARIABLE}_TREND_BIN
用于将每个位置分类为具有热点/冷点 z 得分的统计显著性上升或下降趋势的结果类别。
- -3:向下趋势,置信度为 99%
- -2:向下趋势,置信度为 95%
- -1:向下趋势,置信度为 90%
- 0:无显著性趋势
- 1:向上趋势,置信度为 90%
- 2:向上趋势,置信度为 95%
- 3:向上趋势,置信度为 99%
两个维度:每个分析的位置对应一个分组类别。
EMERGING_{ANALYSIS_VARIABLE}_CATEGORY
17 个类别中的一个,1 到 8、0 和 -1 到 -8。
- 1,新增热点
- 2,连续热点
- 3,加强的热点
- 4,持续的热点
- 5,逐渐减少的热点
- 6,分散热点
- 7,振荡的热点
- 8,历史热点
- 0,未检测到模式
- 1,新增冷点
- -2,连续冷点
- -3,加强的冷点
- -4,持续的冷点
- -5,逐渐减少的冷点
- -6,分散冷点
- -7,振荡的冷点
- -8,历史冷点
两个维度:每个分析的位置对应一个类别。
语法
arcpy.stpm.EmergingHotSpotAnalysis(in_cube, analysis_variable, output_features, {neighborhood_distance}, {neighborhood_time_step}, {polygon_mask}, {conceptualization_of_spatial_relationships}, {number_of_neighbors}, {define_global_window})
参数 | 说明 | 数据类型 |
in_cube | 要分析的 netCDF 立方体。此文件必须具有 (.nc) 扩展名,并且必须使用通过聚合点创建时空立方体工具或通过已定义位置创建时空立方体工具进行创建。 | File |
analysis_variable | 要分析的 netCDF 文件中的数值变量。 | String |
output_features | 输出要素类结果。此要素类为数据中热点和冷点趋势的二维地图表达。例如,将显示任何新热点或加强的热点。 | Feature Class |
neighborhood_distance (可选) | 分析邻域的空间范围。该值用于确定应将哪些要素一起分析以便访问本地时空聚类。 | Linear Unit |
neighborhood_time_step (可选) | 包含在分析邻域中的时间步长间隔数。该值用于确定应将哪些要素一起分析以便访问本地时空聚类。 | Long |
polygon_mask (可选) | 具有用于定义分析研究区域的一个或多个面的面要素图层。例如,可使用面分析掩膜将大湖从分析中排除。在 in_cube 中定义并落在掩膜外的立方图格将不包括在分析中。 此参数仅适用于格网立方体。 | Feature Layer |
conceptualization_of_spatial_relationships (可选) | 指定立方图格空间关系的定义方式。
| String |
number_of_neighbors (可选) | 用于指定邻域的最小数目或精确数目以包括在目标立方图格的计算中的整数。对于 K_NEAREST_NEIGHBORS,每个立方图格的相邻要素数目正好等于这个指定数目。对于 FIXED_DISTANCE_BAND,每个立方图格将至少具有这些数目的相邻要素(如有必要,距离阈值将临时增大以确保达到这个相邻要素数目)。选中一个邻接概念化后,将向每个立方图格分配至少该最小数目的相邻要素。对于具有少于此相邻要素数目的立方图格,将根据要素质心邻近性获得附加相邻要素。 | Long |
define_global_window (可选) | 统计数据工作原理为对根据每个立方图格的邻域计算的局部统计数据与全局值进行比较。可以使用此参数来控制用于计算全局值的立方图格。
| String |
代码示例
以下 Python 窗口脚本演示了如何使用 EmergingHotSpotAnalysis 工具。
import arcpy
arcpy.env.workspace = r"C:\STPM"
arcpy.EmergingHotSpotAnalysis_stpm("Homicides.nc", "COUNT", "EHS_Homicides.shp", "5 Miles", 2, "#", "FIXED_DISTANCE", "3")
以下独立 Python 脚本演示了如何使用 EmergingHotSpotAnalysis 工具。
# Create Space Time Cube of homicide incidents in a metropolitan area
# Import system modules
import arcpy
# Set property to overwrite existing output, by default
arcpy.env.overwriteOutput = True
# Local variables...
workspace = r"C:\STPM"
try:
# Set the current workspace (to avoid having to specify the full path to the feature
# classes each time)
arcpy.env.workspace = workspace
# Create Space Time Cube of homicide incident data with 3 months and 3 miles settings
# Process: Create Space Time Cube
cube = arcpy.CreateSpaceTimeCube_stpm("Homicides.shp", "Homicides.nc", "MyDate", "#",
"3 Months", "End time", "#", "3 Miles", "Property MEDIAN SPACETIME; Age STD ZEROS",
"HEXAGON_GRID")
# Create a polygon that defines where incidents are possible
# Process: Minimum Bounding Geometry of homicide incident data
arcpy.MinimumBoundingGeometry_management("Homicides.shp", "bounding.shp", "CONVEX_HULL",
"ALL", "#", "NO_MBG_FIELDS")
# Emerging Hot Spot Analysis of homicide incident cube using 5 Miles neighborhood
# distance and 2 neighborhood time step to detect hot spots
# Process: Emerging Hot Spot Analysis
cube = arcpy.EmergingHotSpotAnalysis_stpm("Homicides.nc", "COUNT", "EHS_Homicides.shp",
"5 Miles", 2, "bounding.shp", "FIXED_DISTANCE", "3")
except arcpy.ExecuteError:
# If any error occurred when running the tool, print the messages
print(arcpy.GetMessages())
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是