分组分析 (Spatial Statistics)

许可等级:BasicStandardAdvanced

摘要

根据要素属性和可选的空间/时态约束对要素进行分组。

了解有关“分组分析”工作原理的详细信息

插图

Group Analysis diagram

用法

语法

GroupingAnalysis_stats (Input_Features, Unique_ID_Field, Output_Feature_Class, Number_of_Groups, Analysis_Fields, Spatial_Constraints, {Distance_Method}, {Number_of_Neighbors}, {Weights_Matrix_File}, {Initialization_Method}, {Initialization_Field}, {Output_Report_File}, {Evaluate_Optimal_Number_of_Groups})
参数说明数据类型
Input_Features

要为其创建组的要素类或要素图层。

Feature Layer
Unique_ID_Field

输入要素数据集中针对每个要素包含不同值的整型字段。

Field
Output_Feature_Class

创建的新输出要素类,其中包含所有要素、指定的分析字段以及一个用于指示每个要素所属组的字段。

Feature Class
Number_of_Groups

要创建的组数。如果多于 15 个组,将禁用输出报表参数。

Long
Analysis_Fields
[Analysis_Fields,...]

用于区分各个组的字段的列表。如果多于 15 个字段,将禁用输出报表参数。

Field
Spatial_Constraints

指定要素之间的空间关系是否应该约束所创建的组以及如何约束。

  • CONTIGUITY_EDGES_ONLY组中包含相邻的面要素。只有共享一条边的面才属于同一个组。
  • CONTIGUITY_EDGES_CORNERS组中包含相邻的面要素。只有共享一条边或一个折点的面才属于同一个组。
  • DELAUNAY_TRIANGULATION同一个组中的要素至少具有一个与该组中的另一要素共用的自然邻域。自然邻域关系基于 Delaunay 三角测量。从概念上讲,Delaunay 三角测量可以根据要素质心创建不重叠的三角网。每个要素是一个三角形结点,具有公共边的结点被视为邻域。
  • K_NEAREST_NEIGHBORS同一个组中的要素将相互邻近;每个要素至少是该组中某一其他要素的邻域。邻域关系基于最近的 K 要素,您可以在此为“相邻要素的数目”参数指定整型值 K。
  • GET_SPATIAL_WEIGHTS_FROM_FILE空间关系和可选的时态关系通过空间权重文件 (.swm) 进行定义。使用“生成空间权重矩阵”工具创建空间权重矩阵文件。
  • NO_SPATIAL_CONSTRAINT只能使用数据空间邻域法对要素进行分组。要素不是必须在空间或时间上互相接近,才能属于同一个组。
String
Distance_Method
(可选)

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

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

空间约束参数为 K_NEAREST_NEIGHBORSCONTIGUITY 方法的其中一种时,将启用此参数。默认的相邻要素数是 8。对于 K_NEAREST_NEIGHBORS,此整型值反映在构建组时要考虑的最近邻域候选要素的准确数量。除非组中的其中一个其他要素是 K 最近邻域,否则不会将该要素包括在组中。对于 CONTIGUITY 方法,此值反映了要考虑的邻域候选要素的准确数量(仅针对岛屿面)。由于岛屿面没有相连的邻域,因此将为其分配不相连但接近的邻域。

Long
Weights_Matrix_File
(可选)

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

File
Initialization_Method
(可选)

指定当选择的空间约束参数是 NO_SPATIAL_CONSTRAINT 时如何获取初始种子。种子用来进行分组。例如,如果您指明需要 3 个组,则分析将从三个种子开始。

  • FIND_SEED_LOCATIONS将选择种子要素以便优化性能。
  • GET_SEEDS_FROM_FIELD“初始化字段”中的非零条目将被用作分组的起点。
  • USE_RANDOM_SEEDS将随机选择初始种子要素。
String
Initialization_Field
(可选)

用于标识种子要素的数值型字段。将使用此字段中具有 1 值的要素进行分组。

Field
Output_Report_File
(可选)

所要创建的用于汇总组特征的 .pdf 报表文件的完整路径。此报表提供了许多图表,以帮助您比较每个组的特征。创建报表文件会大大增加处理时间。

File
Evaluate_Optimal_Number_of_Groups
(可选)
  • EVALUATE对从 2 到 15 的组数进行评估。
  • DO_NOT_EVALUATE不对组数进行评估。这是默认设置。
Boolean

代码实例

GroupingAnalysis 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何使用 GroupingAnalysis 工具。

import arcpy
import arcpy.stats as SS
arcpy.env.workspace = r"C:\GA"
SS.GroupingAnalysis("Dist_Vandalism.shp", "TARGET_FID", "outGSF.shp", "4",
                    "Join_Count;TOTPOP_CY;VACANT_CY;UNEMP_CY",
                    "NO_SPATIAL_CONSRAINT", "EUCLIDEAN", "", "", "FIND_SEED_LOCATIONS", "",
                    "outGSF.pdf", "DO_NOT_EVALUATE")
GroupingAnalysis 示例 2(独立 Python 脚本)

以下独立 Python 脚本演示了如何使用 GroupingAnalysis 工具。

# Grouping Analysis of Vandalism data in a metropolitan area
# using the Grouping Analysis Tool

# Import system modules
import arcpy, os
import arcpy.stats as SS

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

try:
    # Set the current workspace (to avoid having to specify the full path to
    # the feature classes each time)
    arcpy.env.workspace = r"C:\GA"

    # Join the 911 Call Point feature class to the Block Group Polygon feature class
    # Process: Spatial Join
    fieldMappings = arcpy.FieldMappings()
    fieldMappings.addTable("ReportingDistricts.shp")
    fieldMappings.addTable("Vandalism2006.shp")

    sj = arcpy.SpatialJoin_analysis("ReportingDistricts.shp", "Vandalism2006.shp", "Dist_Vand.shp",
                               "JOIN_ONE_TO_ONE",
                               "KEEP_ALL",
                               fieldMappings,
                               "COMPLETELY_CONTAINS", "", "")
    
    # Use Grouping Anlysis tool to create groups based on different variables or analysis fields
    # Process: Group Similar Features  
    ga = SS.GroupingAnalysis("Dist_Vand.shp", "TARGET_FID", "outGSF.shp", "4",
                                       "Join_Count;TOTPOP_CY;VACANT_CY;UNEMP_CY",
                                       "NO_SPATIAL_CONSRAINT", "EUCLIDEAN", "", "", "FIND_SEED_LOCATIONS", "",
                                       "outGSF.pdf", "DO_NOT_EVALUATE")
    
    # Use Summary Statistic tool to get the Mean of variables used to group
    # Process: Summary Statistics
    SumStat = arcpy.Statistics_analysis("outGSF.shp", "outSS", "Join_Count MEAN; \
                               VACANT_CY MEAN;TOTPOP_CY MEAN;UNEMP_CY MEAN", 
                                       "GSF_GROUP")

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