PPPLib源码阅读
PPPLib 基于 RTKLib 以 C++ 为主要开发语言编写,支持后处理 PPP、PPK、INS/GNSS 松组合和紧组合 ,作者是我的老师陈超。
一、主函数及文件读取
main
main 函数很短,调用 ParsePara 处理传入的程序参数,尤其是读取的配置文件,然后调用 Processer 进行下一步处理。程序参数如下:
-C
:Configuration 文件路径,必须有。-M
:定位模式,用下面的字符串:SPP-KINE
、PPP-KINE
、PPP-STATIC
、PPK-KINE
、PPK-STATIC
、IGLC-GSOF
、IGLC-PPP
、IGLC-PPK
、IGTC
、PPP
、IGTC-PPK
-S
:启用的系统:比如GPS、BDS:GB
-L
:调试等级,有以下三个:1 :Debug、32:Warning、128:Info
ParsePara
先是一个 for 循环,对传入参数进行处理,配置文件存入 conf_file
并判断是否存在、定位模式存入 mode、卫星系统存入 mask、调试等级存入 level。然后根据参数中的模式对选项结构体赋值,调用 InitLog 初始化配置文件,调用 LoadConf 加载配置文件到选项结构体。
Processer
打开数据文件夹到 dir、根据定位模式实例化对应的求解器(cSppSolver、cPppSolver、cPpkSolver、cFusionSolver)
然后是一个 while 循环,读取文件夹的文件,经过一系列判断之后,调用 AutoMatchFile