clustersDbscan
Description
Takes a set of points and partition them into clusters according to DBSCAN's data clustering algorithm.
Parameters
Name | Type | Description |
---|---|---|
points | FeatureCollection<Point> | to be clustered |
maxDistance | number | Maximum Distance between any point of the cluster to generate the clusters (kilometers by default, see options) |
options? | Object | Optional parameters (default {}) |
options.units? | string | in which maxDistance is expressed, can be degrees, radians, miles, or kilometers (default "kilometers") |
options.mutate? | boolean | Allows GeoJSON input to be mutated (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'. (default 3) |
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')
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);
Installation
$ npm install @turf/clusters-dbscan
import { clustersDbscan } from "@turf/clusters-dbscan";
const result = clustersDbscan(...);
$ npm install @turf/turf
import * as turf from "@turf/turf";
const result = turf.clustersDbscan(...);