RINEX格式介绍

2024-05-01 09:38
文章标签 介绍 格式 rinex

本文主要是介绍RINEX格式介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

RINEX格式介绍

概述

RINEX 是 Receiver Independent Exchange Format 的缩写,顾名思义,其是一种与接收机无关的数据交换格式。这种格式在GNSS领域中普遍采用,是一种标准数据格式。

RINEX 格式采用文本文件(ASCII码)存储数据,数据记录格式与接收机的制造厂商和具体型号无关,这样可以方便数据的传递,使数据尽可能多被使用。

目前 RINEX 数据格式的官方文档最新版本是3.04,可以点击 rinex3.04 下载。

RINEX 分三种类型的文件:

  1. Observation data file(观测数据)
  2. Navigation message file(导航信息如星历等)
  3. Meteorological data file(气象数据)

数据文件可以从 ftp://cddis.nasa.gov/gnss/data/ 下载。该路径下有 daily 和 hourly 两个路径,分别是按天的数据和按小时的数据。再进入下一层,则是按年份建立的目录。再下一层,是按一年的第多少天(Day of Year)为目录名建立的目录。比如想找2020年3月15日的数据按天的数据,经过计算知道那一天是2020年的第75天,所以进入ftp://cddis.nasa.gov/gnss/data/daily/2020/075目录下去寻找下载相应数据。

文件名

RINEX 文件名很重要,从文件名就可以知道这个文件的很多信息。
RINEX 文件名分8个部分。前6个部分之间用下划线 “_” 作为分隔符,其余用 “.” 作为分隔符。8个部分的定义如下表:

名称NameSStart TimePeriodData Freq.ContentFormatCompression
字符数911133232-3
内容含义站点信息数据来源开始时间数据持续时间数据更新频率数据类型文件格式压缩格式
  • 站点信息9个字符的格式为 XXXXMRCCC:其中 XXXX 为 IGS 站点名;M 为该站点的 Monument 号或记号数(marker number),范围(0-9),现在已经没啥用了,因为现在 IGS 要求4字符的站点名与 monument一一对应,如果站点搬地方了,需要重新申请一个4字符的站点名;R 为该 Monument 的接收机号,范围(0-9);CCC 为 ISO 国家码(Country code)。

  • 数据来源是一个字符,为 R 表示来源是接收机,为 S 表示来源是数据流,为 U 表示未知来源。

  • 开始时间用年日时分来表示,格式为:YYYYDDDHHMM。其中 YYYY 是年,DDD 是一年的第几天(Day of Year),HH 是小时,MM 是分钟。

  • 数据持续时间3个字符格式为:DDU。其中 DD 是时间,U是单位。单位可以为 M(分钟)、H(小时)、D(天)、Y(年)、U(未指定)。

  • 数据更新频率3个字符格式为:DDU。其中 DD 是频率或时间,U是单位。单位可以为 C(100Hz)、Z(Hz)、S(秒)、M(分钟)、H(小时)、D(天)、U(未指定)。注意此部分对导航信息文件不是必须的。

  • 数据类型2个字符格式为:DD。第一个字符表示不同的导航系统,可以为 G(GPS)、R(GLONASS)、E(Galileo)、J(QZSS)、C(北斗)、I(IRNSS)、S(SBAS)、M(多个系统混合,Mixed)。第二个字符表示文件类型,可以为 O(观测数据)、N(导航信息)、M(气象数据)。

  • 文件格式3个字符,一般为 rnx(表示RINEX格式) 或 crx(表示Hatanaka压缩的RINEX格式,此格式需要用 crx2rnx.exe 来解压,需要的同学可以点击 crx2rnx 下载。)。

  • 压缩格式为2-3个字符,不是必须的,常见的如 gz、bz2、zip。

下面举例说明:

  1. 文件 WUH200CHN_R_20200750000_01D_30S_MO.crx.gz 表示CHN(中国)的WUH2(武汉)这个站点,通过接收机所获取的多个系统混合在一起的观测数据。数据从2020年第75天(即3月15日)0时0分开始,持续一天(01D),数据的更新频率是30秒。数据是crx格式,并经过gzip格式压缩。
  2. 文件 WUH200CHN_R_20200751000_01H_05M_MM.rnx.gz 表示CHN(中国)的WUH2(武汉)这个站点,通过接收机所获取的气象数据。数据从2020年第75天(即3月15日)10时0分开始,持续一小时(01H),数据的更新频率是5分钟。数据是rnx格式,并经过gzip格式压缩。

文件结构

前面说了 RINEX 分三种类型的文件:观测数据文件、导航信息文件以及气象数据文件,从文件名即可区分不同类型。不管哪一种文件类型,都是由一个文件头(Header section)和数据(Data section)组成的。文件头位于文件的开头,包含了整个文件的全局信息。而数据则根据文件头的信息不同有不同的格式与布局。

文件头

顾名思义,文件头是文件的开头部分,一行一行组成。每一行都有一个文件头标签(header label),表明这一行的内容是什么。文件头标签在每一行的 61-80 列。文件头标签是必须的,而且只能是格式描述中给定的那些选择。文件头以文件头标签“END OF HEADER”来表示结束,其后就是数据了。格式描述可以参考 RINEX 标准中的 APPENDIX。

数据

数据格式每种文件

这篇关于RINEX格式介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/951351

相关文章

redis过期key的删除策略介绍

《redis过期key的删除策略介绍》:本文主要介绍redis过期key的删除策略,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录第一种策略:被动删除第二种策略:定期删除第三种策略:强制删除关于big key的清理UNLINK命令FLUSHALL/FLUSHDB命

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

python dict转换成json格式的实现

《pythondict转换成json格式的实现》本文主要介绍了pythondict转换成json格式的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下... 一开始你变成字典格式data = [ { 'a' : 1, 'b' : 2, 'c编程' : 3,

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir