A very fast density based clustering JavaScript library for geographic points. Implements a variation of DBSCAN with great circle distance metric.
const clusters = dobbyscan(points, radius, p => p.lon, p => p.lat);
Returns an array of clusters, where each cluster is an array of points (from the input array).
points
: an array of input points of an arbitrary format.radius
: density clustering radius in kilometers.getLng
: (optional) a function that returns longitude given an input point,(p) => p[0]
by default.getLat
: (optional) a function that returns latitude given an input point,(p) => p[1]
by default.
This library is incredibly fast — run bench.js
to see it cluster 135k points in one second.
npm install dobbyscan