@kwikpik/server-libs
Version:
Kwikpik-Server-Libs ===================================================================================================================================================================================================
31 lines (30 loc) • 1.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.calculateDistanceInKMUsingCoordinates = void 0;
/**
* Calculate straight line distance (in KM) between two geographical points.
*
* @param latitude0 Latitude of first point.
* @param longitude0 Longitude of first point.
* @param latitude1 Latitude of second point.
* @param longitude1 Longitude of second point.
* @returns
*/
var calculateDistanceInKMUsingCoordinates = function (latitude0, longitude0, latitude1, longitude1) {
try {
var R = 6371; // earth's radius in KM
var radians = Math.PI / 180;
var lat0 = latitude0 * radians;
var lat1 = latitude1 * radians;
var latitudeDelta = (latitude1 - latitude0) * radians;
var longitudeDelta = (longitude1 - longitude0) * radians;
var a =
Math.pow(Math.sin(latitudeDelta / 2), 2) +
Math.cos(lat0) * Math.cos(lat1) * Math.pow(Math.sin(longitudeDelta / 2), 2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
return R * c;
} catch (error) {
return Number.NEGATIVE_INFINITY;
}
};
exports.calculateDistanceInKMUsingCoordinates = calculateDistanceInKMUsingCoordinates;