geocluster

0.1.1 • Public • Published

geocluster

geocluster finds clusters in sets of coordinates. It's a port of S-means by Brian Hann (which itself is a stdev-driven form of K-means), but with two dimensions, Earth-geodesic distance and properly working code.

Install

npm install geocluster

API

result = geocluster(coordinates[, bias])

coordinates is an Array of [lat, lon] pairs. bias is a factor the standard deviation gets multiplied with, which acts as threshold to determine if a coordinate belongs to a cluster.

result is an Array of cluster objects, which have centroid and elements properties. Example:

[{
    centroid: [1.0,1.0],
    elements: [
        [1.0,1.0], [0.9,1.1], [1.1,0.9]
    ]
},{
    centroid: [2.0,2.0],
    elements: [
        [2.0,2.0], [1.9,2.1], [2.1,1.9]
    ]
}]

Sample Code

 
var geocluster = require("geocluster");
 
var coordinates = [ // array of lat-lon-pairs
    [<lat>, <lon>], 
    [<lat>, <lon>], 
    [<lat>, <lon>],
    // ...
];
 
var bias = 1.5; // multiply stdev with this factor, the smaller the more clusters
 
var result = geocluster(coordinates, bias); 
 
// result is an array of cluster objects with `centroid` and `elements` properties
 

License

Public Domain

Package Sidebar

Install

npm i geocluster

Weekly Downloads

60

Version

0.1.1

License

none

Last publish

Collaborators

  • yetzt