Find Point Clusters
The FindPointClusters task finds clusters of point features within surrounding noise based on their spatial and temporal distribution.
This task uses unsupervised machine learning clustering algorithms to detect patterns of point features based solely on spatial location and, optionally, the distance and time to a specified number of features.
The result map shows each identified cluster as well as features that are considered noise. Multiple clusters will be assigned each color. Colors will be assigned and repeated so that each cluster is visually distinct from its neighboring clusters.
This task uses the DBSCAN, HDBSCAN, or OPTICS method to find clusters. If the method is not specified and the searchDistance value is not provided, the HDBSCAN method will be used. If the method is not specified and searchDistance value is provided, the DBSCAN algorithm will be used. DBSCAN will use distance, and optionally time, to return clusters with similar densities. It is only appropriate if there is a clear search distance to use for the analysis. HDBSCAN will use a range of distances to separate clusters of varying densities from sparser noise resulting in more data-driven clusters. OPTICS will use the distances, and optionally time, between neighboring features to create a reachability plot, and use it to separate clusters of varying densities from noise.
Request URL
http://<analysis url>/FindPointClusters/submitJob
Request parameters
Parameter | Description |
---|---|
analysisLayer (Required) | The point feature layer for which clusters will be found. Syntax: As described in detail in the Feature input topic, this parameter can be one of the following:
Examples:
|
minFeaturesCluster (Required) | A double value that will be used as the minimum number of features to be considered a cluster. Any cluster with fewer features than the number provided will be considered noise. Example: "minFeaturesCluster": 5 |
method | Specifies the method that will be used to find clusters. If the method is not specified and the searchDistance value is not provided, the HDBSCAN algorithm will be used. If the method is not specified and the searchDistance value is provided, the DBSCAN algorithm will be used. This parameter is available in ArcGIS Enterprise 11.2 or higher. Values: DBSCAN | HDBSCAN | OPTICS Example: "method":"OPTICS" |
searchDistance | A double value that will be used as the maximum distance to search for neighboring features. The units of the search distance value is supplied by the searchDistanceUnit parameter. Example: "searchDistance": 154 |
searchDistanceUnit | The linear unit that will be used with the distance value specified for searchDistance. You must provide a value if searchDistance has been set. Values: Feet | Miles | Meters | Kilometers Example: "searchDistanceUnit": "Kilometers" |
sensitivity | A double value between 0 and 100 that determines the compactness of the clusters. This parameter is available in ArcGIS Enterprise 11.2 or higher. Example: "sensitivity": 22 |
timeField | Specifies the field in the analysisLayer value that contains a timestamp for each feature. This parameter is only available in ArcGIS Online. Example: "timeField":"start_time" |
searchTimeInterval | A value that will be used to determine whether features form a space-time cluster. The search time interval spans before and after the time of each feature. This parameter is only available in ArcGIS Online. Example: "searchTimeInterval": 4 |
searchTimeUnit | The unit that will be used with the time value specified for searchTimeInterval. You must provide a value if searchTimeInterval has been set. This parameter is only available in ArcGIS Online. Values: Seconds | Minutes | Hours | Days | Weeks | Months | Years Example: "searchTimeUnit": "Minutes" |
outputName | The name of the output. If provided, the task will create a feature service of the results. You define the name of the service. If an outputName value is not provided, the task will return a feature collection. Syntax: Syntax: |
context | The Context parameter contains the following additional settings that affect task operation:
Syntax:
|
f | The response format. The default response format is html. Values: html | json | kmz |
Response
When you submit a request, the service assigns a unique job ID for the transaction.
Syntax:
{
"jobId": "<unique job identifier>",
"jobStatus": "<job status>"
}
After the initial
request is submitted, you can use the
jobId value to periodically check the status of the job and messages as described in Check job status.
Once the job has successfully completed, you use
the jobId value to retrieve the results. To track the status, you can make a request of the following form:http://<analysis url>/FindPointClusters/jobs/<jobId>
Access results
When the status of the job request is esriJobSucceded, you can access the results of the analysis by making a request of the following form.
http://<analysis url>/FindPointClusters/jobs/<jobId>/results/pointClustersResultLayer?token=<your token>&f=json
Parameter | Description |
---|---|
pointClustersResultLayer | The result of FindPointClusters is a layer containing clustered points. Example: The result has properties for parameter name, data type, and value. The contents of value depend on the OutputName value provided in the initial request.
See Feature Output for more information about how the result layer or collection is accessed. |