高/低聚类(Getis-Ord General G) (Spatial Statistics)

许可等级:BasicStandardAdvanced

摘要

使用 Getis-Ord General G 统计可度量高值或低值的聚类程度。

可从结果 窗口获取此工具的结果(包括可选报表文件)。如果禁用了后台处理,结果也将被写入进度 对话框。

了解有关高/低聚类:Getis-Ord General G 工作原理的详细信息

插图

High/Low Clustering (Getis-Ord General G) illustration

用法

语法

HighLowClustering_stats (Input_Feature_Class, Input_Field, {Generate_Report}, Conceptualization_of_Spatial_Relationships, Distance_Method, Standardization, {Distance_Band_or_Threshold_Distance}, {Weights_Matrix_File})
参数说明数据类型
Input_Feature_Class

将计算 General G 统计的要素类。

Feature Layer
Input_Field

要评估的数值字段。

Field
Generate_Report
(可选)
  • NO_REPORT不会创建图形汇总(默认值)。
  • GENERATE_REPORT图形汇总将以 HTML 文件形式创建。
Boolean
Conceptualization_of_Spatial_Relationships

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

  • INVERSE_DISTANCE与远处的要素相比,附近的邻近要素对目标要素的计算的影响要大一些。
  • INVERSE_DISTANCE_SQUARED与 INVERSE_DISTANCE 类似,但它的坡度更明显,因此影响下降得更快,并且只有目标要素的最近邻域会对要素的计算产生重大影响。
  • FIXED_DISTANCE_BAND将对邻近要素环境中的每个要素进行分析。在指定临界距离内的邻近要素将分配值为 1 的权重,并对目标要素的计算产生重大影响。在指定临界距离外的邻近要素将分配值为零的权重,并且不会对目标要素的计算产生任何影响。
  • ZONE_OF_INDIFFERENCE在目标要素的指定临界距离内的要素将分配值为 1 的权重,并且会影响目标要素的计算。一旦超出该临界距离,权重(以及邻近要素对目标要素计算的影响)就会随距离的增加而减小。
  • CONTIGUITY_EDGES_ONLY只有共用边界或重叠的相邻面要素会影响目标面要素的计算。
  • CONTIGUITY_EDGES_CORNERS共享边界、结点或重叠的面要素会影响目标面要素的计算。
  • 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
Weights_Matrix_File
(可选)

包含权重(其定义要素间的空间关系以及可能的时态关系)的文件的路径。

File

代码实例

高低聚类 (HighLowClustering) 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何使用“高/低聚类”工具。

import arcpy
arcpy.env.workspace = r"C:\data"
arcpy.HighLowClustering_stats("911Count.shp", "ICOUNT","false", "GET_SPATIAL_WEIGHTS_FROM_FILE","EUCLIDEAN_DISTANCE", "NONE","#", "euclidean6Neighs.swm")
高低聚类 (HighLowClustering) 示例 2(独立 Python 脚本)

以下独立 Python 脚本演示了如何使用“高/低聚类”工具。

# Analyze the spatial distribution of 911 calls in a metropolitan area
# using the High/Low Clustering (Getis-Ord General G) tool
 
# Import system modules
import arcpy
 
# Set the geoprocessor object property to overwrite existing outputs
arcpy.gp.overwriteOutput = True
 
# Local variables...
workspace = r"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") 

    # Cluster Analysis of 911 Calls
    # Process: High/Low Clustering (Getis-Ord General G)
    hs = arcpy.HighLowClustering_stats("911Count.shp", "ICOUNT", 
                        "false", 
                        "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()

环境

相关主题

许可信息

ArcGIS for Desktop Basic:是
ArcGIS for Desktop Standard:是
ArcGIS for Desktop Advanced:是
9/15/2013