开源PPP软件PRIDE-PPPAR使用记录(二)解算网友发来的GNSS观测文件
最近有个网友发来了几个GNSS原始观测文件,想使用TerraPos处理一下看看结果。
TerraPos打开这几个文件,都报一个格式错误,见下图:
正在上传…重新上传取消
这个问题不难,解决之道就是按照上一篇文章的方法,使用GFZRNX修复这个观测文件。
# gfzrnx -finp 122.22o -chk > t1_1220.22o
DATE/TIME | C | EPOCH / FILE | SITE | T | MESSAGE
--------------------+---+-------------------------+------+---+-----------------------------------------------------------...
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | XXXX | O | file duration -> unsupported file name >122.22o<
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | missing mandatory header label >SYS / PHASE SHIFT<
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: missing
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: C -> L1D not found
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: C -> L2I not found
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: C -> L5D not found
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: C -> L6I not found
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: C -> L7I not found
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: E -> L1C not found
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: E -> L5X not found
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: E -> L7X not found
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: E -> L8X not found
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: G -> L1C not found
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: G -> L2W not found
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: G -> L5X not found
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: J -> L1C not found
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: J -> L1Z not found
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: J -> L2X not found
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: J -> L5X not found
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: R -> L1C not found
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: R -> L1P not found
2023-01-15 11:10:51 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: R -> L2P not found
2023-01-15 11:11:13 | N | 2022-10-25 08:51:18.000 | WZ12 | O | mandatory HEADER label >GLONASS COD/PHS/BIS< added to output
2023-01-15 11:11:13 | N | 2022-10-25 08:51:18.000 | WZ12 | O | mandatory HEADER label >SYS / PHASE SHIFT< added to output
TerraPos还是打不开修复后的文件,仍然报了一个格式错误,见下图:
这问题就不好理解了,猜测问题可能出在rinex文件的版本,使用GFZRNX将观测文件的版本转成rinex2
# gfzrnx -finp t1_1220.22o -vo 2 > t11_1220.22o
DATE/TIME | C | EPOCH / FILE | SITE | T | MESSAGE
--------------------+---+-------------------------+------+---+-----------------------------------------------------------...
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | XXXX | O | file duration -> unsupported file name >t1_1220.22o<
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | CRUX: skip >C
SYS / PHASE SHIFT <
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | CRUX: skip >E
SYS / PHASE SHIFT <
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | CRUX: skip >G
SYS / PHASE SHIFT <
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | CRUX: skip >J
SYS / PHASE SHIFT <
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | CRUX: skip >R
SYS / PHASE SHIFT <
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | missing mandatory header label >SYS / PHASE SHIFT<
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: missing
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: C -> L1D not found
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: C -> L2I not found
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: C -> L5D not found
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: C -> L6I not found
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: C -> L7I not found
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: E -> L1C not found
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: E -> L5X not found
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: E -> L7X not found
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: E -> L8X not found
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: G -> L1C not found
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: G -> L2W not found
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: G -> L5X not found
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: J -> L1C not found
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: J -> L1Z not found
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: J -> L2X not found
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: J -> L5X not found
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: R -> L1C not found
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: R -> L1P not found
2023-01-15 11:12:13 | W | 0000-00-00 00:00:00.000 | WZ12 | O | header SYS / PHASE SHIFT: R -> L2P not found
2023-01-15 11:12:27 | W | 2022-10-25 08:51:18.000 | WZ12 | O | label >SYS / # / OBS TYPES< skipped via output 2.11 (2.99 -> 99
2023-01-15 11:12:27 | W | 2022-10-25 08:51:18.000 | WZ12 | O | label >SIGNAL STRENGTH UNIT< skipped via output 2.11 (2.99 -> 9)
2023-01-15 11:12:27 | W | 2022-10-25 08:51:18.000 | WZ12 | O | label >GLONASS COD/PHS/BIS< skipped via output 2.11 (3.005 -> 399)
果然,TerraPos能打开这个观测文件的rinex2版本,随后下载星历文件,解算
解算的高程结果见下图,高程的平均值为25.5308m。
PRIDE-PPPAR解算观测文件命令如下:
# pdp3 -i 1.0 t11_1220.22o
===> CheckExecutables ...
===> CheckExecutables done
:: Processing time range: 2022-10-25 05:17:32.000 <==> 2022-10-25 08:51:18.000
:: Processing interval: 1.0
:: Site name: wz12
:: Positioning mode: K
:: AR switch: A
:: Configuration file: /home/Administrator/.PRIDE_PPPAR_BIN/config_template
:: RINEX observation file: /D/terraprj/Test/t11_1220.22o
===> ProcessSingleSession from 2022 298 to 2022 298 ...
解算的高程结果见下图,高程平均值为25.513m
从平面位置来看,应该是定点观测,TerraPos由于版本没有升级只使用了GPS/GLONASS星历,PRIDE-PPPAR使用了GPS/GLONASS/Galileo/Compass星历。TerraPos的Height收敛比PRIDE-PPPAR慢一些。
使用PRIDE-PPPAR,rinex观测文件名必须规范,rinex观测文件名格式有两种格式:短格式和长格式
短格式:”abmf0010.22o”
长格式:HKOH00HKG_R_20201900000_01H_01S_MO.rnx
其中年与年积日必须准确,否则按格式准确修改文件名。