Summary
Finds clusters of point features in surrounding noise based on their spatial distribution.
Illustration

Usage
This geoprocessing tool is available with ArcGIS Enterprise 10.6.1.
This tool extracts clusters from the Input Point Layer and identifies any surrounding noise.
There are twoClustering Method options. Defined distance uses the DBSCAN algorithm and finds clusters of points that are in close proximity based on a specified search distance. Self-adjusting uses the HDBSCAN algorithm and finds clusters of points similar to DBSCAN but uses varying distances allowing for clusters with varying densities based on cluster probability (or stability).
This tool produces an output feature class with a new integer field, CLUSTER_ID, that identifies the cluster where each feature is located. Default rendering is based on the COLOR_ID field. Multiple clusters will be assigned each color. Colors will be assigned and repeated so that each cluster is visually distinct from its neighboring clusters.
If the Clustering Method chosen was Self-adjusting (HDBSCAN), the output feature class will also contain the following fields:
- PROB—The probability that a feature belongs in its assigned cluster.
- OUTLIER—The likelihood that a feature is an outlier within its own cluster. A larger value indicates that the feature is more likely to be an outlier.
- EXEMPLAR— Indicates which features are most representative of each cluster. These features are indicated by a value of 1.
- STABILITY— The persistence of each cluster across a range of scales. A larger score indicates that a cluster persists over a wider range of distance scales.
Find Point Clusters requires that the Input Point Layer is projected or that the output coordinate system is set to a projected coordinate system.
This geoprocessing tool is powered by ArcGIS GeoAnalytics Server. Analysis is completed on your GeoAnalytics Server, and results are stored in your content in ArcGIS Enterprise.
When running GeoAnalytics Tools, the analysis is completed on the GeoAnalytics Tools. For optimal performance, data should be available to the GeoAnalytics Tools through feature layers hosted on your ArcGIS Enterprise portal or through big data file shares. Data that is not local to your GeoAnalytics Tools will be moved to your GeoAnalytics Tools before analysis begins. This means that it will take longer to run a tool, and in some cases, moving the data from ArcGIS Pro to your GeoAnalytics Tools may fail. The threshold for failure depends on your network speeds, as well as the size and complexity of the data. Therefore, it is recommended that you always share your data or create a big data file share.
Learn more about sharing data to your portal
Learn more about creating a big data file share through Server Manager
Syntax
FindPointClusters_geoanalytics (input_points, output_name, minimum_points, search_distance, {data_store}, clustering_method)
Parameter | Explanation | Data Type |
input_points | The point feature class containing the point clusters. | Feature Set |
output_name | The name of the output feature service. | String |
minimum_points | The minimum number of features to be considered a cluster. Any cluster with fewer features than the number provided will be considered noise. | Long |
search_distance | The maximum distance to consider. The Minimum Features per Cluster specified must be found within this distance for cluster membership. Individual clusters will be separated by at least this distance. If a feature is located further than this distance from the next closest feature in the cluster, it will not be included in the cluster. | Linear Unit |
data_store (Optional) | Specifies the ArcGIS Data Store where the output will be saved. The default is SPATIOTEMPORAL_DATA_STORE. All results stored to the SPATIOTEMPORAL_DATA_STORE will be stored in WGS84. Results stored in a RELATIONAL_DATA_STORE will maintain their coordinate system.
| String |
clustering_method | The method used to define clusters.
| String |
Derived Output
Name | Explanation | Data Type |
output | The output point clusters. | Feature Set |
Code sample
The following Python window script demonstrates how to use the FindPointClusters tool.
#-------------------------------------------------------------------------------
# Name: FindPointClusters.py
# Description: Finds Point Clusters of rodent infestations
#
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inputPoints = "https://myGeoAnalyticsMachine.domain.com/geoanalytics/rest/services/DataStoreCatalogs/bigDataFileShares_countyData/BigDataCatalogServer/rat_sightings"
minimumPoints = 10
outputName = "RodentClusters"
searchDistance = "1 Kilometers"
dataStore = "SPATIOTEMPORAL_DATA_STORE"
clusterMethod = "DBSCAN"
# Execute Find Point Clusters
arcpy.geoanalytics.FindPointClusters(inputPoints, outputName, mimimumPoints,
searchDistance, dataStore, clusterMethod)
Environments
- Output Coordinate System
The coordinate system that will be used for analysis. Analysis will be completed on the input coordinate system unless specified by this parameter. For GeoAnalytics Tools, final results will be stored in the spatiotemporal data store in WGS84.
Licensing information
- Basic: Requires ArcGIS GeoAnalytics Server
- Standard: Requires ArcGIS GeoAnalytics Server
- Advanced: Requires ArcGIS GeoAnalytics Server