Takes a set of points and partition them into clusters using the k-mean . It uses the k-means algorithm
-
points
FeatureCollection<Point> to be clustered -
options
Object Optional parameters (optional, default{}
)
// create random points with random z-values in their properties
var points = turf.randomPoint(100, {bbox: [0, 30, 20, 50]});
var options = {numberOfClusters: 7};
var clustered = turf.clustersKmeans(points, options);
//addToMap
var addToMap = [clustered];
Returns FeatureCollection<Point> Clustered Points with an additional two properties associated to each Feature:* {number} cluster - the associated clusterId
- {[number, number]} centroid - Centroid of the cluster [Longitude, Latitude]
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-kmeans
Or install the all-encompassing @turf/turf module that includes all modules as functions:
$ npm install @turf/turf