RTKLIB 2.4.3 b34 配置教程与调试实例

本文中配置完成的VS工程及示例数据下载地址:
链接:https://pan.baidu.com/s/1FyNg0U3XKkGWbiWHJGCVfw
提取码:utnl
在这里插入图片描述

一、RTKLIB 2.4.3 b34 配置教程

1、下载并解压最新版本程序源码包

最新版本下载地址:
源码包:
https://github.com/tomojitakasu/RTKLIB/tree/rtklib_2.4.3
可执行程序包:https://github.com/tomojitakasu/RTKLIB_bin/tree/rtklib_2.4.3
\RTKLIB-rtklib_2.4.3\src内即为主体源码

2、新建VS工程

打开VS2013,点击新建项目,Visual C++,空项目,编辑名称与位置,位置加名称即为项目路径。

在这里插入图片描述

将src文件夹拷贝至VS项目路径下,右击源文件,点击添加>>现有项,将src中的代码全部导入至项目中。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
导入成功后,需将rtklib.h拖拽至头文件下。
对于src下的子文件夹rcv中的源码,点击添加–新建筛选器,并改名为rcv,同样地,点击该文件夹,添加—现有项,将\src\rcv中的代码导入。

此外,我们还需要添加一个参数输入的主函数作为程序入口,其在源码包中路径为\RTKLIB-rtklib_2.4.3\app\consapp\rnx2rtkp\ rnx2rtkp.c,可将其复制到src路径中,并改名为main.c后导入,则最终导入效果如下图:

在这里插入图片描述

3、属性配置

点击项目>>属性>>配置属性>> C/C++ >>预处理器,添加WIN32;_CRT_SECURE_NO_WARNINGS; _WINSOCK_DEPRECATED_NO_WARNINGS; DLL这个预定义

在这里插入图片描述

点击项目>>属性>>配置属性>>VC++目录,选择包含目录,点击下拉框中的编辑,选择添加src文件夹。

在这里插入图片描述
此步骤旨在解决子文件夹rcv中的代码无法打开头文件的问题

在这里插入图片描述
再找到项目属性,在配置属性 >>链接器 >>输入 >>附加依赖项里添加 winmm.lib;ws2_32.lib

在这里插入图片描述

4、其他修改

在rtklib.h头文件中添加
#define ENAGLO
#define ENAGAL
#define ENACMP
#define ENAQZS
#define ENAIRN
打开多系统接口
在这里插入图片描述
剩余问题:

(1)

在这里插入图片描述
解决:在定义行“const sbssatp_t *sbs”后添加“=NULL”

在这里插入图片描述

(2)

在这里插入图片描述
解决:项目属性配置属性>> C/C++ >>SDL检查,选择是或者否

(3)

pntpos.c 文件的rescode函数中,dion dtrp vmeas vion vtrp 参数未赋初值,会影响程序解算,因此需手动赋值为0.0

在这里插入图片描述

点击开始执行,若弹出cmd则说明配置完成。

二、RTKLIB 2.4.3 b34调试实例

将需解算的数据文件与配置文件放入同一文件夹下,点击项目>>配置属性>>调试,点击工作目录,选择该文件夹,点击命令参数,输入所需的命令行配置。

在这里插入图片描述

1、不同解算模式的配置示例:

spp:

-k spp.conf hkws0010.21o brdm0010.21p -o hkws0010_spp.pos

-k 配置文件 观测文件 导航文件 -o输出结果

rtk:

-k rtk.conf hkws0010.21o hksl0010.21o brdm0010.21p -o hkws0010_rtk.pos

-k 配置文件 流动站观测文件 基准站观测文件 导航文件 -o输出结果

pppk:

-k pppk.conf hkws0010.21o brdm0010.21p wum21385.sp3 wum21385.clk -o hkws0010_pppk.pos

-k 配置文件 观测文件 导航文件 精密轨道文件 精密钟差文件 -o输出结果

附:打开trace输出文件方法:在预处理器中添加TRACE,命令参数末尾添加 -x 加数字(即输出等级)

在这里插入图片描述
例如

-k spp.conf hkws0010.21o brdm0010.21p -o hkws0010_spp.pos -x 3

2、命令行程序rnx2rtkp的输入参数详解(主函数的help打印信息):

-?              print help   打印帮助列表
-k file         input options from configuration file [off]   从配置文件导入配置
-o file         set output file [stdout]  设置输出文件
-ts ds ts       start day/time (ds=y/m/d ts=h:m:s) [obs start time]   观测文件开始时间 年月日+时分秒
-te de te       end day/time   (de=y/m/d te=h:m:s) [obs end time]   观测文件结束时间 年月日+时分秒
-ti tint        time interval (sec) [all]   观测文件历元间隔
-p mode         mode (0:single, 1:dgps, 2:kinematic, 3:static, 4:moving-base, 5:fixed, 6:ppp-kinematic, 7:ppp-static) [2]  定位模式(0:单点定位,1:伪距差分定位,2:动态差分,3:静态差分,4:动基线,5:固定解,6:动态ppp,7:静态ppp)
-m mask         elevation mask angle (deg) [15]  卫星截止高度角
-sys s[,s...]   nav system(s) (s=G:GPS,R:GLO,E:GAL,J:QZS,C:BDS,I:IRN) [G|R]  导航卫星系统
-f freq         number of frequencies for relative mode (1:L1,2:L1+L2,3:L1+L2+L5) [2]  选用的观测值频点
-v              thres validation threshold for integer ambiguity (0.0:no AR) [3.0]  模糊度固定阈值检测值设置
-b              backward solutions [off]  后向滤波
-c              forward/backward combined solutions [off]  前后向组合滤波
-i              instantaneous integer ambiguity resolution [off]  持续模糊度固定解算
-h              fix and hold for integer ambiguity resolution [off]  模糊度固定后保持
-e              output x/y/z-ecef position [latitude/longitude/height]  输出XYZ坐标解
-a              output e/n/u-baseline [latitude/longitude/height]  输出ENU坐标解
-n              output NMEA-0183 GGA sentence [off]  输出GGA解
-g              output latitude/longitude in the form of ddd mm ss.ss' [ddd.ddd]  输出经纬度坐标解
-t              output time in the form of yyyy/mm/dd hh:mm:ss.ss [sssss.ss]  输出时间设置为年月日+时分秒
-u              output time in utc [gpst]  输出时间设置为utc
-d col          number of decimals in time [3]  秒位时间小数位数设置
-s sep          field separator [' ']   分隔符
-r x y z        reference (base) receiver ecef pos (m) [average of single pos]", rover receiver ecef pos (m) for fixed or ppp-fixed mode  基准站XYZ坐标输入
-l lat lon hgt  reference (base) receiver latitude/longitude/height (deg/m)", rover latitude/longitude/height for fixed or ppp-fixed mode  基准站经纬度坐标输入
-y level        output soltion status (0:off,1:states,2:residuals) [0]  输出解状态
-x level        debug trace level (0:off) [0]  调试输出等级设置

参考:

VS2017下编译rtklib2.4.3
https://blog.csdn.net/qq_41936564/article/details/108724328

RTKLIB Ver2.4.3在VS版本配置过程中出现的问题及其解决步骤
https://blog.csdn.net/weixin_43074576/article/details/105638436?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

rtklib2.4.3 b34 单点定位的一个bug
https://blog.csdn.net/iceboy314159/article/details/115533384?spm=1001.2014.3001.5501

  • 35
    点赞
  • 235
    收藏
    觉得还不错? 一键收藏
  • 20
    评论
引用:#pragma warning(disable:4996) #pragma warning(disable:4101) #pragma warning(disable:4244) #pragma comment(lib,"winmm.lib") #pragma comment(lib,"Ws2_32.lib")。引用:void main() { gtime_t ts = { 0 }, te = { 0 }; prcopt_t opt = prcopt_default; solopt_t sopt = solopt_default; filopt_t fopt = { 0 }; char* infile[] = { {"D:\\rtklibStudy\\testdata\\07590920.05o"}, {"D:\\rtklibStudy\\testdata\\30400920.05o"}, {"D:\\rtklibStudy\\testdata\\07590920.05n"} }; char* ofile = "D:\\my_rtklib\\mypos.pos";。引用:调试->my_rtklib调试属性->配置属性->C/C ->SDL检查,选择否。 。 根据引用和引用的内容,rtklib2.4.3是一个软件库,它提供了全球导航卫星系统(GNSS)数据处理的功能。通过引用中的示例代码可以看出,rtklib2.4.3可以用于处理GNSS测量数据,包括读取输入文件、设置选项、计算解算结果,并将结果输出到指定文件。 在使用rtklib2.4.3时,可以根据需要进行编译和调试。根据引用的内容,可以通过#pragma warning指令禁用特定的编译警告。根据引用的内容,可以在调试属性设置中选择是否进行SDL检查。 总结起来,rtklib2.4.3是一个用于处理GNSS数据的软件库,可以进行数据读取、选项设置、解算计算等操作,并可以通过编译和调试进行定制和优化。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [用VS2019进行RTKLIB2.4.3调试的两种方法](https://blog.csdn.net/qq_44296563/article/details/124537633)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值