Summary
Conducts an 80/20 analysis of features and determines cluster locations by creating a graduated symbol layer based on the number of incidents occurring at each location. The tool calculates a cumulative percentage field to identify the locations where incidents are disproportionately occurring.
Usage
The 80/20 rule is a theoretical concept in which a large majority of incidents occur at a small minority of locations, for example 80 percent of incidents at 20 percent of locations.
The output is sorted based on newly generated ICOUNT (cluster count), CUMU_PERC (cumulative percentage), and PERC (percentage) fields.
- ICOUNT—The number of points found within the cluster tolerance for that cluster.
- CUMU_PERC—The cumulative percentage of the current cluster point and all other larger cluster points. This value can be used to determine if a disproportionate number of cluster locations represent a larger proportion of crimes, for example, 20 percent of cluster locations contain 80 percent of total points.
- PERC—The percentage of the total number of points found within the cluster tolerance for that cluster.
The output feature class will be symbolized by the ICOUNT (cluster count) field.
Syntax
EightyTwentyAnalysis(in_features, out_feature_class, {cluster_tolerance}, {out_fields})
Parameter | Explanation | Data Type |
in_features | The input point features used to create clusters. | Feature Layer |
out_feature_class | The output point cluster feature class. | Feature Class |
cluster_tolerance (Optional) | The maximum distance (meters, feet, kilometers, or miles) separating the points at which they will be considered part of the same cluster. If no cluster tolerance is specified, the tool will identify features that are geometrically identical to cluster. | Linear Unit |
out_fields [out_fields,...] (Optional) | The input feature fields that will be preserved. When no fields are preserved, no input feature fields will be copied to the output. This is the default behavior. | Field |
Code sample
The following Python window script demonstrates how to use the EightyTwentyAnalysis function in immediate mode.
import arcpy
arcpy.env.workspace = r"C:/data/city_pd.gdb"
arcpy.ca.EightyTwentyAnalysis("CallsForService", "80_20_clusters")
The following Python script demonstrates how to use the EightyTwentyAnalysis function in a stand-alone script.
# Name: EightyTwentyAnalysis.py
# Description: Conducts a 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"]
# Execute EightyTwentyAnalysis
arcpy.ca.EightyTwentyAnalysis(in_features,
out_feature_class,
cluster_tolerance,
out_fields)
Environments
Licensing information
- Basic: Yes
- Standard: Yes
- Advanced: Yes