UNPKG

trigonometry-js

Version:
23 lines (22 loc) 977 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require("./numberextensions"); var Geographic; (function (Geographic) { function DistanceBetween(geoCoordinate_1, geoCoordinate_2) { var earthRadiusKm = 6371; var lat1 = geoCoordinate_1.lat; var lat2 = geoCoordinate_2.lat; var lon1 = geoCoordinate_1.lng; var lon2 = geoCoordinate_2.lng; var dLat = (lat2 - lat1) * (Math.PI / 180); var dLon = (lon2 - lon1) * (Math.PI / 180); lat1 = lat1 * (Math.PI / 180); lat2 = lat2 * (Math.PI / 180); var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.sin(dLon / 2) * Math.sin(dLon / 2) * Math.cos(lat1) * Math.cos(lat2); var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); return earthRadiusKm * c; } Geographic.DistanceBetween = DistanceBetween; })(Geographic = exports.Geographic || (exports.Geographic = {}));