This library is a JavaScript implementation of the geodesic routines from GeographicLib. This solves the direct and inverse geodesic problems for an ellipsoid of revolution.
$ npm install geographiclib
In node, do
var GeographicLib = require("geographiclib");
Full documentation is provided at http://geographiclib.sourceforge.net/1.45/js/.
var GeographicLib = require("geographiclib"),
geod = GeographicLib.Geodesic.WGS84, r;
// Find the distance from Wellington, NZ (41.32S, 174.81E) to
// Salamanca, Spain (40.96N, 5.50W)...
r = geod.Inverse(-41.32, 174.81, 40.96, -5.50);
console.log("The distance is " + r.s12.toFixed(3) + " m.");
// This prints "The distance is 19959679.267 m."
// Find the point 20000 km SW of Perth, Australia (32.06S, 115.74E)...
r = geod.Direct(-32.06, 115.74, 225, 20000e3);
console.log("The position is (" +
r.lat2.toFixed(8) + ", " + r.lon2.toFixed(8) + ").");
// This prints "The position is (32.11195529, -63.95925278)."
- algorithms + js code: Charles Karney (charles@karney.com)
- node.js port: Yurij Mikhalevich (0@39.yt)