https://github.com/oliverhennhoefer/arcpy-supercluster
Python-Implementation of the Spatial Clustering Algorithm 'Supercluster' for ArcGIS and ArcPy.
https://github.com/oliverhennhoefer/arcpy-supercluster
algorithm arcgis arcpy arcpython clustering clustering-algorithm spatial spatial-analysis spatial-clustering supercluser
Last synced: about 2 months ago
JSON representation
Python-Implementation of the Spatial Clustering Algorithm 'Supercluster' for ArcGIS and ArcPy.
- Host: GitHub
- URL: https://github.com/oliverhennhoefer/arcpy-supercluster
- Owner: OliverHennhoefer
- Created: 2019-06-29T16:41:17.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-07-18T14:29:46.000Z (almost 3 years ago)
- Last Synced: 2025-03-27T05:33:31.925Z (2 months ago)
- Topics: algorithm, arcgis, arcpy, arcpython, clustering, clustering-algorithm, spatial, spatial-analysis, spatial-clustering, supercluser
- Language: Python
- Homepage:
- Size: 1.17 MB
- Stars: 5
- Watchers: 0
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ArcPy "Supercluster" algorithm for ArcGIS
An Implementation of the simple and fast spatial clustering algorithm *'supercluster'* (e.g. used by *Mapbox*) for ArcGIS that efficiently clusters huge datasets of points. Primarily suitable for creating maps of smaller scales.📗 Trial project. Primarily implemented to get familiar with the python syntax and the ArcPy interface for ArcGIS.
## Parameters:
- Input: FeatureClass (Point)
- Input: Cluster radius (in meter)
- Output: FeatureClass (Point)## Steps:
1. Start with a random point of the dataset
2. Find every point that lies within the given radius around this point
3. Form a cluster with the nearby points
4. Randomly select a new point of the dataset that isn't part of a cluster and repeat the previous steps.## Result:
Original point data
Result for a (cluster-)radius of 500 meters
Result for a (cluster-)radius of 1000 meters
*Note: Since the algorithm randomly chooses points for clustering, the results vary for every application of 'supercluster'*## Future Improvements:
- Calculate the mean position out of the points of one cluster to get more representative cluster locations.
- Add the possibility to fit additional attributes to the corresponding cluster (e.g. by calculating the mean for the points of the same cluster)