@turf/clusters-dbscan
Dbscan
Point classification within the cluster.
Type: ("core" | "edge" | "noise")
DbscanProps
Extends GeoJsonProperties
Properties assigned to each clustered point.
Type: object
Properties
clustersDbscan
Takes a set of points and partition them into clusters according to DBSCAN's data clustering algorithm.
Parameters
-
pointsFeatureCollection<Point> to be clustered -
maxDistancenumber Maximum Distance between any point of the cluster to generate the clusters (kilometers by default, see options) -
optionsObject Optional parameters (optional, default{})options.unitsUnits in whichmaxDistanceis expressed, Supports all valid Turf Units (optional, default"kilometers")options.mutateboolean Allows GeoJSON input to be mutated (optional, defaultfalse)options.minPointsnumber 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, DbscanProps> 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