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
43 lines (40 loc) • 1.47 kB
JavaScript
Object.defineProperty(exports, "__esModule", {value: true});// index.ts
var _circle = require('@turf/circle');
var _destination = require('@turf/destination');
var _helpers = require('@turf/helpers');
function lineArc(center, radius, bearing1, bearing2, options = {}) {
const steps = options.steps || 64;
const angle1 = convertAngleTo360(bearing1);
const angle2 = convertAngleTo360(bearing2);
const properties = !Array.isArray(center) && center.type === "Feature" ? center.properties : {};
if (angle1 === angle2) {
return _helpers.lineString.call(void 0,
_circle.circle.call(void 0, center, radius, options).geometry.coordinates[0],
properties
);
}
const arcStartDegree = angle1;
const arcEndDegree = angle1 < angle2 ? angle2 : angle2 + 360;
let alpha = arcStartDegree;
const coordinates = [];
let i = 0;
const arcStep = (arcEndDegree - arcStartDegree) / steps;
while (alpha <= arcEndDegree) {
coordinates.push(
_destination.destination.call(void 0, center, radius, alpha, options).geometry.coordinates
);
i++;
alpha = arcStartDegree + i * arcStep;
}
return _helpers.lineString.call(void 0, coordinates, properties);
}
function convertAngleTo360(alpha) {
let beta = alpha % 360;
if (beta < 0) {
beta += 360;
}
return beta;
}
var turf_line_arc_default = lineArc;
exports.default = turf_line_arc_default; exports.lineArc = lineArc;
//# sourceMappingURL=index.cjs.map
;