本文主要记录对RTKLIB源码中postpos、execses_b、execses_r 函数的源码解读,不涉及其中的天线、星历等文件读取的内容,且为个人理解,如果有误,欢迎交流讨论。
一、postpos 函数部分
/rxn2rtkp函数 → postpos函数传递参数:
postpos函数接收参数:
各参数含义:
• gtime_t ts: 处理开始时间。ts.time == 0 表示没有时间限制。
• gtime_t te: 处理结束时间。te.time == 0 表示没有时间限制。
• double ti: 处理时间间隔(秒)。ti == 0 表示处理整个时间段。
• double tu: 处理段时间(秒)。tu == 0 表示处理所有时间。
• const prcopt_t *popt: 处理选项,包含数据处理的各种参数配置。
• const solopt_t *sopt: 解算选项,定义输出格式等参数。
• const filopt_t *fopt: 文件选项,包含输入输出文件的路径等。
• char **infile: 输入文件列表,包含观测文件、导航文件等。
• int n: 输入文件数量。
• char *outfile: 输出文件路径(可为空字符串,表示输出到标准输出)。
• const char *rov: 移动站(rover)的ID列表。(用空格分隔)
• const char *base: 基准站(base station)的ID列表。(用空格分隔)
• 备注: 输入文件应包含观测数据、导航数据、精密星历/钟差数据(可选)、SBAS 日志文件(可选)、SSR
• 消息日志文件(可选)和 TEC 网格文件(可选)。只有第一个输入文件中的观测数据被视为流动站数据。
• 输入文件的类型通过文件扩展名识别,如下:
• .sp3,.SP3,.eph*,.EPH*: 精密星历 (sp3c)
• .sbs,.SBS,.ems,.EMS : SBAS 消息日志文件 (rtklib 或 ems)
• .rtcm3,.RTCM3 : SSR 消息日志文件 (rtcm3)
• .*i,.*I : TEC 网格文件 (ionex)
• 其他 : RINEX 观测、导航、GNAV、HNAV、QNAV 或钟差文件
• 输入文件可以包含通配符(*):如果文件包含通配符,将会使用展开后的多个文件。
• 输入文件可以包含关键词:如果文件包含关键词,关键词将会被日期、时间、流动站 ID 和基准站 ID 替换,进
• 行多次会话分析。请参阅 reppath() 了解关键词。
• 输出文件同样可以包含关键词:如果输出文件不包含关键词,所有多次会话分析的结果将输出到一个单一的输
• 出文件中。
• SSR 改正仅对前向估计有效。