GeographicLib is a small set of C++ classes for converting between geographic, UTM, UPS, MGRS, and geocentric coordinates, for gravity (e.g., EGM2008), geoid, and geomagnetic field (e.g., WMM2010) calculations, and for solving geodesic problems. For documentation, visit http://geographiclib.sf.net
The software is carefully thought out and easy to install. A pleasure to work with.
And also with friendly and quick support by Charles
Nice library with great documentation.