Precision positioning and navigation software from the Wuhan University GREAT Group.
GREAT-PVT is a C++ command-line module of the GREAT (GNSS+ Research, Application, and Teaching) platform. It provides PPP and RTK positioning solutions for scientific, engineering, and teaching use in geodesy and navigation.
- Multi-GNSS processing for GPS, GLONASS, Galileo, and BDS-2/3.
- Ionosphere-free and uncombined PPP observation models.
- Multi-frequency, multi-system PPP float and fixed solutions.
- Dual-frequency and mixed-frequency RTK solutions.
- Batch-processing and plotting utilities for multi-day result analysis.
- Prebuilt command-line binaries for Windows and Linux.
Use the prebuilt executable if you only want to run GREAT-PVT.
GREAT_PVT.exe -x GREAT_PPP.xmlchmod +x GREAT_PVT
GREAT_PVT -x GREAT_PPP.xmlThe XML files in doc/ are templates. Update their input and output paths to
match the extracted files from sample_data/ or your own GNSS products before
running.
Requirements:
- CMake 3.5+
- A C++ compiler with C++11 support
- Windows, Linux, or macOS
Build on Linux/macOS:
cmake -S src -B src/build -DCMAKE_BUILD_TYPE=Release
cmake --build src/build --config ReleaseBuild on Windows with Visual Studio and CMake GUI:
- Open CMake GUI.
- Set
Where is the source codeto the repositorysrcdirectory. - Set
Where to build the binariestosrc/build. - Click
Configure, then select your installed Visual Studio generator. - Click
Generate. - Click
Open Project, then build theReleaseconfiguration in Visual Studio.
Build outputs are written under CMake-generated platform directories such as
src/build_Linux or src/build_Windows.
GREAT_PVT -x <config.xml>
Useful options:
-h, --help Show command-line help
-x file Read XML configuration
bin/ Prebuilt Windows and Linux executables/libraries
doc/ Manuals and sample XML configurations
sample_data/ PPP and RTK sample datasets
src/ C++ source code
app/GREAT_PVT/ Command-line application
LibGREAT/ PPP, PPP-AR, and RTK processing library
LibGnut/ G-Nut-based GNSS data and utility library
third-party/ Vendored third-party headers/libraries
util/ Batch processing, plotting, and EOP utilities
The repository includes compressed examples:
sample_data/PPPFLT_2023305.zipfor PPPsample_data/RTKFLT_2020351.zipfor RTK
Extract a sample dataset, then adjust doc/GREAT_PPP.xml or
doc/GREAT_RTK.xml so the paths under <inputs> point to the extracted files.
Detailed installation, configuration, input products, and output formats are covered in:
doc/GREAT-PVT_1.0.pdfdoc/GREAT-PVT_manual_1.0.pdf
- The code related to the inertial frame has been removed. The code structure is now more streamlined, and the overall system can perform PPP and RTK entirely based on the Earth‑fixed frame.
- The
gallnoteandgnoteclasses have been removed.
- The SOFA software is employed for the rotation from the inertial frame to the Earth-fixed frame, with current tests indicating comparable accuracy. By eliminating substantial redundant computations during the rotation process, the PPP positioning efficiency for a single station (intv=30s) has been improved by 10% or more, as confirmed by the test results.
- A bug is fixed for great_log.cpp
- Fixed an error in the GLONASS satellite attitude calculation (function t_gattitude_model::_noon_turn_GLOM). Consequently, when GLONASS satellites are included in the positioning solution, the results from version 1.3 may be inconsistent with those from earlier versions.
- More smart spdlog, spdlog version update to spdlog-1.17.0.
- Added English documentation and improved related content.
- Updated sample data.
- Fixed code formatting issues.
- Fixed a Visual Studio Debug-mode crash on Windows.
- Fixed exceptions caused by missing PCO/PCV correction information in ATX. antenna files.
- Corrected description errors in
GREAT-PVT_1.0.pdf. - Fixed code formatting issues.
GREAT-PVT is developed by the GNSS+ Research, Application and Teaching (GREAT) Group, School of Geodesy and Geomatics, Wuhan University.
Third-party components include:
- G-Nut Library
- pugixml
- Newmat
- spdlog
- Eigen
- FAST
- [SOFA](Standards of Fundamental Astronomy - SOFA Library Issue 2023-10-11 for ANSI C — SOFA)
This project is licensed under the GNU General Public License v3.0.
GREAT (GNSS+ REsearch, Application and Teaching) 软件由武汉大学测绘学院设计开发,是一个用于空间大地测量数据处理、精密定位和定轨以及多源融合导航的综合性软件平台。
GREAT-PVT是GREAT软件中的一个重要模块,主要用于精密定位解算。软件中,核心计算模块使用C++语言(C++17)编写,辅助脚本模块使用Python3和C-Shell语言实现自动化数据处理。GREAT-PVT软件使用CMAKE工具进行编译管理,用户可以灵活选择GCC、Clang、MSVC等主流C++编译器。目前软件提供了Windows和Linux平台的命令行应用程序。
GREAT-PVT由2个可移植程序库组成,分别是LibGREAT和LibGnut。LibGREAT库主要用于PPP、RTK滤波解算,包括滤波估计中涉及的数据解码、存储以及PPP、PPP-AR、RTK算法的实现,LibGnut库来源于开源GNSS软件G-nut,包括GNSS数据的解码和存储以及基本参数配置模块。
GREAT-PVT软件主要特点包括:
-
支持GPS、GLONASS、Galileo、BDS-2/3系统
-
支持无电离层组合、非差非组合PPP观测值组合方式
-
支持多频率多系统PPP浮点解与固定解
-
支持双频、混合频率RTK解算
此外,软件包还提供批处理脚本和定位结果绘图脚本,便于用户对多天数据进行解算与结果分析。
GREAT-PVT_<ver>
./bin Windows和Linux可执行程序 *
./src 源代码 *
./app GREAT-PVT主程序 *
./LibGREAT PPP、PPP-AR、RTK解算库 *
./LibGnut Gnut库 *
./third-party 第三方库 *
./sample_data 算例数据 *
./PPPFLT_2023305 PPP算例 *
./RTKFLT_2020351 RTK算例 *
./util 脚本工具 *
./batch_process PPP批处理脚本 *
./plot 画图脚本 *
./poleut1 地球定向参数生成程序 *
./doc 文档 *
GREAT_PPP.xml PPP配置文件模板 *
GREAT_RTK.xml RTK配置文件模板 *
GREAT-PVT_<ver>.pdf GREAT-PVT用户指南 *参见GREAT-PVT_1.0.pdf
- 修复了Windows平台中VS软件Debug模式下程序运行崩溃的问题。
- 修复了ATX天线文件中PCO、PCV改正数信息缺失导致的程序运行异常。
- 修改了GREAT-PVT_1.0.pdf中的描述错误。
- 其他代码格式问题的修改。
- 增加英文版说明文档并完善相关内容。
- 更新了算例。
- 其他代码格式问题的修改。
开发人员:
武汉大学GREAT团队, Wuhan University.
三方库:
-
GREAT-PVT使用G-Nut库(http://www.pecny.cz) Copyright (C) 2011-2016 GOP - Geodetic Observatory Pecny, RIGTC.
-
GREAT-PVT使用pugixml库(http://pugixml.org) Copyright (C) 2006-2014 Arseny Kapoulkine.
-
GREAT-PVT使用Newmat库(http://www.robertnz.net/nm_intro.htm) Copyright (C) 2008: R B Davies.
-
GREAT-PVT使用spdlog库(https://github.com/gabime/spdlog) Copyright(c) 2015-present, Gabi Melman & spdlog contributors.
-
GREAT-PVT使用Eigen库(https://eigen.tuxfamily.org) Copyright (C) 2008-2011 Gael Guennebaud
-
脚本工具使用部分FAST源码(https://github.com/ChangChuntao/FAST) Copyright (C) The GNSS Center, Wuhan University & Chinese Academy of Surveying and mapping.
GitHub:https://github.com/GREAT-WHU/GREAT-PVT
欢迎加入QQ群(1009827379)参与讨论与交流。