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.
- Input: FeatureClass (Point)
- Input: Cluster radius (in meter)
- Output: FeatureClass (Point)
- Start with a random point of the dataset
- Find every point that lies within the given radius around this point
- Form a cluster with the nearby points
- Randomly select a new point of the dataset that isn't part of a cluster and repeat the previous steps.
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'
- 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)