RTKLIB观测数据读取修改

最近在用RTKLIB处理较长时间的观测数据时,会出现内存不足的问题,这是因为在一开始读取星历和观测文件时,将所有的观测数据都存储到了结构体obss中,在后续定位解算的时候再逐历元处理。感觉这种设计不太合理,星历需要预先读取,但是观测文件应该逐历元读取与处理,否则没法处理较长时间的数据。因此,在原程序的基础上进行了相应修改,区分单点定位和相对定位两种模式。

1 源程序分析

首先观察源代码中观测数据的存储和提取位置。
源代码中观测数据在函数readrnxfp()->readrnxh()读取观测文件头,readrnxobs()->readrnxobsb中读取单历元观测数据存储到obsd_t类型的结构体data中,再通过addobsdata()添加到大的全局结构体obss中。
定位解算时通过procpos()->inputobs()函数逐历元读取观测数据,存储到obsd_t类型结构体obs中,再输入进rtkpos()进行解算。
这样看来,中间的存储过程其实并不必要,可以在procpos()函数中直接读取观测值输入给rtkpos(),修改方案如下:

2 修改方案

(1)在读取观测文件的函数readrnxfp()中进行相应修改,不读取观测数据,直接返回

 

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值