| 1234567891011121314151617181920212223242526272829303132333435 |
- // index.ts
- import { degreesToRadians, radiansToDegrees } from "@turf/helpers";
- import { getCoord } from "@turf/invariant";
- function rhumbBearing(start, end, options = {}) {
- let bear360;
- if (options.final) {
- bear360 = calculateRhumbBearing(getCoord(end), getCoord(start));
- } else {
- bear360 = calculateRhumbBearing(getCoord(start), getCoord(end));
- }
- const bear180 = bear360 > 180 ? -(360 - bear360) : bear360;
- return bear180;
- }
- function calculateRhumbBearing(from, to) {
- const phi1 = degreesToRadians(from[1]);
- const phi2 = degreesToRadians(to[1]);
- let deltaLambda = degreesToRadians(to[0] - from[0]);
- if (deltaLambda > Math.PI) {
- deltaLambda -= 2 * Math.PI;
- }
- if (deltaLambda < -Math.PI) {
- deltaLambda += 2 * Math.PI;
- }
- const deltaPsi = Math.log(
- Math.tan(phi2 / 2 + Math.PI / 4) / Math.tan(phi1 / 2 + Math.PI / 4)
- );
- const theta = Math.atan2(deltaLambda, deltaPsi);
- return (radiansToDegrees(theta) + 360) % 360;
- }
- var turf_rhumb_bearing_default = rhumbBearing;
- export {
- turf_rhumb_bearing_default as default,
- rhumbBearing
- };
- //# sourceMappingURL=index.js.map
|