GeographicLib: Introduction (original) (raw)

Forward to Installing GeographicLib. Up to Contents.

GeographicLib offers a C++ interfaces to a small (but important!) set of geographic transformations. It grew out of a desire to improve on the GEOTRANS package for transforming between geographic and MGRS coordinates. At present, GeographicLib provides UTM, UPS, MGRS, geocentric, and local cartesian projections, gravity and geomagnetic models, and classes for geodesic calculations.

The goals of GeographicLib are:

Various Utility programs are provided with the library. These illustrate the use of the library and are useful in their own right. This library and the utilities have been tested with C++11 compliant versions of g++ under Linux, with Apple LLVM 7.0.2 under Mac OS X, and with MS Visual Studio 14 (2015), 15 (2017), and 16 (2019) compiled for 32 bit and 64 bit on Windows.

The section Geodesics on an ellipsoid of revolution documents the method of solving the geodesic problem.

The section Transverse Mercator projection documents various properties of this projection.

The bulk of the testing has used geographically relevant values of the flattening. Thus, you can expect close to full accuracy for −0.01 ≤ f ≤ 0.01 (but note that TransverseMercatorExact is restricted to f > 0). However, reasonably accurate results can be expected if −0.1 ≤ f ≤ 0.1. Outside this range, you should attempt to verify the accuracy of the routines independently. Two types of problems may occur with larger values of f:

Undoubtedly, bugs lurk in this code and in the documentation. Please report any you find to karne.nosp@m.y@al.nosp@m.um.mi.nosp@m.t.ed.nosp@m.u.

Forward to Installing GeographicLib. Up to Contents.