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
44 lines (41 loc) • 1.61 kB
JavaScript
Object.defineProperty(exports, "__esModule", {value: true});// index.ts
var _booleanpointinpolygon = require('@turf/boolean-point-in-polygon');
var _helpers = require('@turf/helpers');
var _meta = require('@turf/meta');
function pointsWithinPolygon(points, polygons) {
const results = [];
_meta.featureEach.call(void 0, points, function(point) {
let contained = false;
if (point.geometry.type === "Point") {
_meta.geomEach.call(void 0, polygons, function(polygon) {
if (_booleanpointinpolygon.booleanPointInPolygon.call(void 0, point, polygon)) {
contained = true;
}
});
if (contained) {
results.push(point);
}
} else if (point.geometry.type === "MultiPoint") {
var pointsWithin = [];
_meta.geomEach.call(void 0, polygons, function(polygon) {
_meta.coordEach.call(void 0, point, function(pointCoord) {
if (_booleanpointinpolygon.booleanPointInPolygon.call(void 0, pointCoord, polygon)) {
contained = true;
pointsWithin.push(pointCoord);
}
});
});
if (contained) {
results.push(
_helpers.multiPoint.call(void 0, pointsWithin, point.properties)
);
}
} else {
throw new Error("Input geometry must be a Point or MultiPoint");
}
});
return _helpers.featureCollection.call(void 0, results);
}
var turf_points_within_polygon_default = pointsWithinPolygon;
exports.default = turf_points_within_polygon_default; exports.pointsWithinPolygon = pointsWithinPolygon;
//# sourceMappingURL=index.cjs.map
;