@spatial/clusters-dbscan
clustersDbscan
Takes a set of points and partition them into clusters according to https://en.wikipedia.org/wiki/DBSCAN data clustering algorithm.
Parameters
-
points
FeatureCollection<Point> to be clustered -
maxDistance
number Maximum Distance between any point of the cluster to generate the clusters (kilometers only) -
options
Object Optional parameters (optional, default{}
)-
options.units
string in whichmaxDistance
is expressed, can be degrees, radians, miles, or kilometers (optional, defaultkilometers
) -
options.minPoints
number Minimum number of points to generate a single cluster, points which do not meet this requirement will be classified as an 'edge' or 'noise'. (optional, default3
)
-
Examples
// create random points with random z-values in their properties
var points = turf.randomPoint(100, {bbox: [0, 30, 20, 50]});
var maxDistance = 100;
var clustered = turf.clustersDbscan(points, maxDistance);
//addToMap
var addToMap = [clustered];
Returns FeatureCollection<Point> Clustered Points with an additional two properties associated to each Feature:- {number} cluster - the associated clusterId
- {string} dbscan - type of point it has been classified as ('core'|'edge'|'noise')
This module is part of the Turfjs project, an open source module collection dedicated to geographic algorithms. It is maintained in the Turfjs/turf repository, where you can create PRs and issues.
Installation
Install this module individually:
$ npm install @spatial/clusters-dbscan
Or install the Turf module that includes it as a function:
$ npm install @turf/turf