RINEX(Receiver INdependent Exchange)格式是与接收机无关的数据交换格式,该格式采用文本文件存储数据,数据记录格式与接收机的制造厂商和具体型号无关。RINEX格式由瑞士伯尔尼大学天文学院(Astronomical Institute, University of Berne)的Werner Gurtner于1989年提出。当时提出该数据格式的目的是为了能够综合处理在EUREF89(欧洲一项大规模的GPS联测项目)中所采集的GPS数据。该项目采用了来自4个不同厂商共60多台GPS接收机。

    现在,RINEX格式已经成为了GPS测量应用等的标准数据格式,几乎所有测量型GPS接收机厂商都提供将其格式文件转换为RINEX格式文件的工具,而 且几乎所有的数据分析处理软件都能够直接读取RINEX格式的数据。这意味着在实际观测作业中可以采用不同厂商、不同型号的接收机进行混合编队,而数据处 理则可采用某一特定软件进行。

Rinex格式文件包括6种文件类型:

观测数据文件:GPS观测值
    导航电文文件:GPS卫星导航电文
    气象数据文件:在测站处所测定的气象数据
    GLONASS导航电文文件:GLONASS卫星导航电文
    GEO导航电文文件:增强系统中搭载有类GPS信号发生器的地球同步卫星(GEO)的导航电文
    卫星和接收机钟文件:包含卫星和接收机时钟信息

其中用的最多的是O文件、N文件和M文件,观测值文件的文件头存放有文件的创建日期、单位名、测站名、天线信息、测站近似坐标、观测值数量及类型、观测历元间隔等信息。导航电文的文件头存放有文件创建日期、单位名及其他一些相关信息, 另外, 还有可能会包含电离层模型的参数以及说明GPS时与UTC 间关系的参数和跳秒等。气象数据文件的文件头则存放有文件创建日期、观测值类型、传感器信息和气象传感器的近似位置及其他一些相关信息。

RINEX 格式文件的记录数据紧跟在文件头的后面, 随文件类型的不同, 所存放数据的内容和具体格式也不相同。在观测值文件中存放的是观测过程中每一观测历元所观测到的卫星及载波相位、伪距和多普勒等类型的观测值数据等, 所包含的实际观测值类型与接收机所记录的类型及格式转换时的参数设置有关。在导航电文文件中存放的是所观测卫星的钟差改正模型参数及卫星轨道数据等。由于广播星历每2h 更新一次, 因此, 在导航电文文件中可能会出现某颗卫星具有多个不同参考时刻钟差模型改正参数和轨道数据的情况。在气象数据文件中存放的是观测过程中每隔一段时间在测站天线附近所测定的干温、相对湿度和气压等数据。

Rinex格式文件命名规则:8+3...

文件结构——组织形式:

1、按节、记录(行)、字段和列                                                         2、所有文件均分为两节:文件头和数据记录                                               3、每个记录占一行,不超过80列宽                                                       4、文件头中每个记录的第61-80列为标签,说明记录内容

观测值文件结构:

观测文件详细说明:

第一部分为头文件,以右侧的文件头标签进行说明:

RINEX VERSION / TYPE:RINEX VERSION表示Rinex版本号,如2.10,后面的字符“O”表示文件类型是观测值,TYPE表示观测值数据类型,空格或G表示观测的是GPS数据,R为GLONASS,S为地球同步卫星类GPS信号发生器有效载荷, T为NNSS子午卫星, M为混合系统。

    PGM / RUN BY / DATE:创建本数据文件所采用程序的名称;创建本数据文件单位的名称;创建本数据文件的日期。    
    COMMENT:注释行。
    MARKER NAME:点名。               
    MARKER NUMBER:点号。
    OBSERVER / AGENCY :观测员姓名/ 观测单位名称。
    REC # / TYPE / VERS:接收机序列号、类型和版本。
    ANT # / TYPE:天线编号和类型。
    APPROX POSITION XYZ:测站近似坐标(WGS84)。                           
    ANTENNA: DELTA H/E/N:天线偏心。即天线高(高于标志的天线下表面高度)和天线中心相对于标志在东向和北向上的偏心。                             
     WAVELENGTH FACT L1/2:缺省的L1和L2载波的波长因子(1表示为全波,2表示为半波(载波为平方法测定),0(位于L2 的位置上)表示所用接收机为单频仪器);0或空格。说明:在缺省情况下, 需要有该波长因子记录, 而且此记录必须位于所有与特定卫星有关的记录之前。
     WAVELENGTH FACT L1/2:L1和L2 载波的波长因子(1表示模糊度为完整周数,2表示模糊度为半周数(载波为平方法测定),0(L2中)表示所用接收机为单频仪器);说明:可分别说明各颗卫星的L1和L2载波观测值的波长因子。如果某颗卫星的L1和或L2波长因子与上面的缺省值不同, 则可以通过该记录来加以说明, 本记录是可选的。如果需要, 可以有多个本记录。
    # / TYPES OF OBSERV:在本数据文件中所存储不同观测值类型的数量和观测值类型列表,如果超过9种观测值类型, 则使用续行。  
    说明:
    L1,L2:L1和L2上的相位观测值                                                       
    C1:采用L1上C/A 码所测定的伪距;
    P1,P2:采用L1 、L2 上的P 码所测定的伪距;
    D1,D2:L1 和L2 上的多普勒频率;                                                   
    T1,T2:子午卫星的150(T1)和400 MHz(T2) 信号上的多普勒积分;
    S1,S2:接收机所给出的L1、L2相位观测值的原始信号强度或SNR值。
    观测值的单位: 载波相位为周,伪距为m,多普勒为Hz,子午卫星为周,SNR等则与接收机有关。
    INTERVAL:观测值的历元间隔,即采样率,单位:秒 
    TIME OF FIRST OBS:数据文件中第一个观测记录的时刻(4数字年,月,日,时,分, 秒); 时间系统: GPS 表示为GPS时,GLO表示为UTC。说明:在GPS/GLONASS 混合文件中必须具有本时间系统字段, 对于纯GPS 文件缺省为GPS, 对于纯GLONASS 文件缺省为GLO。
    TIME OF LAST OBS:数据文件中最后一个观测记录的时刻(4数字年,月,日,小时,分,秒);时间系统: 与TIME OF FIRST OBS 记录相同。 
     RCV CLOCK OFFS APPL: 历元时标、码伪距和载波相位是否使用实时确定出的接收机钟偏差进行了改正: 1=是,0=否; 缺省值: 0=否。说明:如果在“历元/卫星”记录中给出了接收机的时钟偏差,则需要具有该记录。
     LEAP SECONDS:自1980 年1月6日以来的跳秒数, 在GPS/GLONASS混合文件中通常需要列出此记录。 
     # OF SATELLITES:在文件中存储有观测值的卫星数量。 
     PRN / # OF OBS:在“# / TYPES OF OBSERV”记录中所指出的每一观测值类型所涉及PRN( 卫星号) 及其观测值的数量,如果观测值类型超过了9 个, 则使用续行。说明:对于出现在数据文件中的每一颗卫星, 均有一项记录。                                               
观测文件数据记录格式:
    在RINEX 格式GPS 观测值文件的数据记录节中, 为按历元依次存放的观测数据或在观测过程中所发生事件的信息。每个历元的数据包含两部分: 第一部分为“历元/卫星或事件标志”, 用于存放该观测历元时刻的时标和在该历元所观测到卫星的数量及其列表或表明事件性质的标志, 这一部分通常为该历元数据的第一行;第二部分为“观测值”,用于存放在该历元所采集到的所有观测值, 这一部分紧接在“历元/卫星或事件标志”之后, 所占行数与在该历元中所观测卫星的数量有关。 
    在观测值文件中, 所记录载波相位数据的单位为周, 伪距数据的单位为m。观测值所对应的时标(即观测时刻) 是依据接收机钟的读数所生成的, 而不是标准的GPS 时, 因而在该时标中含有接收机的钟差。 
历元/卫星或事件标志:
    ——观测历元时刻:年(2位数字)、月、日、时、分秒;
    ——历元标志:0表示正常,1表示在前一历元与当前历元之间发生了电源故障, 大于1为事件标志;2表示天线开始移动;3表示新设站(动态数据结束)(后面至少需要跟上MARKER NAME 记录);4表示后面紧跟着的是类似于文件头的信息, 用于说明观测过程中所发生的一些特殊情况;5表示外部事件(历元时刻与观测值时标属于相同的时间框架),如果历元标记为6, 则表示后面为描述所探测出并已被修复周跳的记录(格式与OBSERVATIONS 记录相同,不过,用周跳替代了观测值, LLI和信号强度为空格或0)。此项为可选项。
    ——当前历元所观测到的卫星数,被用来说明紧跟在后面的记录数, 即后面共有几行用于事件的描述;
    ——当前历元所观测到卫星的PRN 列表;
    ——接收机时钟的偏差(单位为s,为可选项)

观测值:
    ——观测值;
    ——LLI(Loss of Indicator/失锁标识符),LLI 的范围为0 ~7。0 或空格表示正常或未知; bit 0 置1 表示在前一历元与当前历元之间发生了失锁, 可能有周跳; bit 1 置1 表示该卫星的波长因子与前面WAVELENGTH FACT L1 /2 记录中的定义相反, 仅对当前历元有效;bit 2 置1 表示为反欺骗(AS)下的观测值( 可能会受到噪声增加的影响)。其中, bit 0 和bit 1仅用于相位。
    ——信号强度,在RINEX格式中, 用1~9 表示信号强度: 1表示可能的最小信号强度, 5表示良好S/N 比的阈值, 9表示可能的最大信号强度, 0或空表示未知或未给出。
  

导航电文文件结构:                              
导航电文头文件说明如下:
    RINEX VERSION / TYPE:Rinex版本号和观测值类型;
    PGM / RUN BY / DATE:创建本数据文件所采用程序的名称,创建本数据文件单位的名称,
创建本数据文件的日期。
    COMMENT:注释行。
    ION ALPHA:历书中的电离层参数A0~A3;
    ION BETA:历书中的电离层参数B0~B3;
    DELTA-UTC: A0,A1,T,W:用于算UTC时间的历书参数。
                          A0, A1: 多项式系数;
                          T: UTC 数据的参考时刻
                          W: UTC 参考周数,为连续计数,不是1024的余数
    LEAP SECONDS:由于跳秒而造成的时间差
导航电文数据记录格式说明:
    RINEX格式GPS导航电文文件数据记录节中的内容为按卫星和参考时刻存放的各颗卫星的时钟和轨道数据。每颗卫星一个参考时刻的数据占8 行, 第1行为卫星的PRN号和该卫星时钟的参考时刻及其改正模型参数, 第2~8行为该卫星的广播轨道数据。由于导航电文通常每2h就更新一次, 因此,某些卫星可能会有多个不同参考时刻的数据。
    PRN 号/ 历元/ 卫星钟:
        - 卫星的PRN 号
        - 历元: OC( 卫星钟的参考时刻)
          年( 2 个数字, 如果需要可补0)
          月, 日, 时, 分, 秒
        - 卫星钟的偏差( s)
        - 卫星钟的漂移( s / s)
        - 卫星钟的漂移速度( s / s2 )
   广播轨道—1:
        
   广播轨道—2:
        
   广播轨道—3:
        
   广播轨道—4:
        
   广播轨道—5:
       
   广播轨道—6:
        - 卫星精度(m)
        - 卫星健康状态(第1子帧第3字第17~22 位)
        - TGD (sec)
        - IODC 钟的数据龄期
   广播轨道—7:
        - 电文发送时刻(单位为GPS周的秒, 通过交接字(HOW)中的Z 计数得出)
        - 拟合区间(h) , 如未知则为零
        - 备用
        - 备用

气象数据文件
文件头格式
   # / TYPE OF OBSERV:
       - 在本数据文件中所存储的不同观测值类型的数量
       - 观测值类型列表
           PR: 气压(mbar)
           TD: 干温(℃)
           HR: 相对湿度(%)
           ZW: 天顶湿延迟(mm) (对于WVR 数据)
           ZD: 天顶延迟的干分量( mm)
           ZT: 总天顶延迟(mm)
      说明:本记录中观测值类型在列表中的排列顺序与后面数据记录节中相应观测值的排列顺序一致;如果所存储观测值的类型超过9 个, 则可续行
    SENSOR MOD/TYPE /ACC: 气象传感器说明
      - 型号( 厂商)
      - 类型
      - 精度( 与观测值的单位相同)
      - 观测值类型
      本记录将按上面“ # / TYPE OF OBSERV”记录中所列出的每一观测值类型进行重复
   SENSOR POS XYZ/H:气象传感器在ITRF 或WGS-84 下的近似坐标
      - 地心坐标X, Y, Z
      - 椭球高H
      - 观测值类型
      说明:如果传感器的位置未知, 则将X、Y、Z 设为零; 气压计需要使用该记录, 建议其他传感器也使用该记录。
 
数据记录格式:
    历元/气象数据:
    - 历元时刻( 为GPS 时, 不是地方时)
        年( 2 位数字, 如果需要前面补0)
        月, 日, 时, 分, 秒
    - 与文件头中给出观测值类型时排列顺序一致的气象数据当气象数据的类型超过8 种时, 使用续行。

【转】rinex的更多相关文章

  1. VS2013使用rtklib中需要注意的一些问题(编译)

    最近因为项目需要需要对rtcm数据进行解码,rtklib提供了很多底层的函数,准备直接输出标准DLL的方式供C#调用.下面把项目中引用rtklib源码需要注意的地方记录下. 1. 首先在vs2013中 ...

  2. HackRF实现GPS欺骗教程

    硬件平台:HackRF One软件平台:MAC运行环境搭建系统平台:OS X 10.11 EI CapitanGPS终端:One Plus手机,飞行模式,仅GPS定位,GPS test App文章特点 ...

  3. 【Linux C中文函数手册】之 内存和字符串函数

    内存和字符串函数 1) bcmp 比较内存内容 相关函数 bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp表头文件 #include<stri ...

  4. Bernese单点定位数据准备及处理

    原创作者 blog :http://yifeiyao.blog.163.com/blog/static/2058932752012669731170/1.准备所需用的数据文件,如下: 原始观测.O文件 ...

  5. Bernese安装及使用

    一.安装: 伯尔尼软件的安装很简单,但是在64位下,可能perl解释器安装不成功,我找了一个,并且可用,下载地址: 链接:http://pan.baidu.com/s/1hr8fgEC 密码:fj8b ...

  6. Gamit解算脚本

    这是一个解算单天的shell脚本,对于初学者很有帮助. 首先就是需要在项目(四个字符)建立rinex brdc igs 还有以年纪日命名的目录,然后提前准备好station.info和lfile.文件 ...

  7. Unix/Linux环境C编程入门教程(30) 字符串操作那些事儿

    函数介绍 rindex(查找字符串中最后一个出现的指定字符) 相关函数 index,memchr,strchr,strrchr 表头文件 #include<string.h> 定义函数 c ...

  8. RTKLIB编译及RTCM数据读取样例

    1.RTKLIB简介 RTKLIB是全球导航卫星系统GNSS(global navigation satellite system)的标准&精密定位开源程序包,RTKLIB由日本东京海洋大学( ...

  9. 【转】对GAMIT/GLOBK的基本认识

    1.1   GAMIT/GLOBK软件可从网络上申请下载.该软件功能强大,用途广泛,一般包括精确定位,大气层可降水汽估计和空间电离层变化分析等.后两种用途只需要用到GAMIT模块,精确定位则还需要GL ...

随机推荐

  1. 常见linux命令用法介绍

    su switch user 用途:用于用户之间的切换 格式: su - USERNAME切换用户后,同时切换到新用户的工作环境中 su USERNAME切换用户后,不改变原用户的工作目录,及其他环境 ...

  2. 企业信息化快速开发平台--JeeSite

    JeeSite是在Spring Framework基础上搭建的一个Java基础开发平台,以Spring MVC为模型视图控制器,MyBatis为数据访问层, Apache Shiro为权限授权层,Eh ...

  3. Erlang/OTP设计原则(文档翻译)

    http://erlang.org/doc/design_principles/des_princ.html 图和代码皆源自以上链接中Erlang官方文档,翻译时的版本为20.1. 这个设计原则,其实 ...

  4. element-ui,router.push到其他路由,菜单栏不会高亮对应的路由

    使用饿了吗的路由,使用this.$router.push({path: ''})跳到其他的路由,菜单不会高亮. 如图所示,点击图上三个位置,需要使用this.$router.push({path: ' ...

  5. dotnet core cli 命令

    1 dotnet new 2 创建code 程序 dotnet new console using System; namespace cli { class Program { static voi ...

  6. BZOJ 1192: [HNOI2006]鬼谷子的钱袋(新生必做的水题)

    1192: [HNOI2006]鬼谷子的钱袋 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 3557  Solved: 2596[Submit][St ...

  7. BZOJ 1316: 树上的询问 (点分治+set)

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1316 因为只要求存在某条路径长度为K,所以点分,然后用set判断差值是否在set中就可以了. ...

  8. 以太坊RPC机制与API实例

    上一篇文章介绍了以太坊的基础知识,我们了解了web3.js的调用方式是通过以太坊RPC技术,本篇文章旨在研究如何开发.编译.运行与使用以太坊RPC接口. 关键字:以太坊,RPC,JSON-RPC,cl ...

  9. 解决指向iframe的target失效

    今天遇到一个bug. 主页面中点击左侧导航栏[某]项后,右侧的iframe页面加载到了新窗口.之后,所有选项的iframe加载都异常. 检查<a>标签target="main&q ...

  10. 从零开始学习前端开发 — 11、CSS3选择器

    一.基本选择器 1.* 通配符(通用选择器) 2.id选择器 3.class选择器(类选择器) 4.标签选择器(元素选择符) 5.群组选择器 (选择符1,选择符2{...}) 二.层次选择器(关系选择 ...