Skip to content

Latest commit

 

History

History
57 lines (39 loc) · 1.44 KB

readme.md

File metadata and controls

57 lines (39 loc) · 1.44 KB

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