npm.io
7.3.5 • Published 3 months ago

@turf/clusters-kmeans

Licence
MIT
Version
7.3.5
Deps
7
Size
19 kB
Vulns
0
Weekly
0
Stars
10.4K

@turf/clusters-kmeans

clustersKmeans

Takes a set of points and partition them into clusters using the k-mean . It uses the k-means algorithm

Parameters

  • points FeatureCollection<Point> to be clustered

  • options Object Optional parameters (optional, default {})

    • options.numberOfClusters number numberOfClusters that will be generated (optional, default Math.sqrt(numberOfPoints/2))
    • options.mutate boolean allows GeoJSON input to be mutated (significant performance increase if true) (optional, default false)
Examples
// 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.

Installation

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

Keywords