This is a C++ library meant to provide implementations of the most commonly used
geodetic calculations. The whole library is wrapped around the dso
namespace.
This library uses the eigen library for basic matrix manipulation and linear algebra.
Building the library requires cmake Supposing you are located in the top-level directory:
## to build in a folder named "build":
$> cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
$> cmake --build build --target all --config Release -- -j4
## Install, system-wide (needs root)
$> make install
## (Optional) run tests
$> ctest --test-dir build
A point
-
Cartesian, using
; unless otherwise stated, in SI units (i.e. meters) -
Geodetic, using
, denoting the longitude in range , denoting the geodetic latitude in range and denotes the ellipsoidal height. Unless otherwise stated, ellipsoidal coordinate sets are given/derived in this order (i.e. $(\lambda, \phi, h)$) in units of radians and meters. Note that geodetic coordinates are based on a reference ellipsoid. - Spherical
-
Test : Geodetic -> Cartesian -> Geodetic results in max discrepancies (between the input and ouput geodetic coordinates) in the range:
, and . See here). -
Test : Spherical -> Cartesian -> Spherical results in max discrepancies (between the input and ouput spherical coordinates) in the range:
, and . See here).