GeographicLib is a small set of C++ classes for performing conversions between geographic, UTM, UPS, MGRS, geocentric, and local cartesian coordinates, for gravity (e.g., EGM2008), geoid height, and geomagnetic field (e.g., WMM2010) calculations, and for solving geodesic problems. (The library may be used from .NET applications using the NETGeographicLib wrapper library.) It is a suitable replacement for the core functionality provided by geotrans.