GeoDBSCAN
GeoDBSCAN provides a simple JavaScript implementation and API for the DBSCAN clustering algorithm using a geographic distance function. This allows developers to create clusters based on the geographic density of the points. The code is a modernisation and extension of density-clustering.
Interested in this kind of work? Dent Reality is hiring!
Installation
npm install geodbscan
Usage
GeoDBSCAN only has one method, namely cluster
. It is used like this:
const coords = points.map((point) => point.geometry.coordinates);
const clusters = geodbscan.cluster(coords, {
minPts: 2,
epsilon: 1000,
});
It takes a second options object argument which has two properties:
- minPts - minimum number of points used to form a cluster
- epsilon? - the radius of a neighborhood with respect a given point (this is in meters). This value is technically optional as we try to calculate a sensible value from a knn distance plot, however you'll probably get better results providing your own value
Development
We welcome contributions to the library. The code is written in TypeScript, bundled with microbundle and tested with Jest.
Testing
npm run test
Building
npm run build
or in watch mode:
npm run watch
License
MIT License