收集事件 (空间统计)

摘要

将事件数据(例如犯罪或疾病事件)转换为加权点数据。

插图

“收集事件”工具图示

使用情况

  • 该工具结合了重合点。 它会创建一个新的输出要素类值,其中包含在输入要素类值中找到的所有唯一位置。 然后,它会添加一个 ICOUNT 字段,以保存每个唯一位置所有事件点的总和。

  • 此工具仅合并 x 和 y 质心坐标完全相同的要素。 在运行此工具之前,您可以使用整合工具将附近的要素捕捉到一起。

    警告:

    整合工具会永久性地更改要素几何,因此在使用整合工具之前,请务必为要素类创建一个备份副本。

  • 例如,热点分析 (Getis-Ord Gi*)聚类和异常值分析 (Local Moran's I) 以及空间自相关 (Morans I) 工具需要的是加权点而不是各个事件点。 当输入要素类包含重合的要素时,可以使用此工具来创建权重。

  • 尽管此工具将用于处理面或线数据,但它仅适用于事件、事故或其他点要素数据。 对于线要素和面要素,要素是否重合取决于要素真正的几何质心。 对于多点、折线 (polyline) 或由多部分组成的面,使用所有要素部分的加权平均中心来计算质心。 点要素的加权项是 1;线要素的加权项是长度;而面要素的加权项是面积。

  • 如果要将多点或多部件数据的每个点或部件视为单部件要素,则需要运行多部件至单部件工具。 然后对单部件要素类运行收集事件。 有关详细信息,请参阅处理多点数据

  • 除了输出加权点要素类值之外,此工具还会传递计数字段的名称以及对于任一位置遇到的最大计数值以作为派生输出值。 当您在模型或脚本中使用此工具时,这些派生的输出值很有帮助。

参数

标注说明数据类型
输入事件点要素

表示事件或事件点数据的要素。

Feature Layer
输出加权点要素类

将包含加权点数据的输出要素类。

Feature Class

派生输出

标注说明数据类型
结果字段

计数字段的名称

Field
Z 最大值

对于任一位置遇到的最大计数值。

Double

arcpy.stats.CollectEvents(Input_Incident_Features, Output_Weighted_Point_Feature_Class)
名称说明数据类型
Input_Incident_Features

表示事件或事件点数据的要素。

Feature Layer
Output_Weighted_Point_Feature_Class

将包含加权点数据的输出要素类。

Feature Class

派生输出

名称说明数据类型
Results_Field

计数字段的名称

Field
Z_Max_Value

对于任一位置遇到的最大计数值。

Double

代码示例

CollectEvents 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何使用 CollectEvents 函数。

import arcpy
arcpy.env.workspace = "C:/Data"
arcpy.stats.CollectEvents("911Copied.shp", "911Count.shp")
CollectEvents 示例 2(独立脚本)

以下独立 Python 脚本演示了如何使用 CollectEvents 函数。


# 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 property to overwrite existing output, by default
arcpy.env.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.management.CopyFeatures("911Calls.shp", "911Copied.shp")

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

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

    # Add a unique ID field to the count feature class
    # Process: Add Field and Calculate Field
    af = arcpy.management.AddField("911Count.shp", "MyID", "LONG", "#", 
                     "#", "#", "#", "NON_NULLABLE", "NON_REQUIRED", "#",
                     "911Count.shp")
    
    cf = arcpy.management.CalculateField("911Count.shp", "MyID", 
                                         "!FID!", "PYTHON")

    # Create Spatial Weights Matrix for Calculations
    # Process: Generate Spatial Weights Matrix... 
    swm = arcpy.stats.GenerateSpatialWeightsMatrix("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.stats.HotSpots("911Count.shp", "ICOUNT", "911HotSpots.shp", 
                     "GET_SPATIAL_WEIGHTS_FROM_FILE",
                     "EUCLIDEAN_DISTANCE", "NONE",
                     "#", "#", "euclidean6Neighs.swm")

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

环境

特殊情况

输出坐标系

在进行分析之前将要素几何投影到输出坐标系。 所有数学计算都基于输出坐标系空间参考