Ggeodesy
This is a C++ library meant to provide implementation of the most commonly used geodetic algorithms.
Install / Use
/learn @DSOlab/GgeodesyREADME
C++ Geodetic Library
Introduction
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.
Dependancies
This library uses the eigen library for basic matrix manipulation and linear algebra.
Compilation / Installation
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
## (Optional) run tests
$> ctest --test-dir build
## Install, system-wide (needs root)
$> cd build && sudo make install
The Library
Coordinate Types
A point $P$ can be defined can be described (in 3-D space) by any of the following coordinate types:
- Cartesian, using $P = (x,y,z)$; unless otherwise stated, in SI units (i.e. meters)
- Geodetic, using $P= (\lambda , \phi , h)$, $\lambda$ denoting the longitude in range $-\pi \le \lambda \le \pi$, $\phi$ denoting the geodetic latitude in range $\frac{\pi}{2} \le \phi \le \frac{\pi}{2}$ and $h$ 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
Coordinate Transformations
-
Test : Geodetic -> Cartesian -> Geodetic results in max discrepancies (between the input and ouput geodetic coordinates) in the range: $max\delta \phi \approx 1e^{-10} arcsec$, $max\delta \lambda \approx 5e^{-11} arcsec$ and $max\delta height \approx 4e^{-9} m$. See here).
-
Test : Spherical -> Cartesian -> Spherical results in max discrepancies (between the input and ouput spherical coordinates) in the range: $max\delta \phi _{geocentric} \approx 1e^{-8} arcsec$, $max\delta \lambda \approx 5e^{-11} arcsec$ and $max\delta height \approx 2e^{-9} m$. See here).
PREPARE Funding
This study was funded under the project PREPARE (HFRI PN:15562) in the framework of H.F.R.I call “Basic research Financing (Horizontal support of all Sciences)” under the National Recovery and Resilience Plan “Greece 2.0” funded by the European Union – NextGenerationEU<br> <img src="https://github.com/demanasta/prepare_web/blob/main/logos/prepare_logo.png" width="150"><img src="https://github.com/demanasta/prepare_web/blob/main/logos/ntua.png" width="150"><br> <img src="https://github.com/demanasta/prepare_web/blob/main/logos/elidek_en.jpg" width="200"> <img src="https://github.com/demanasta/prepare_web/blob/main/logos/Gr20_en.jpg" width="380">
Related Skills
node-connect
345.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
106.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
345.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
345.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
