45 lines
1.7 KiB
TypeScript
Executable File
45 lines
1.7 KiB
TypeScript
Executable File
import { FeatureCollection, Point, Polygon } from "@turf/helpers";
|
|
export interface Pt {
|
|
x: number;
|
|
y: number;
|
|
z?: number;
|
|
__sentinel?: boolean;
|
|
}
|
|
export 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.
|
|
*
|
|
* @name tin
|
|
* @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;
|
|
* }
|
|
*/
|
|
export default function tin(points: FeatureCollection<Point, any>, z?: string): FeatureCollection<Polygon>;
|