本文主要是记录、整理一下和GNSS相关的开源项目,方便自己学习和查阅。文中所包含的开源项目,有些我也并没有实际使用过。我一直觉得这个世界上比我聪明的人太多了,阅读他们的思想,对自己也会很大的提升。

另外,对我来说,我觉得并不是所有好的开源项目,我们就得每一行代码都去读,毕竟社畜生活空闲时间也没有那么多。熟练掌握每个方向自己觉得最好的一个,了解其他开源项目的优缺点、所使用的算法,我觉得就可以了。

对GNSS感兴趣的同学,可以关注不迷途导航程序员的公众号,是武汉大学测绘学院的一位工学博士开设的公众号,会不定时发布一些最新的行业动态。本文的部分内容也参考了他公众号的文章。

文章目录

  • 1. RTK相关
    • RTKLIB
  • 2. PPP相关
    • BKG Ntrip Client (BNC)
    • GAMP (基于RTKLIB二次开发的PPP软件)
    • ppp-wizard(基于BNC修改的实时PPP软件)
    • PRIDE-PPPAR
    • gLAB
    • goGPS
    • PPPH
  • 3. 数据质量分析
  • 4. ESA欧空局对开源项目的汇总

1. RTK相关

RTKLIB

  • 作者: 日本东京海洋科技大学的高须知二(Tomoji Takasu)
  • 地址: https://github.com/tomojitakasu/RTKLIB/tree/rtklib_2.4.3
  • 开发语言: C
  • 功能: 单点定位、精密单点定位(PPP)、差分相对定位 ,定位模式有 Single, DGPS/DGNSS, Kinematic, Static, Moving-Baseline, Fixed, PPP-Kinematic, PPP-Static and PPP-Fixed
  • 最新版本: RTKLIB 2.4.3 b34 (2020/12/30更新)

RTKLIB是日本东京海洋大学开发的一款用于GNSS精密定位的开源程序包,支持GPS、GLONASS、BDS、Galileo等多个GNSS系统的精密PPP解算,也支持动态、静态等多种GNSS实时和事后处理定位模式。

此外,RTKLIB能较好地兼容多种GNSS标准格式和协议、GNSS接收机专有数据协议格式和一些外部通信。同时,RTKLIB具有强大的图形输出功能,可对原始观测数据卫星可见性、卫星天空视图、DOP值、多路径及卫星高度角进行图形化显示,为质量分析提供了可视化条件,且对所有代码均进行了开源。

RTKLIB的源码我基本上认真阅读过,也对其有很多源码解析,具体可参见我其他的博客:
RTKLIB demo5对Glonass模糊度固定的算法优化
RTKlib 后处理静态PPP性能分析测试
RTKlib PPP代码解析
RTKlib 2.4.3 b34数据测试与性能分析
RTKlib单点定位-部分思考
RTKlib相对定位源码解析:resamb_LAMBDA (整周模糊度求解)
RTKlib相对定位源码解析: ddres函数
RTKlib相对定位源码解析: udstate函数
RTKlib源码解析:ppp和rtkpost中的周跳检测函数
RTKlib相对定位源码解析:zdres函数

我觉得RTKLIB非常适用于GNSS定位算法学习和研究,我用的比较多的是它的时候事后处理功能:

  1. rtkpost:通过输入RINEX文件,进行后处理,得到高精度位置

  2. convbin: 支持将接收机原始数据(Novatel、ublox、septentrio)、RTCM数据等转为RINEX数据,也可对RINEX数据进行裁剪、版本转换

  3. rtkplot: 支持对rtkpost的定位结果画图,如轨迹图、残差等,也支持查看RINEX文件,显示卫星可见性、仰角、多路径等。

除了RTKLIB本身,也有不少基于RTKLIB衍生的优秀开源项目。比如rtklibexplorer的RTKLIB项目,针对低成本的接收机对RTKLIB进行了很多改进,具体可参见:

  • 博客: http://rtkexplorer.com/
  • github: https://github.com/rtklibexplorer/RTKLIB

2. PPP相关

BKG Ntrip Client (BNC)

  • 作者:
    Leos Mervart (Czech Technical University, Prague)
    Georg Weber (Ntrip Enterprise)
    Andrea Stürze (BKG)
    Dirk Stöcker (Alberding GmbH)
  • 地址:https://igs.bkg.bund.de/ntrip/download
  • 开发语言: C++
  • 功能: 实时GNSS数据流接收、播发、解码、格式转换,也支持实时SPP和PPP实时解算
  • 最新版本: BNC VERSION 2.12.18 (2021/09/28更新)

我目前没有用过BNC软件,在不迷途导航程序员的公众号中,有BNC源码阅读笔记,感兴趣的同学可以去翻阅。不迷途导航程序员认为BNC是目前已知的对实时数据流处理和实时PPP支持最好的开源软件。

GAMP (基于RTKLIB二次开发的PPP软件)

  • 作者:周锋博士
  • 地址:https://www.ngs.noaa.gov/gps-toolbox/GAMP.htm
  • 开发语言: C
  • 功能: 非差非组合多系统GNSS精密单点定位软件

ppp-wizard(基于BNC修改的实时PPP软件)

  • 作者:法国CNES分析中心
  • 地址:http://www.ppp-wizard.net/
  • 开发语言:C++ (需要邮件联系获取最新代码)
  • 功能: 基于BNC修改的实时PPP软件

PRIDE-PPPAR

  • 作者:武汉大学PRIDE课题组
  • 地址:https://github.com/PrideLab/PRIDE-PPPAR
  • 开发语言:Fortran 90

gLAB

  • 作者:西班牙加泰罗尼亚科技大学
  • 地址:https://gage.upc.edu/glab-download/
  • 开发语言: C/C++
  • 最新版本: gLAB v5.5.1 (2020/12/11)

goGPS

  • 作者:Gred公司
  • 地址:https://github.com/goGPS-Project/goGPS_MATLAB
  • 开发语言:Matlab
  • 功能:针对静态运行站的数据做PPP处理,暂时不支持处理移动接收机的动态数据

PPPH

  • 作者:
    Berkay Bahadur, Department of Geomatics Engineering, Hacettepe University, 06800, Ankara, Turkey
    Metin Nohutcu, Department of Geomatics Engineering, Hacettepe University, 06800, Ankara, Turkey
  • 地址:https://geodesy.noaa.gov/gps-toolbox/PPPH.htm
  • 开发语言: MATLAB

3. 数据质量分析

不迷途导航程序员的公众号文章中对三个数据预处理的开源软件进行了整理,具体可以去查看原作者的文章《PPP阶段小结》系列。

其中,我只使用过TEQC,我也总结过TEQC的一些算法,具体可参见博客:TEQC GNSS数据质量分析算法。 我也认同如果TEQC一直不进行更新,应该会被逐渐淘汰,接下来我可能会尝试使用GFZRNX。

4. ESA欧空局对开源项目的汇总

ESA官网对“Positioning & Navigation”相关的项目进行了汇总,里面包括了上面提到RTKLIB,gLAB等。

GNSS相关开源项目整理相关推荐

  1. 物联网相关开源项目整理

    在上篇文章 物联网.开源硬件与开源社区 里,提到我自己对物联网感兴趣的原因,以及从开源社区里收获的东西. 本文准备对物联网领域里有趣的开源项目做个梳理. 如果你对某个技术领域感兴趣,带着关键词去Git ...

  2. GitHub 优秀的 Android 开源项目 淘宝技术牛p博客整理开发中最常用的GitHub上 优秀的 Android 开源项目整理(精品)...

    原文地址为http://www.trinea.cn/android/android-open-source-projects-view/,作者Trinea 主要介绍那些不错个性化的View,包括Lis ...

  3. asp.net mvc相关开源项目推荐

    原文地址为: asp.net mvc相关开源项目推荐 asp.net mvc ctp版本发布不到一个月时间,在社区出现了丛多的优秀开源项目,社区的活跃性非常高哦,前一段时间园子里也引发了MVC和Web ...

  4. 【radar】毫米波雷达相关开源项目代码汇总(工具箱、仿真、2D毫米波检测、融合、4D毫米波检测、分割、SLAM、跟踪)(6)

    [radar]毫米波雷达相关开源项目代码汇总(工具箱.仿真.2D毫米波检测.融合.4D毫米波检测.分割.SLAM.跟踪)(6) Toolbox pymmw https://github.com/m6c ...

  5. PHP7 JIT 相关开源项目(JPHP)

    PHP 7.1 是否达到了最佳性能? 鸟哥惠新宸答:不能说最,别看 PHP 7.1 现在这么快,但相比其它语言,在某些场景下,还是有差距的.这跟它天然的像动态.符号表.间接引用等特性有很大关系.PHP ...

  6. 开源作者在行动:疫情防控相关开源项目推荐

    开源作者在行动:疫情防控相关开源项目推荐: https://blog.gitee.com/2020/02/03/ncov-open-source-project/

  7. go开源项目整理-新手篇_一周的前5篇文章:您正在从事什么开源项目?

    go开源项目整理-新手篇 每周,我都会汇总这些数字并听取嗡嗡声,以在2014年10月6日至10日这周为您带来上周在Opensource.com上的最佳开源新闻和故事. 一周前五篇文章 #5. Mood ...

  8. 关键词提取自动摘要相关开源项目,自动化seo

    关键词提取自动摘要相关开源项目 GitHub - hankcs/HanLP: 自然语言处理 中文分词 词性标注 命名实体识别 依存句法分析 关键词提取 自动摘要 短语提取 拼音 简繁转换 https: ...

  9. 不明觉厉!Gitee大神们的算法/数学相关开源项目推荐

    现在的大厂面试,算法似乎已经成为了必考项目.当大家的业务水平相近,谁的数学与算法基础更好,谁可能就会获得更好的机会.Gitee 上也有一些数学算法的大牛,今天就为大家分享他们的开源项目,希望能给正在学 ...

  10. IMU相关资料(github上所有有用的开源项目整理)

    IMU相关资料 1 标定相关 1.1 资料收集 有关于IMU的标定. 此外,IMU的标定在github中也有介绍,并且有matlab代码,CSDN.从这个帖子出发,又看到IMU模块的姿态校正,具体代码 ...

最新文章

  1. Java项目:家教管理系统(java+SSM+MyBatis+MySQL+Maven+Jsp)
  2. CF702F T-Shirts (排序+平衡树)
  3. JavaScript 初学者必看“箭头函数”
  4. 深入理解WMS(二):Dialog与Toast源码解析
  5. 制作TortoiseSVN最新版本的中文DLL(转)
  6. Gartner:移动设备在工作场所中的使用尚未成熟
  7. Python rang()函数
  8. 用户代码未处理EntityCommandExecutionmException报错解决方案
  9. 《MapReduce 2.0源码分析与编程实战》一第2章 入门
  10. java springboot aop_Spring Boot实战系列(3)AOP面向切面编程
  11. 那些年被我坑过的Python——不得不知(第二章)
  12. 生产级mysql双写_生产级Mysql物理全量备份-Xtrabackup
  13. tps5430应用电路详解_详解常用电阻的优缺点
  14. 文献阅读笔记之 - - 48V锂电池管理系统的设计与实现(贾小龙)
  15. mysql instead of触发_mysql 触发器
  16. linux tao环境 安装_菜鸟Linux 编译TAO2.0a的问题,求高手指导
  17. 华为p8 root android6,华为p8青春版root教程【图解】
  18. ddPCR--数字微滴PCR
  19. 叶胜超:可以让你保本的8条投资经验!
  20. Ubuntu16.4加小觅深度相机实现远程视频监控

热门文章

  1. html5 3d 魔方旋转,【HTML5】3D模型--百行代码实现旋转立体魔方
  2. web切图工具 css,WEB前端之切图篇
  3. 使用Python实现excel项目清单自动生成word文档
  4. mos管h桥电机驱动电路与设计原理图-KIA
  5. 《知乎周刊:读书这件小事》摘记及书评
  6. 李南江 html5 知乎,从知乎看如何鼓励优质UGC内容
  7. java毕业答辩会问什么,java毕业设计答辩(详细流程介绍)
  8. MP4Box获取MP4媒体文件的播放时长
  9. 如何用Ps制作中国移动基础框架
  10. 联想计算机如何设置bios密码,Lenovo 消费笔记本如何设置BIOS密码