热点分析 (Getis-Ord Gi*) (空间统计)

摘要

给定一组加权要素,使用 Getis-Ord Gi* 统计识别具有统计显著性的热点和冷点。

了解有关热点分析 (Getis-Ord Gi*) 的工作原理的详细信息

插图

Hot Spot Analysis illustration

用法

语法

HotSpots_stats (Input_Feature_Class, Input_Field, Output_Feature_Class, Conceptualization_of_Spatial_Relationships, Distance_Method, Standardization, Distance_Band_or_Threshold_Distance, {Self_Potential_Field}, {Weights_Matrix_File})
参数说明数据类型
Input_Feature_Class

将要执行热点分析的要素类。

Feature Layer
Input_Field

要计算的数值型计数字段(受害者人数、犯罪行为数量,工作等等)。

Field
Output_Feature_Class

接收 z 得分和 p 值结果的输出要素类。

Feature Class
Conceptualization_of_Spatial_Relationships

指定要素空间关系的概念化方式。

  • INVERSE_DISTANCE与远处的要素相比,附近的邻近要素对目标要素的计算的影响要大一些。
  • INVERSE_DISTANCE_SQUARED与 INVERSE_DISTANCE 类似,但它的坡度更明显,因此影响下降得更快,并且只有目标要素的最近邻域会对要素的计算产生重大影响。
  • FIXED_DISTANCE_BAND将对邻近要素环境中的每个要素进行分析。在指定临界距离内的邻近要素将分配值为 1 的权重,并对目标要素的计算产生重大影响。在指定临界距离外的邻近要素将分配值为零的权重,并且不会对目标要素的计算产生任何影响。
  • ZONE_OF_INDIFFERENCE在目标要素的指定临界距离内的要素将分配值为 1 的权重,并且会影响目标要素的计算。一旦超出该临界距离,权重(以及邻近要素对目标要素计算的影响)就会随距离的增加而减小。
  • POLYGON_CONTIGUITY_(FIRST_ORDER)只有共用边界的邻近面要素会影响目标面要素的计算。(需要 ArcInfo 级别许可)
  • GET_SPATIAL_WEIGHTS_FROM_FILE将在空间权重文件中定义空间关系。指向空间权重文件的路径在“权重矩阵文件”参数中指定。
String
Distance_Method

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

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

当要素的分布由于采样设计或施加的聚合方案而可能偏离时,建议使用行标准化。

  • NONE不对空间权重执行标准化。
  • ROW对空间权重执行标准化;每个权重都会除以行的和(所有相邻要素的权重和)。
String
Distance_Band_or_Threshold_Distance

为“反距离”和“固定距离”选项指定中断距离。将在对目标要素的分析中忽略为该要素指定的中断之外的要素。但是,对于“无差别的区域”,指定距离之外的要素的影响会随距离的减小而变弱,而在距离阈值之内的影响则被视为是等同的。输入的值应该与输出坐标系的值匹配。

对于空间关系的“反距离”概念化,值为 0 表示未应用任何阈值距离;当将此参数留空时,将计算并应用默认阈值。此默认值为确保每个要素至少具有一个邻域的欧氏距离。

如果选择了“面邻接”或者“通过文件获取空间权重”空间概念化,则此参数不会产生任何影响。

Double
Self_Potential_Field
(可选)

表示自然电位的字段:要素与其自身之间的距离或权重。

Field
Weights_Matrix_File
(可选)

指向包含空间权重(其定义要素间的空间关系)的文件的路径。

File

代码示例

HotSpotAnalysis 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何使用热点分析 (HotSpotAnalysis) 工具。

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.HotSpots_stats("911Count.shp", "ICOUNT", "911HotSpots.shp","GET_SPATIAL_WEIGHTS_FROM_FILE","EUCLIDEAN_DISTANCE", "NONE","#", "#", "euclidean6Neighs.swm")
热点分析 (HotSpotAnalysis) 示例 2(独立 Python 脚本)

以下独立 Python 脚本演示了如何使用热点分析 (HotSpotAnalysis) 工具。

# Analyze the spatial distribution of 911 calls in a metropolitan area
# using the Hot-Spot Analysis Tool (Local Gi*)

# Import system modules
import arcpy

# Set geoprocessor object property to overwrite existing output, by default
arcpy.gp.overwriteOutput = True

# Local variables...
workspace = "C:/Data"

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 500 feet
    # Process: Copy Features and Integrate
    cf = arcpy.CopyFeatures_management("911Calls.shp", "911Copied.shp",
                         "#", 0, 0, 0)

    integrate = arcpy.Integrate_management("911Copied.shp #", "500 Feet")

    # Use Collect Events to count the number of calls at each location
    # Process: Collect Events
    ce = arcpy.CollectEvents_stats("911Copied.shp", "911Count.shp", "Count", "#")

    # Add a unique ID field to the count feature class
    # Process: Add Field and Calculate Field
    af = arcpy.AddField_management("911Count.shp", "MyID", "LONG", "#", "#", "#", "#",
                     "NON_NULLABLE", "NON_REQUIRED", "#",
                     "911Count.shp")
    
    cf = arcpy.CalculateField_management("911Count.shp", "MyID", "[FID]", "VB")

    # Create Spatial Weights Matrix for Calculations
    # Process: Generate Spatial Weights Matrix... 
    swm = arcpy.GenerateSpatialWeightsMatrix_stats("911Count.shp", "MYID",
                        "euclidean6Neighs.swm",
                        "K_NEAREST_NEIGHBORS",
                        "#", "#", "#", 6,
                        "NO_STANDARDIZATION") 

    # Hot Spot Analysis of 911 Calls
    # Process: Hot Spot Analysis (Getis-Ord Gi*)
    hs = arcpy.HotSpots_stats("911Count.shp", "ICOUNT", "911HotSpots.shp", 
                     "GET_SPATIAL_WEIGHTS_FROM_FILE",
                     "EUCLIDEAN_DISTANCE", "NONE",
                     "#", "#", "euclidean6Neighs.swm")

except:
    # If an error occurred when running the tool, print out the error message.
    print arcpy.GetMessages()

环境

输出坐标系

在分析之前,会将要素几何投影到“输出坐标系”,这样,为“距离范围或距离阈值”参数输入的值会与“输出坐标系”中指定的值一致。所有数学计算都基于输出坐标系空间参考

相关主题


7/10/2012