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
48 lines (45 loc) • 1.73 kB
TypeScript
import { FeatureCollection, Point, Polygon } from 'geojson';
interface Pt {
x: number;
y: number;
z?: number;
__sentinel?: boolean;
}
interface Vertice {
x: number;
y: number;
}
/**
* Takes a set of {@link Point|points} and creates a
* [Triangulated Irregular Network](http://en.wikipedia.org/wiki/Triangulated_irregular_network),
* or a TIN for short, returned as a collection of Polygons. These are often used
* for developing elevation contour maps or stepped heat visualizations.
*
* If an optional z-value property is provided then it is added as properties called `a`, `b`,
* and `c` representing its value at each of the points that represent the corners of the
* triangle.
*
* @function
* @param {FeatureCollection<Point>} points input points
* @param {String} [z] name of the property from which to pull z values
* This is optional: if not given, then there will be no extra data added to the derived triangles.
* @returns {FeatureCollection<Polygon>} TIN output
* @example
* // generate some random point data
* var points = turf.randomPoint(30, {bbox: [50, 30, 70, 50]});
*
* // add a random property to each point between 0 and 9
* for (var i = 0; i < points.features.length; i++) {
* points.features[i].properties.z = ~~(Math.random() * 9);
* }
* var tin = turf.tin(points, 'z');
*
* //addToMap
* var addToMap = [tin, points]
* for (var i = 0; i < tin.features.length; i++) {
* var properties = tin.features[i].properties;
* properties.fill = '#' + properties.a + properties.b + properties.c;
* }
*/
declare function tin(points: FeatureCollection<Point, any>, z?: string): FeatureCollection<Polygon>;
export { type Pt, type Vertice, tin as default, tin };