UNPKG

@kwikpik/server-libs

Version:

Kwikpik-Server-Libs ===================================================================================================================================================================================================

31 lines (30 loc) 1.17 kB
"use strict"; 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;