Cluster/Outlier Analysis with Rendering (Spatial Statistics)


Given a set of weighted features, identifies hot spots, cold spots, and spatial outliers using the Anselin Local Moran's I statistic. It then applies cold-to-hot rendering to the z-score results.


Cluster and Outlier Analysis illustration



ClustersOutliersRendered_stats (Input_Feature_Class, Input_Field, Output_Layer_File, Output_Feature_Class)
ParameterExplanationData Type

The feature class for which cluster analysis will be performed.

Feature Layer

The field to be evaluated.


The output layer file to store rendering information.

Layer File

The output feature class to receive the results field, z-score, p-value, and cluster type designation.

Feature Class

Code Sample

Cluster and Outlier Analysis with Rendering Example (Python Window)

The following Python Window script demonstrates how to use the Cluster and Outlier Analysis with Rendering tool.

import arcpy
arcpy.env.workspace = "c:/data/911calls"
arcpy.ClustersOutliersRendered_stats("911Count.shp", "ICOUNT","911ClusterOutlier_rendered.lyr", "911ClusterOutlier.shp")
Cluster and Outlier Analysis with Rendering Example (Stand-alone Python script).

The following stand-alone Python script demonstrates how to use the Cluster and Outlier Analysis with Rendering tool.

# Analyze the spatial distribution of 911 calls in a metropolitan area
# using the Cluster-Outlier Analysis with Rendering Tool (Anselin's Local Moran's I)

# Import system modules
import arcpy

# Set geoprocessor object property to overwrite outputs if they already exist = True

# Local variables...
workspace = r"C:\Data\911Calls"

    # 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", "#")

    # Cluster/Outlier Analysis of 911 Calls
    # Process: Local Moran's I
    clusters = arcpy.ClustersOutliersRendered_stats("911Count.shp", "ICOUNT", 
                        "911ClusterOutlier_rendered.lyr", "911ClusterOutlier.shp")

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


Output Coordinate System

Feature geometry is projected to the Output Coordinate System prior to analysis, so values entered for the Distance Band or Threshold Distance parameter should match those specified in the Output Coordinate System. All mathematical computations are based on the spatial reference of the Output Coordinate System.

Related Topics

Licensing Information

ArcView: Yes
ArcEditor: Yes
ArcInfo: Yes