geolib
Version:
Library to provide basic geospatial operations like distance calculation, decoding of sexagesimal coordinates etc.
1 lines • 1.07 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _getLatitude=_interopRequireDefault(require("./getLatitude"));var _getLongitude=_interopRequireDefault(require("./getLongitude"));var _toRad=_interopRequireDefault(require("./toRad"));var _robustAcos=_interopRequireDefault(require("./robustAcos"));var _constants=require("./constants");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const getDistance=function(from,to){let accuracy=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;accuracy=!isNaN(accuracy)?accuracy:1;const fromLat=(0,_toRad.default)((0,_getLatitude.default)(from));const toLat=(0,_toRad.default)((0,_getLatitude.default)(to));const deltaLon=(0,_toRad.default)((0,_getLongitude.default)(from)-(0,_getLongitude.default)(to));const distance=Math.acos((0,_robustAcos.default)(Math.sin(toLat)*Math.sin(fromLat)+Math.cos(toLat)*Math.cos(fromLat)*Math.cos(deltaLon)))*_constants.earthRadius;return Math.round(distance/accuracy)*accuracy};var _default=exports.default=getDistance;