GeographicLib is a small C++ library for * geodesic and rhumb line calculations; * conversions between geographic, UTM, UPS, MGRS, geocentric, and local cartesian coordinates; * gravity (e.g., EGM2008) and geomagnetic field (e.g., WMM2020) calculations.