Point classification within the cluster.
Type: ("core" | "edge" | "noise")
Extends GeoJsonProperties
Properties assigned to each clustered point.
Type: object
Takes a set of points and partition them into clusters according to DBSCAN's data clustering algorithm.
points FeatureCollection<Point> to be clusteredmaxDistance number Maximum Distance between any point of the cluster to generate the clusters (kilometers by default, see options)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)// 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, DbscanProps> Clustered Points with an additional two properties associated to each Feature:* {number} cluster - the associated clusterId
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.
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