80-20 分析 (犯罪分析和安全)

摘要

执行要素的 80/20 分析,并根据关联事件点的数量创建点聚类、线或面。 此工具将计算一个累积的百分比字段,用于标识事件不成比例发生的位置。

使用情况

  • 80-20 规则是一个理论概念,其中大部分事件发生在少数位置,例如 80% 的事件发生在 20% 的位置。

  • 在犯罪分析学科中,可以通过多种方式使用该工具。 典型的分析工作流包括以下内容:

    • 将事件聚合到聚类中 - 此类型分析可识别特定时期内事件数量最多的属性。
    • 将事件汇总到街道段 - 此类型分析有时被描述为寻找热点街道。
    • 将事件聚合到特定邻域边界 - 此类型分析有时被描述为寻找热点区域。
  • 聚合方法参数用于确定如何进行 80-20 分析以及如何聚合输入点要素。 可用于进行分析的两种聚合方法包括聚类最近要素,其描述如下:

  • 当将聚合方法参数设置为聚类时,以下字段将添加到输出中:

    • ICOUNT - 在该聚类的聚类容差内找到的点数。
    • PERC - 在该聚类的聚类容差内找到的总点数的百分比。
    • CUMU_PERC - 当前聚类点和所有其他较大聚类点的累积百分比(使用 ICOUNT 值计算)。
    • CUMU_LPERC - 当前聚类点和所有其他较大聚类点的累积百分比(使用输出点要素总数计算)。

    CUMU_PERCCUMU_LPERC 值可用于确定数量不成比例的聚类位置是否代表较大比例的犯罪,例如,20% 的聚类位置包含 80% 的总点数。

    当将聚合方法参数设置为最近要素时,以下字段将添加到输出中:

    • ICOUNT - 发现的最接近线或面要素的点数。
    • PERC - 在线或面要素附近或内部发现的点总数的百分比。
    • CUMU_PERC - 当前要素和所有其他具有更大计数的要素的累积百分比(使用 ICOUNT 值计算)。
    • CUMU_LPERC - 当前要素和所有其他具有更大计数的要素的累积百分比(使用输出线或面要素总数计算)。
    • INC_KM - 每千米的要素数。 当输入比较要素为线时,其将添加到输出中。
    • INC_MI - 每英里的要素数。 当输入比较要素为线时,其将添加到输出中。
    • INC_SQKM - 每平方千米的要素数。 当输入比较要素值为面时,其将添加到输出中。
    • INC_SQMI - 每平方英里的要素数。 当输入比较要素值为面时,其将添加到输出中。

    CUMU_PERCCUMU_LPERC 值可用于确定数量不成比例的线或面要素是否代表较大比例的犯罪,例如,20% 的线或面要素位置包含 80% 的总点数。

    将根据生成的 ICOUNT(事件计数)、CUMU_PERC(累积百分比)、PERC(事件百分比)和 CUMU_LPERC(累积位置百分比)字段值对输出记录进行排序。

  • 可以使用 ICOUNT 字段对输出要素类进行符号化。

  • 使用基于每个位置发生的事件数量的分级符号图层来对输出点要素类进行符号化。

参数

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

将用于创建聚类、线或面的输入点要素。

Feature Layer
输出要素类

输出要素类。

当将聚合方法参数设置为聚类时,输出将为点要素类。

当将聚合方法参数设置为最近要素时,输出的几何类型将与输入比较要素参数值相同。

Feature Class
聚类容差
(可选)

用于分隔点的最大距离,该距离内的点将视为相同聚类的一部分。

如果未指定聚类容差,则该工具将创建点要素重叠的聚类。

当将聚合方法参数设置为聚类时,此参数处于活动状态。

Linear Unit
输出字段
(可选)

输入要素的字段将传递到输出中。

Field
聚合方法
(可选)

指定输入点要素的聚合方式。

  • 聚类将聚类输入点要素。 这是默认设置。
  • 最近的要素输入点要素将聚合到最近的比较面或线要素。
String
输入比较要素
(可选)

聚合输入点要素参数值所依据的比较输入面或线要素类。

当将聚合方法参数设置为最近要素时,此参数处于活动状态。

Feature Layer

arcpy.ca.EightyTwentyAnalysis(in_features, out_feature_class, {cluster_tolerance}, {out_fields}, {aggregation_method}, {in_comparison_features})
名称说明数据类型
in_features

将用于创建聚类、线或面的输入点要素。

Feature Layer
out_feature_class

输出要素类。

当将 aggregation_method 参数设置为 POINT_CLUSTER 时,输出将为点要素类。

当将 aggregation_method 参数设置为 CLOSEST_FEATURE 时,输出的几何类型将与 in_comparison_features 参数值相同。

Feature Class
cluster_tolerance
(可选)

用于分隔点的最大距离,该距离内的点将视为相同聚类的一部分。

如果未指定聚类容差,则该工具将创建点要素重叠的聚类。

当将 aggregation_method 参数设置为 POINT_CLUSTER 时,此参数处于启用状态。

Linear Unit
out_fields
[out_fields,...]
(可选)

输入要素的字段将传递到输出中。

Field
aggregation_method
(可选)

指定输入点要素的聚合方式。

  • POINT_CLUSTER将聚类输入点要素。 这是默认设置。
  • CLOSEST_FEATURE输入点要素将聚合到最近的比较面或线要素。
String
in_comparison_features
(可选)

聚合 in_features 参数值所依据的比较输入面或线要素类。

当将 aggregation_method 参数设置为 CLOSEST_FEATURE 时,此参数处于启用状态。

Feature Layer

代码示例

EightyTwentyAnalysis 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 EightyTwentyAnalysis 函数。

import arcpy
arcpy.env.workspace = r"C:/data/city_pd.gdb"
arcpy.ca.EightyTwentyAnalysis("CallsForService", "80_20_clusters")
EightyTwentyAnalysis 示例 2(独立脚本)

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


# Name: EightyTwentyAnalysis.py
# Description: Conducts an 80/20 analysis of 911 calls to determine clusters of calls within 50 meters of each other.

# import system modules 
import arcpy

# Set environment settings
arcpy.env.workspace = r"C:\data\city_pd.gdb"

# Set local variables
in_features = "CallsForService"
out_feature_class = "80_20_clusters"
cluster_tolerance = "50 Meters"
out_fields = ["FULLADDR","RESCITY", "RESSTATE", "RESZIP5"]

# Run EightyTwentyAnalysis
arcpy.ca.EightyTwentyAnalysis(in_features,
                              out_feature_class,
                              cluster_tolerance,
                              out_fields)
EightyTwentyAnalysisStreets 示例 3(独立脚本)

以下 Python 脚本演示了如何在独立脚本中使用 EightyTwentyAnalysis 函数来确定附近犯罪数量不成比例的街道段。 在犯罪分析中,此类型分析有时被描述为寻找热点街道。

# Name: EightyTwentyAnalysisStreets.py
# Description: Conduct an 80/20 analysis of calls for service to determine street segments with a disproportional amount of crimes nearby.

# import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = r"C:\data\city_pd.gdb"

# Set local variables
in_features = "CallsForService"
out_feature_class = "80_20_streets"
comp_features = "city_centerlines"
out_fields = ["STREET_NAME", "L_ADDR_NUM", "R_ADDR_NUM"]

# Run Eighty Twenty Analysis
arpcy.ca.EightyTwentyAnalysis(in_features,
                              out_feature_class,
                              in_comparison_features=comp_features,
                              out_fields=out_fields)

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题