UNPKG

@riskyvaibhav/lat-long-to-km

Version:

This module takes in lat long of two locations and returns the distance between them in Kilometres.

30 lines (25 loc) 689 B
'use strict'; /** * Adds commas to a number * @param {number} lat1 * @param {number} lon1 * @param {number} lat2 * @param {number} lon2 * @return {number} */ module.exports = function(lat1,lon1,lat2,lon2) { var R = 6371; // Radius of the earth in km var dLat = deg2rad(lat2-lat1); // deg2rad below var dLon = deg2rad(lon2-lon1); var a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * Math.sin(dLon/2) * Math.sin(dLon/2) ; var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); var d = R * c; // Distance in km return d; } function deg2rad(deg) { return deg * (Math.PI/180) }