GeodSolve performs geodesic calculations for an arbitrary ellipsoid of revolution. The shortest path between two points on the ellipsoid at (lat1, lon1) and (lat2, lon2) is called the geodesic; its length is s12 and the geodesic from point 1 to point 2 has azimuths azi1 and azi2 at the two end points. There are two standard geodesic problems:
16.776 -3.009 16d47' -3d1' W3°0'34" N16°46'33" 3:0:34W 16:46:33NAzimuths are given in degrees clockwise from north. The distance s12 is in meters.
The additional quantities computed are:
The ellipsoid is specified by its equatorial radius, a, and its flattening, f = (a − b)/a, where b is the polar semi-axis. The default values for these parameters correspond to the WGS84 ellipsoid. The method is accurate for −99 ≤ f ≤ 0.99 (corresponding to 0.01 ≤ b/a ≤ 100). Note that f is negative for a prolate ellipsoid (b > a) and that it can be entered as a fraction, e.g., 1/297. (If the value entered for f is greater than 1, its reciprocal is used.)
GeodSolve is accurate to about 15 nanometers (for the WGS84 ellipsoid) and gives solutions for the inverse problem for any pair of points. Many other geodesic calculators (based on Vincenty's method) fail for some inputs; for example, the NGS online inverse geodesic calculator sometimes fails to terminate.
GeodSolve, which is a simple wrapper of the GeographicLib::Geodesic class, is one of the utilities provided with GeographicLib. Geodesics can also be computed using JavaScript; see the JavaScript geodesic calculator and geodesics on Google maps. If you wish to use GeodSolve directly, download and compile GeographicLib. The algorithms are described in C. F. F. Karney, Algorithms for geodesics, J. Geodesy 87, 43–55 (2013); DOI: 10.1007/s00190-012-0578-z; addenda: geod-addenda.html. See also the Wikipedia page, Geodesics on an ellipsoid.