Skip to content

A very fast density based clustering library for geographic points

License

Notifications You must be signed in to change notification settings

mapbox/dobbyscan

Repository files navigation

dobbyscan Node Simply Awesome

A very fast density based clustering JavaScript library for geographic points. Implements a variation of DBSCAN with great circle distance metric.

Example

const 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 — run bench.js to see it cluster 135k points in one second.

Install

npm install dobbyscan

About

A very fast density based clustering library for geographic points

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published