跳到正文
发现
libgnss++:现代 C++20 GNSS 定位工具库
命令行工具开发者工具

libgnss++:现代 C++20 GNSS 定位工具库

面向非 GUI 定位的 C++20 GNSS 工具库,支持 SPP、RTK、PPP、CLAS 与 IMU 融合。

admin
发布于 2026-11-07
浏览
1
访问
0
下载
0
版本
v0.5.0
平台
Windows、macOS、Linux
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

libgnss++ 是一个现代 C++20 GNSS 工具库,专注非 GUI 的定位计算。它原生支持 SPP、RTK、PPP、CLAS/MADOCA、RTCM、UBX,并能直接处理 QZSS L6,无需依赖外部 RTKLIB 运行时。

项目同时提供命令行工具、可安装的 CMake 包、Python 绑定、Docker 镜像、ROS 2 回放以及浏览器 GUI。

主要功能

  • 解算器:gnss spp、gnss solve、gnss ppp
  • 输入与工具:RINEX、RTCM、UBX、SBF、NMEA、BINEX、QZSS L6
  • 产品:SP3、CLK、IONEX、DCB
  • 扩展:基准测试、Web 面板、Python 绑定、Docker、ROS 2 回放
  • GNSS/IMU 紧耦合融合与批量 FGO(实验性)

浏览器 GUI 将 gnss_convert、gnss_rinex_info、gnss_visibility、gnss_spp、gnss_solve、gnss_fuse、gnss_ppp、gnss_fgo 编译为 WebAssembly,使用与 CLI 相同的 main() 和选项,文件保留在浏览器中,每次运行都会显示等价的 gnss ... 命令。

安装与使用

无需安装即可试用浏览器 GUI:

https://rsasaki0109.github.io/gnssplusplus-library/app/

最快的命令行方式使用已发布的运行时镜像,无需本地构建:

mkdir -p output
docker run --rm -v "$PWD/output:/workspace/output" \
  ghcr.io/rsasaki0109/gnssplusplus-library:v0.5.0 \
  demo --output-dir /workspace/output/self-contained-demo

该命令在镜像可用后完全离线运行项目自带的合成 PPP 数据,应报告 8 个已处理、8 个有效的 PPP 解,并在 output/self-contained-demo/ 下写出 demo_solution.pos、demo_solution.kml 和 demo_summary.json。这只验证 CLI/构建/产物链路,不代表真实精度。

从源码构建并运行同一演示:

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --target gnss_ppp --parallel 2
python3 apps/gnss.py demo

作为 C++20 库使用

安装后会导出标准 CMake 包与 libgnsspp::gnss_lib 目标:

find_package(libgnsspp CONFIG REQUIRED)
target_link_libraries(my_gnss_app PRIVATE libgnsspp::gnss_lib)

安装前先构建完整导出库集合:cmake --build build --parallel 2,然后执行 cmake --install build --prefix <prefix>,使用方通过 -DCMAKE_PREFIX_PATH=<prefix> 配置。

注意事项

  • 项目以 C++20 编写,使用 CMake 构建,许可证为 MIT。
  • README 中的精度对比来自特定数据集与配置,属于选定片段的演示结果,不等同于全量基准。
  • 浏览器 GUI 中的所有计算在本地完成,文件不会上传。

本作品整理自 GitHub 开源项目 rsasaki0109/gnssplusplus-library,原作者 @rsasaki0109,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v0.5.0当前版本

    新增浏览器 GUI:命令行工具原样编译为 WebAssembly,提供 RTKLIB 风格界面;修复 gnss fuse --kml 输出为空、融合历元缺失于解算统计、gnss fgo --preset real-data-fixed 的 FIX 标签等问题。

评论