@turf/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 which maxDistance
is expressed, can be degrees, radians, miles, or kilometers (optional, default "kilometers"
)options.mutate
boolean Allows GeoJSON input to be mutated (optional, default false
)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, default 3
)
Examples
var points = turf.randomPoint(100, {bbox: [0, 30, 20, 50]});
var maxDistance = 100;
var clustered = turf.clustersDbscan(points, maxDistance);
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 single module individually:
$ npm install @turf/clusters-dbscan
Or install the all-encompassing @turf/turf module that includes all modules as functions:
$ npm install @turf/turf