GPSTK日志五 TimeTag

GPS卫星星历数据解码实战指南 GPS系统通过至少24颗卫星组成的网络在全球范围内提供定位和导航服务。这些卫星在地球同步轨道上运行,并向地面发送定位信号。一个GPS接收器通过计算从多个卫星传来的信号的时间差,可以确定其距离各个卫星的位置。通过一系列复杂的数学计算,接收器可以精确地确定其在地球上的位置。GPS卫星系统所发出的信号是通过复杂的编码方式进行编码的,这些编码方式包括伪随机噪声码(PRN)和导航电文。PRN码为每个卫星提供了唯一的标识,同时起到了扩频的作用,保证了信号传输的安全性。 阅读详情

    文章转自:http://blog.youkuaiyun.com/liuci3234/article/details/9388427

【正文部分】

        看完 commontime 的定义又回过头来看了下 TimeTag 这个类,这是一个具体时间系统的基类,所以楼主觉得有必要仔细的介绍下里面的方法。注意 commontime 并不是 TimeTag 的子类,之所以要先介绍它,应为它是所有时间系统转转的一个中间过程。转换的实现由 TimeTag 的虚函数定义的以下两个方法完成:  

      virtual CommonTime convertToCommonTime() const       
         throw( gpstk::InvalidRequest ) = 0;     
           //对应时间系统转换为CommonTime 
      
      virtual void convertFromCommonTime( const CommonTime& ct ) 
         throw( gpstk::InvalidRequest ) = 0;
     // CommonTime  转换为对应时间系统

        这里顺道对上面函数的几个基本语法注明下吧, 函数后面的 const 意味着函数返回值是不可修改的,throw 表示该函数跑出的异常,

      func() throw(type) ,会抛出某种异常

      func() throw(),不会抛出

      func() throw(...),可能是任何类型的异常

      函数后面 = 0;表示这是一个纯虚函数,没有具体的函数体,只有一个函数声名,函数体留给它的派生类来实现,而且,这个类的派生类必须重载全部纯虚函数(重载的时候不能指定为纯虚)。 可以理解为表示将这个函数指针设置为0。

       两个纯虚打印函数,  

      virtual std::string printf( const std::string& fmt ) const throw( gpstk::StringUtils::StringException ) = 0;
      virtual std::string printError( const std::string& fmt ) const throw( gpstk::StringUtils::StringException ) = 0;

       virtual void scanf( const std::string& str,  const std::string& fmt )
 throw( gpstk::InvalidRequest,  gpstk::StringUtils::StringException ); 
   // This function sets this object to the time stored in the given 这个具体的结合实例来说

     typedef std::map< char, std::string> IdToValue;  // 定义map容器

     static void getInfo( const std::string& str, const std::string& fmt,IdToValue& info )
 throw( gpstk::StringUtils::StringException ); 
 //这个是 scanf 成员函数实现的具体方法,在sacnf中需要调用它

      virtual bool setFromInfo( const IdToValue& info )   throw() = 0;   // 将对象按 IdToValue 格式进行设置
      virtual std::string getPrintChars() const throw() = 0;     // 这个留在下一篇讲吧
      virtual std::string getDefaultFormat() const throw() = 0;   // 返回一个打印格式的字符串的 

      virtual bool isValid() const throw() = 0;   // 检查对象的成员是否有效

      virtual void reset() throw() = 0;   // 将对象设置为默认值

        virtual std::string asString() const throw( gpstk::StringUtils::StringException )    // 这个函数前面已经说过
                  { return printf( getDefaultFormat() ); }


         /// Hey, it's an implicit casting operator!  Basically just a lazy
         /// way to get at convertToCommonTime().
       virtual operator CommonTime() const throw(InvalidRequest)  { return convertToCommonTime(); }   //看下原文注释这个没什么好说的
 

         /// This returns the regular expression prefix that is used when 
         /// searching for integer specifiers.
      static inline std::string getFormatPrefixInt()
      { return "%[ 0-]?[[:digit:]]*"; }
      
         /// This returns the regular expression prefix that is used when
         /// searching for float specifiers.
      static inline std::string getFormatPrefixFloat()     
      { return getFormatPrefixInt() + "(\\.[[:digit:]]+)?"; }     // 以上两个均与正则表达式有关

      static inline std::string getError()    //返回一个默认错误信息
      { return "ErrorBadTime"; }
GPSTK软件包源码 GPSTK源码 可以对RINEX文件读取 各种GPS模型误差改正 可用于实现精密单点定位 对于开发GPS程序设计 测绘的的工作和学习人员非常有用 立即下载

相关推荐

regex----gpstk安装时必用

gpstk安装时要用的,其官方网站已经不提供这个版本

探索时空标注:Timetagger - 智能的时间序列注解工具

探索时空标注:Timetagger - 智能的时间序列注解工具 项目地址:https://gitcode.com/gh_mirrors/ti/timetagger 是一个开源的、基于Web的应用程序,专为时间序列数据的标注和管理而设计。它利用现代前端技术提供了一个直观且强大的界面,让用户能够轻松地在大量信息中定位、标记并分类事件。无论是科研、数据分析还是机器学习项目,Timetagger都能成为你...

gitblog_00094的博客 1176

GPSTK(GPS开发工具集)源代码

GPSToolKit网站上的GPS开发工具集

GPSTk 开源项目推荐

GPSTk 开源项目推荐 项目基础介绍和主要编程语言 GPSTk(GPS Toolkit)是一个由Space and Geophysics Laboratory (SGL) 开发的开源项目,主要用于全球导航卫星系统(GNSS)和卫星导航领域的研究和应用。该项目的主要编程语言是C++,同时也提供了Python绑定,方便开发者使用Python进行相关开发。 项目核心功能 GPSTk的核心功能主要包括以...

gitblog_00736的博客 572

MavLink协议入门

MAVLink是一个非常轻量化的开源的消息协议,用于无人机之间的通信以及无人机机载设备之间的通信。

ffffffeiyu的博客 2474

AutoSAR系列讲解 - 资料下载

学习资料下载汇总

雪云飞星的博客 4万+

探索GNSS技术的强大工具:GNSSTK项目推荐

探索GNSS技术的强大工具:GNSSTK项目推荐 项目介绍 GNSSTK(原名GPSTk)是由德克萨斯大学奥斯汀分校的应用研究实验室(ARL)下属的空间与地球物理实验室(SGL)赞助的开源项目。该项目旨在为全球导航卫星系统(GNSS)和卫星导航社区提供应用程序,并提供一个核心库,以促进GNSS应用程序的开发。GNSSTK项目在2021年进行了重大更新,分为两个新的仓库:GNSSTK(库)和GNSS...

gitblog_00252的博客 1190

【硬件】LT3763中文手册

1)精确控制输入和输出电流;2) 3000:1真彩色PWM™调光;3) ±1.5%电压调节精度;4) ±6%电流调节精度;5)6V至60 V输入电压范围;6)宽输出范围最高可达55V;7)<2µA关断电流;8)用于负载电流热控制的控制引脚;9)输入和输出电流监控和限制;10)开路、短路和C/10故障检测;11)适用于LED应用的PWM驱动器输出;12)热增强型28引脚FE封装。

qq_39200110的博客 489

GPSTK日志1 简介

先申明一下,楼主刚刚接触TK所以有什么不好的地方或者错误之处欢迎大家指出,毕竟是一个开源软件,每个人都有自己的学习方式,不过还是感觉中国人太喜欢学术封锁了。其实用这个的人还是蛮多的却不见多少人分享一些东西给大家。楼主会尽量坚持把这个版块写下去,也希望更多人对一些自己做过的开源东西写一些东西分享出来吧~        首先说一下TK是什么?他就是一个方便大家快速处理GPS数据然后进行自己的研究的工

wzh-whu 4483

一个中科大差生的8年程序员工作总结

今年终于从大菊花厂离职了,离职前收入大概60w不到吧,在某乎属于比较差的,今天终于有空写一下自己的职场故事,也算是给自己近8年的程序员工作做个总结复盘。近8年有些事情做对了,也有更多事情做错了,在这里记录一下,希望能够给后人一些帮助吧,也欢迎私信交流。文笔不好,见谅,有些细节记不清了,如果有出入,就当是我编的这个故事吧。 PS:有几个问题先在这里解释一下,评论就不一一回复了 1、关于差生,我本人在科大时确实成绩偏下,差生主要讲这一点,没其他意思。 2、因为买房是我人生中的大事,我认为需要记录和总结一下

陈小房的自我修炼 5万+

实现敌人跟随玩家。(Unity)

首先和玩家设置一模一样,给敌人添加一个刚体,设置一个碰撞器,并设置一个触发器。然后在对场景里面的组件添加导航网格代理并且进行bake烘焙,那样的话敌人就可以在进行烘焙的位置进行移动。创建脚本,并且挂载脚本到敌人的组件上,用代码进行实现效果,并且要挂载目标对象。

weixin_57813136的博客 1868

多源传感器GNSS INS 视觉 LiDAR 组合导航与SLAM开源项目总结

本文更改自 吴桐wutong 微信公众号文章。

MSysの优快云 1万+

华为OD机试 - 开源项目热度榜单(Java 2025 C卷 100分)

H = Wwatch X#watch + Wstar X#star +Wfork X#fork +Wissue X#issue +Wmr X#mr H表示热度值,Wwatch、Wstar、Wfork、Wissue、Wmr分别表示5个统计维度的权重,#watch、#star、#fork、#issue、#mr分别表示5个统计维度的统计值。

学Java,找哪吒 1755

GPSTK 数据配置文件格式

好久没更新了~看了点就顺手写了吧  跳过其它的直接进入ConfDataReader 这个文件 gpstk 支持自己编写读数据的配置文件而不用自己去接触底层代码,作者的初衷啊~下面就说下配置文件的格式        * - Anything after a '#' or a ';' is a comment             '#' 或者 ';' 号后面的是注释,养成良好习惯吧!

wzh-whu 1602

国科大学习资料--计算机网络--历年考题1

国科大学习资料–计算机网络–历年考题1 1、假定有一个通信协议,每个分组都引入100字节的开销用于头和成帧,现在使用这个协议发送1M字节的数据(为方便计算,1M=10^6),然而在传递的过程中有一个字节被破坏了,因而包含该字节的那个分组被丢弃并重传。(1)当数据的分组大小为1000、5000、20000和40000字节时,计算相应(包括开销)的传递字节总数目。(2)计算分组大小的最优值是多少,即分组的大小为何值时总的传输字节数最少。(提示:最优值不是1000、5000、20000和40000字节中的一个)

无名何许人的博客 1181

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

GPS工具包(GPSTk)迁移到GNSSTk指导及新手常见问题解答

GPS工具包(GPSTk)迁移到GNSSTk指导及新手常见问题解答 GPS工具包(GPSTk),现已更名为GNSSTk,并且其结构经过拆分,自2021年9月版本v12.0.0起,成为两个独立的仓库——GNSSTk专注于库文件,而GNSSTk-APPS则包含了应用程序部分。此项目原先使用的是C++作为主要编程语言。 新手注意事项及解决方案 1. 项目已迁移问题 问题描述: 新手可能遇到的第一个问题是...

gitblog_00913的博客 507

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

RTKLIB使用教程

目录 一、等时间间隔存储二进制原始数据文件 二、实时流原始数据类型转换 三、二进制文件以实时流形式传输 一、等时间间隔存储二进制原始数据文件 示例:将测站实时流数据每24小时存成一个文件 工具:strsvr 1.output->type选择File,点开opt 2.opt中swap intv表示可选的时间间隔,单位是小时,比如我选的就是每24h存一个文件 ...

weixin_34819401的博客 6830

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

mysql之TIMESTAMP(时间戳)用法详解

一、TIMESTAMP的变体 TIMESTAMP时间戳在创建的时候可以有多重不同的特性,如: 1.在创建新记录和修改现有记录的时候都对这个数据列刷新: ? 1 TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 2.在创建新记录

8582

RTKLIB Manual 之 Appendix C API References

展示RTKLIB包含的函数以及同类函数;其中,结构体的定义在头文件/rtklib.h中 一、卫星号/卫星系统转换函数: Satellite number/system functions Satellite number/system functions satno() //Satellite system and PRN/slot number to satellite number rtkcmn.c satsys() //Satellite number to satellite sy..

wuwuku123的博客 2977

win命令安装 安装cmake_科学网-Windows环境下GPSTk的编译与安装-李航的博文

一、前言GPSTk可以理解为一个GNSS工具箱(Tool Kit),它提供了很多开源的库和应用,让研究者们可以更多地关注问题本身,而非一些低级的程序编写上。本文以GPSTk v2.10源为例,在Windows 10环境下编译并安装GPSTk。二、编译和安装前的准备工作:1)下载GPSTk源本文采用的最新版本为v2.10(截至2018/8/6),下载后的文件名为GPSTk-2.10.zip。2)下载...

weixin_32008105的博客 508

【Python】RTKLIB rnx2rtkp批处理

【Python】RTKLIB rnx2rtkp.exe ppp批处理 Edited by LZCUMT 使用方法:将文件与rnx2rtkp.exe以及相关的GNSS数据与产品放在同一路径下,打开命令行窗口,运行python文件即可进行PPP批处理 #!/usr/bin/python # -*- coding: utf-8 -*- #RTKLIB rnx2rtkp.exe ppp批处理 # Edited by LZCUMT import os import subprocess #找目录下含该关键字的文件

sinat_39238867的博客 2264

开源的GNSS软件接收机工程汇总

1、softgnsshttp://gps.aau.dk/http://gnss-sdr.ru/index.php?blogid=2http://ccar.colorado.edu/gnss/作者:Darius Plausinaitis and Dennis M. Akos开始时间:2006年;最新版本:v3.0。优点:这是matlab程序(以下都是C++),几乎成为卫星导航领域入门之法典。源代码地...

1万+

GPSTK日志四 通用时

很开心楼主开始了第四个日志的书写,也希望大家能留言鼓励下,也是能够这枯燥的生活一些激情吧。另外楼主说明下,楼主为了单点定位才学tk的。所以可能会按照自己需要的路线了解TK,大家如果有什么更好的经验过程,也希望能分享一下吧~国内的学术环境楼主不多做评价。          在这之前先简单的介绍先TK中定义的时间常量(TimeConstants.hpp) const double MJ

wzh-whu 2056

GPS时间

GPS信息里面包含一个时间戳。phonegap(即cordova)的地理位置APIGeolocation 提供了对设备GPS传感器的访问,返回的数据中,除了坐标,还有一个时间戳timestamp。这是一个UTC时间(国际标准时间),即距 GMT 时间(格林威治时间) 1970 年 1 月 1 日午夜的毫秒数。根据这个时间,可以划算回我们本地的时间。比如我们从Geolocation.TimeS...

weixin_33946605的博客 719
上一篇: U-BLOX GPS 模块及GPRMC指令解析
下一篇: GAMIT 安装 Make sure the common libraries are curren
Whoisbug
博客等级 码龄9年 894粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值