dobbyscan
A very fast density based clustering JavaScript library for geographic points.
Example
var clusters = dobbyscan(points, radius, (p) => p.lon, (p) => p.lat);
API
dobbyscan(points, radius, getLng, getLat)
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.
Performance
This library is incredibly fast — runbench.js
to see it cluster 140k points in a couple seconds.