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
41 lines (38 loc) • 1.74 kB
TypeScript
import { Polygon, MultiPolygon, GeoJsonProperties, Feature, Point, MultiPoint, FeatureCollection } from 'geojson';
/**
* Finds {@link Points} or {@link MultiPoint} coordinate positions that fall within {@link (Multi)Polygon(s)}.
*
* @function
* @param {Feature|FeatureCollection<Point|MultiPoint>} points Point(s) or MultiPoint(s) as input search
* @param {FeatureCollection|Geometry|Feature<Polygon|MultiPolygon>} polygons (Multi)Polygon(s) to check if points are within
* @returns {FeatureCollection<Point|MultiPoint>} Point(s) or MultiPoint(s) with positions that land within at least one polygon. The geometry type will match what was passsed in
* @example
* var points = turf.points([
* [-46.6318, -23.5523],
* [-46.6246, -23.5325],
* [-46.6062, -23.5513],
* [-46.663, -23.554],
* [-46.643, -23.557]
* ]);
*
* var searchWithin = turf.polygon([[
* [-46.653,-23.543],
* [-46.634,-23.5346],
* [-46.613,-23.543],
* [-46.614,-23.559],
* [-46.631,-23.567],
* [-46.653,-23.560],
* [-46.653,-23.543]
* ]]);
*
* var ptsWithin = turf.pointsWithinPolygon(points, searchWithin);
*
* //addToMap
* var addToMap = [points, searchWithin, ptsWithin]
* turf.featureEach(ptsWithin, function (currentFeature) {
* currentFeature.properties['marker-size'] = 'large';
* currentFeature.properties['marker-color'] = '#000';
* });
*/
declare function pointsWithinPolygon<G extends Polygon | MultiPolygon, P extends GeoJsonProperties>(points: Feature<Point | MultiPoint, P> | FeatureCollection<Point | MultiPoint, P>, polygons: Feature<G> | FeatureCollection<G> | G): FeatureCollection<Point | MultiPoint, P>;
export { pointsWithinPolygon as default, pointsWithinPolygon };