UNPKG

node-red-contrib-tak-registration

Version:

A Node-RED node to register to TAK and to help wrap files as datapackages to send to TAK

32 lines (31 loc) 1.48 kB
import { FeatureCollection, Point, Properties } from "@turf/helpers"; export declare type KmeansProps = Properties & { cluster?: number; centroid?: [number, number]; }; /** * Takes a set of {@link Point|points} and partition them into clusters using the k-mean . * It uses the [k-means algorithm](https://en.wikipedia.org/wiki/K-means_clustering) * * @name clustersKmeans * @param {FeatureCollection<Point>} points to be clustered * @param {Object} [options={}] Optional parameters * @param {number} [options.numberOfClusters=Math.sqrt(numberOfPoints/2)] numberOfClusters that will be generated * @param {boolean} [options.mutate=false] allows GeoJSON input to be mutated (significant performance increase if true) * @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] * @example * // 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]; */ declare function clustersKmeans(points: FeatureCollection<Point>, options?: { numberOfClusters?: number; mutate?: boolean; }): FeatureCollection<Point, KmeansProps>; export default clustersKmeans;