使用关键词替换(Keyword Replacement)进行RTKLIB RTKPOST批处理

使用关键词替换(Keyword Replacement)进行RTKLIB RTKPOST批处理

一、可执行程序中的实现

使用RTKPOST GUI进行后处理定位时,输入文件框数量较少,仅可满足单个测站单个时间段的解算。RTKLIB提供了关键词替换(Keyword Replacement)这一方法进行数据的批量处理。

点击观测值路径框上方的 “?” 即可呼出可用关键词帮助,如下:

下面,给出一个多测站RTK解算示例:

处理文件:基站观测文件:hklm0010.20o 流动站观测文件:hkqt0010.20o hkst0010.20o hkst0010.20o hktk0010.20o 导航文件:brdm0010.20p

观测文件来源:香港CORS站数据:

ftp://ftp.geodetic.gov.hk/rinex3

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kxuLvnwT-1607914352815)(C:\Users\LZ\Desktop\5.JPG)]

输入文件中,将流动站的测站名替代为 %r ,输出的pos文件同样。

点击Options,除了常规的解算配置外,还需进行测站列表的输入。

点击Misc,在Rovers处输入需要处理的站点名。同样地,Base Stations即为输入多基站列表的位置。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9jvdniHp-1607914352816)(C:\Users\LZ\Desktop\3.JPG)]

点击进行处理,状态显示中会多出现一个代表 %r 的处理信息。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E0YfOx8p-1607914352818)(C:\Users\LZ\Desktop\4.JPG)]

处理得到的文件:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zdVBMmzY-1607914352820)(C:\Users\LZ\Desktop\6.JPG)]

其他时间相关关键词操作更为简便,无需进行测站列表的添加。

二、程序源代码中的实现

程序命令参数的输入与GUI中需保持一致,将GUI中的设置进行保存,得到batch.conf文件。则最终的输出参数为:-k batch.conf %r0010.20o hklm0010.20o brdm0010.20p -o %r0010.20o.pos

由于conf文件中并没有测站列表的相关配置,因此需要进行一定的代码修改。可以发现最外层的处理函数postpos中的参数rov和base即为测站列表参数。
在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FCnaN6ZI-1607914352823)(C:\Users\LZ\Desktop\7.JPG)]

转到main函数中的输入部分,我们发现此处原始输入为均为 “”, 因此,对此处进行修改。添加Rovers和Base两个字符串作为测站列表输入。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5wcQ8yb7-1607914352824)(C:\Users\LZ\Desktop\9.JPG)]

配置完成,可以进行处理:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E3skwif1-1607914352824)(C:\Users\LZ\Desktop\10.JPG)]

进一步阅读源代码可以发现,对 **%b **和 %r 这两个测站列表参数进行处理的函数均为较外层的嵌套函数 execses_bexecses_r 。其中对 %b%r 的判断即为关键词替代的实现。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kmYMmhNI-1607914352825)(C:\Users\LZ\Desktop\11.JPG)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xtJTxMsl-1607914352826)(C:\Users\LZ\Desktop\12.JPG)]

PS:不得不感叹RTKLIB程序设计之精妙,以前作为初学者看这种多层的嵌套感觉很繁琐,一层套一层,现在看来确实是十分巧妙的处理。

三、引申关键词(*)

在进行DCB文件读取时,有一个类似的关键词替代操作,常规情况下只能选择单个DCB文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cn1SBDW1-1607914352826)(C:\Users\LZ\Desktop\13.JPG)]

当我们需要读取P1C1、P2C2、P1P2多个DCB文件时,可以采用 ***** 进行代替,代表多个文件读取。
在这里插入图片描述

对应代码中的实现:

expath:通过 * 实现文件路径扩展

在这里插入图片描述
引用该函数的文件读取函数的有:

readdcb() DCB文件

readrnxt() 观测与导航文件

readrnxc() 钟差文件

readsp3() 精密星历文件

sbsreadmsgt() SBAS信息

  • 9
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值