@rangeljl/shared
Version:
A set of functions that are used in a lot of places
22 lines (21 loc) • 856 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const coordinatesGetDistanceInMeters = (coordinate1, coordinate2) => {
const R = 6371e3; // Earth's radius in meters
const lat1Rad = (coordinate1[0] * Math.PI) / 180;
const lon1Rad = (coordinate1[1] * Math.PI) / 180;
const lat2Rad = (coordinate2[0] * Math.PI) / 180;
const lon2Rad = (coordinate2[1] * Math.PI) / 180;
// Haversine formula
const dLat = lat2Rad - lat1Rad;
const dLon = lon2Rad - lon1Rad;
const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
Math.cos(lat1Rad) *
Math.cos(lat2Rad) *
Math.sin(dLon / 2) *
Math.sin(dLon / 2);
const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
const distance = R * c;
return distance;
};
exports.default = coordinatesGetDistanceInMeters;