RINEX 是 Receiver Independent Exchange Format 的缩写,顾名思义,其是一种与接收机无关的数据交换格式。这种格式在GNSS领域中普遍采用,是一种标准数据格式。
RINEX 格式采用文本文件(ASCII码)存储数据,数据记录格式与接收机的制造厂商和具体型号无关,这样可以方便数据的传递,使数据尽可能多被使用。
目前 RINEX 数据格式的官方文档最新版本是3.04,可以点击 rinex3.04 下载。
RINEX 分三种类型的文件:
数据文件可以从 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个部分的定义如下表:
名称 | Name | S | Start Time | Period | Data Freq. | Content | Format | Compression |
---|---|---|---|---|---|---|---|---|
字符数 | 9 | 1 | 11 | 3 | 3 | 2 | 3 | 2-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。
下面举例说明:
前面说了 RINEX 分三种类型的文件:观测数据文件、导航信息文件以及气象数据文件,从文件名即可区分不同类型。不管哪一种文件类型,都是由一个文件头(Header section)和数据(Data section)组成的。文件头位于文件的开头,包含了整个文件的全局信息。而数据则根据文件头的信息不同有不同的格式与布局。
顾名思义,文件头是文件的开头部分,一行一行组成。每一行都有一个文件头标签(header label),表明这一行的内容是什么。文件头标签在每一行的 61-80 列。文件头标签是必须的,而且只能是格式描述中给定的那些选择。文件头以文件头标签“END OF HEADER”来表示结束,其后就是数据了。格式描述可以参考 RINEX 标准中的 APPENDIX。
数据格式每种文件都不一样,请参照以下文件实例解析,详细描述可以参考 RINEX 标准中的APPENDIX。
下面是 WUH200CHN_R_20200750000_01D_30S_MO.rnx 文件的文件头(有部分省略),由文件名可知其为多个GNSS系统的观测文件,从文件头的第一行也能看出。文件头中的很多信息都很明显,“APPROX POSITION XYZ”行记录了站点的位置, “ANTENNA: DELTA H/E/N”行是相对站点位置的天线偏移,由这两行可以算出天线的位置坐标。“SYS / # / OBS TYPES”行记录了此文件中所有的观测类型。“# OF SATELLITES”是观测的卫星数量,在此文件中是138颗。“PRN / # OF OBS”是每颗卫星对应于“SYS / # / OBS TYPES”中的所有观测类型的观测值的数量,如C01这一行的第一个2880表示北斗系统的C01这颗卫星的C2I类型的观测值在这个文件中有2880个,按30秒一次观测值,1个小时正好2880个值。“TIME OF FIRST OBS”和“TIME OF LAST OBS”分别是此观测数据中的第一次和最后一次观测的时间,分别是2020年3月15日的0时0分0秒和2020年3月15日的23时59分30秒,即一共1天时间。“INTERVAL”表示观测的间隔时间,为30秒。
3.04 OBSERVATION DATA M (MIXED) RINEX VERSION / TYPE
JPS2RIN v.2.0.191 GFZ ODC 20200315 001552 UTC PGM / RUN BY / DATE
gfzrnx-3078 FILE MERGE 20200316 000351 UTC COMMENT
WUH200CHN MARKER NAME
21602M007 MARKER NUMBER
[email protected] WHU/GFZ OBSERVER / AGENCY
1480954 JAVAD TRE_3 3.7.6 REC # / TYPE / VERS
3354C JAVRINGANT_G5T NONE ANT # / TYPE
0.1206 0.0000 0.0000 ANTENNA: DELTA H/E/N
-2267749.0000 5009154.0000 3221290.0000 APPROX POSITION XYZ
C 28 C1X C2I C5X C6I C7I C7Z C8X D1X D2I D5X D6I D7I D7Z SYS / # / OBS TYPES
D8X L1X L2I L5X L6I L7I L7Z L8X S1X S2I S5X S6I S7I SYS / # / OBS TYPES
S7Z S8X SYS / # / OBS TYPES
E 20 C1X C5X C6X C7X C8X D1X D5X D6X D7X D8X L1X L5X L6X SYS / # / OBS TYPES
L7X L8X S1X S5X S6X S7X S8X SYS / # / OBS TYPES
G 24 C1C C1W C1X C2W C2X C5X D1C D1W D1X D2W D2X D5X L1C SYS / # / OBS TYPES
L1W L1X L2W L2X L5X S1C S1W S1X S2W S2X S5X SYS / # / OBS TYPES
I 4 C5A D5A L5A S5A SYS / # / OBS TYPES
J 20 C1C C1X C2X C5X C6X D1C D1X D2X D5X D6X L1C L1X L2X SYS / # / OBS TYPES
L5X L6X S1C S1X S2X S5X S6X SYS / # / OBS TYPES
R 20 C1C C1P C2C C2P C3X D1C D1P D2C D2P D3X L1C L1P L2C SYS / # / OBS TYPES
L2P L3X S1C S1P S2C S2P S3X SYS / # / OBS TYPES
S 8 C1C C5I D1C D5I L1C L5I S1C S5I SYS / # / OBS TYPES
25 R01 1 R02 -4 R03 5 R04 6 R05 1 R06 -4 R07 5 R08 6 GLONASS SLOT / FRQ #
R09 -2 R10 -7 R11 0 R12 -1 R13 -2 R14 -7 R15 0 R16 -1 GLONASS SLOT / FRQ #
R17 4 R18 -3 R19 3 R20 2 R21 4 R22 -3 R23 3 R24 2 GLONASS SLOT / FRQ #
R26 -6 GLONASS SLOT / FRQ #
C1C 0.000 C1P 0.000 C2C 0.000 C2P 0.000 GLONASS COD/PHS/BIS
C L1X 0.00000 18 C19 C20 C21 C22 C23 C24 C25 C26 C27 C28 SYS / PHASE SHIFT
C29 C30 C32 C33 C34 C35 C36 C37 SYS / PHASE SHIFT
C L2I 0.00000 33 C01 C02 C03 C04 C05 C06 C07 C08 C09 C10 SYS / PHASE SHIFT
C11 C12 C13 C14 C16 C19 C20 C21 C22 C23 SYS / PHASE SHIFT
C24 C25 C26 C27 C28 C29 C30 C32 C33 C34 SYS / PHASE SHIFT
C35 C36 C37 SYS / PHASE SHIFT
... ...
R L3X 0.25000 8 R05 R09 R11 R13 R15 R17 R21 R26 SYS / PHASE SHIFT
S L1C 0.00000 7 S26 S27 S28 S29 S30 S37 S40 SYS / PHASE SHIFT
S L5I 0.25000 2 S27 S28 SYS / PHASE SHIFT
18 LEAP SECONDS
JPS2RIN v.2.0.191 JAVAD GNSS 20200315 001552 UTC COMMENT
JPS2RIN v.2.0.191 JAVAD GNSS 20200315 003052 UTC COMMENT
... ...
JPS2RIN v.2.0.191 JAVAD GNSS 20200315 231655 UTC COMMENT
JPS2RIN v.2.0.191 JAVAD GNSS 20200315 233103 UTC COMMENT
JPS2RIN v.2.0.191 JAVAD GNSS 20200315 234603 UTC COMMENT
JPS2RIN v.2.0.191 JAVAD GNSS 20200316 000234 UTC COMMENT
GFZRNX.NUM_EPOCHS: 2880 COMMENT
138 # OF SATELLITES
C01 2880 2880 2880 2880PRN / # OF OBS
2880 2880 2880 2880PRN / # OF OBS
2880 2880 2880 2880 PRN / # OF OBS
PRN / # OF OBS
C02 2880 2880 2880 2880PRN / # OF OBS
2880 2880 2880 2880PRN / # OF OBS
2880 2880 2880 2880 PRN / # OF OBS
PRN / # OF OBS
C03 2880 2880 2880 2880PRN / # OF OBS
2879 2880 2880 2880PRN / # OF OBS
2880 2880 2880 2880 PRN / # OF OBS
PRN / # OF OBS
... ...
S30 2880 2880 2880 2880 PRN / # OF OBS
S37 2880 2880 2880 2880 PRN / # OF OBS
S40 2880 2880 2880 2880 PRN / # OF OBS
30.000 INTERVAL
2020 3 15 0 0 0.0000000 GPS TIME OF FIRST OBS
2020 3 15 23 59 30.0000000 GPS TIME OF LAST OBS
END OF HEADER
下面截取了该文件的数据部分的一些内容。数据部分按观测时间分成N组,用>开头,每组分别记录了每颗卫星的观测数据。此文件中第一组是2020年3月15日0时0分0秒的47颗卫星的观测值,接收机钟差为0.000000001398秒。此文件中第二组是2020年3月15日0时0分30秒的47颗卫星的观测值,接收机钟差为0.000000000048秒。每组数据中的每一行表示一颗卫星的观测值。比如C01这一行表示C01卫星的观测值,观测值的顺序与文件头中“SYS / # / OBS TYPES”记录的观测类型顺序一致,没有则留空白。比如第一组数据中的37420158.559表示的是北斗C01卫星C2I类型的观测值。
> 2020 03 15 00 00 00.0000000 0 47 .000000001398
C01 37420158.559 37420149.449 37420146.919 14.304 11.616 11.035 194856586.512 7 158336908.010 7 150675428.892 8 45.324 45.063 48.777
C02 37500011.302 37500006.472 37500003.132 -33.310 -27.032 -25.709 195272686.806 6 158674816.816 6 150996972.860 7 40.680 40.070 46.016
C03 36893508.819 36893503.769 36893502.229 -15.309 -12.416 -11.764 192114195.429 7 156108500.961 7 148554844.920 8 46.242 44.828 48.676
C04 38778918.230 38778913.320 38778911.650 -1.454 -1.047 -.991 201931991.269 6 164086254.110 7 156146373.001 7 39.906 42.059 44.598
C05 39487920.234 39487914.494 39487911.964 -34.276 -27.747 -26.605 205623984.728 5 167086329.826 5 159001513.480 6 35.266 34.668 36.559
... ...
> 2020 03 15 00 00 30.0000000 0 47 .000000000048
C01 37420075.439 37420066.579 37420064.629 14.172 11.626 10.955 194856155.186 7 158336557.509 7 150675095.358 8 45.168 44.852 48.672
C02 37500203.433 37500197.513 37500194.643 -33.499 -27.082 -25.786 195273683.485 6 158675626.696 6 150997743.538 7 40.383 39.723 45.520
C03 36893596.509 36893591.509 36893589.639 -15.401 -12.430 -11.856 192114651.569 7 156108871.603 7 148555197.632 8 46.168 45.031 48.953
C04 38778925.544 38778920.694 38778919.094 -1.455 -1.324 -1.149 201932030.581 6 164086286.091 7 156146403.414 7 40.191 41.875 45.520
C05 39488116.652 39488111.362 39488109.062 -34.368 -27.428 -26.433 205625009.550 5 167087162.521 5 159002305.912 6 35.148 34.492 36.480
... ...
下面是 ABPO00MDG_R_20192741000_01H_GN.rnx 文件的内容(后面部分省略),由文件名可知其为多个GPS系统的导航信息文件,从文件头的第一行也能看出。文件头中“IONOSPHERIC CORR”表示的是电离层的8个校正参数(可参考博文 电离层延时)。
数据部分是按卫星分组的,一组表示一颗卫星的导航信息。比如第一组卫星是G04,后面4个数据分别是Toc(2019 10 01 08 00 00)、卫星钟差(2.451241016388E-06)、卫星钟漂(-4.649791662814E-11)、卫星钟漂变化率(0.000000000000E+00);第二行4个数据分别是IODE(3.400000000000E+01)、Crs(-1.155625000000E+02)、 Δ n \Delta n Δn(4.599120143243E-09)和 M 0 M_0 M0(1.699075304872E+00)。其他几行数据也都对应着相应参数的值,具体可以参考 RINEX 标准的附录 A 6 GNSS Navigation Message File – GPS Data Record Description。我曾用这一组数据解算过这颗GPS卫星的位置,可以参考博文 GPS卫星位置解算。对于参数的含义若不清楚可以参考博文 GPS导航电文。
3.03 N: GNSS NAV DATA G: GPS RINEX VERSION / TYPE
sbf2rin-13.0.0x 20191001 110833 UTC PGM / RUN BY / DATE
GPSA 1.0245E-08 7.4506E-09 -5.9605E-08 -5.9605E-08 IONOSPHERIC CORR
GPSB 8.8064E+04 0.0000E+00 -1.9661E+05 -6.5536E+04 IONOSPHERIC CORR
COMMENT
COMMENT
ABPO MARKER NAME COMMENT
33302M001 MARKER NUMBER COMMENT
4097216.5539 4429119.1897 -2065771.1988 COMMENT
END OF HEADER
G04 2019 10 01 08 00 00 2.451241016388E-06-4.649791662814E-11 0.000000000000E+00
3.400000000000E+01-1.155625000000E+02 4.599120143243E-09 1.699075304872E+00
-5.902722477913E-06 1.475233526435E-02 9.264796972275E-06 5.153681812286E+03
2.016000000000E+05-3.259629011154E-07-1.091936976129E-01 5.774199962616E-08
9.590228562257E-01 2.046875000000E+02 6.837269280624E-01-8.244629136182E-09
-3.957307694893E-10 1.000000000000E+00 2.073000000000E+03 0.000000000000E+00
2.000000000000E+00 6.300000000000E+01-5.587935447693E-09 3.400000000000E+01
1.993680000000E+05 4.000000000000E+00
G04 2019 10 01 10 00 00 2.117361873388E-06-4.638422979042E-11 0.000000000000E+00
3.500000000000E+01-1.241562500000E+02 4.496615873529E-09 2.749239364763E+00
-6.437301635742E-06 1.475311303511E-02 9.318813681602E-06 5.153681180954E+03
2.088000000000E+05-5.215406417847E-08-1.092523694054E-01-1.750886440277E-07
9.590217253900E-01 1.979062500000E+02 6.837385407061E-01-7.920329913532E-09
-3.303709041314E-10 1.000000000000E+00 2.073000000000E+03 0.000000000000E+00
2.000000000000E+00 6.300000000000E+01-5.587935447693E-09 3.500000000000E+01
2.016180000000E+05 4.000000000000E+00
G08 2019 10 01 10 00 00-8.379574865103E-06-1.250555214938E-12 0.000000000000E+00
4.400000000000E+01-1.126250000000E+02 4.276249551530E-09 2.828310353199E+00
-5.677342414856E-06 4.480408970267E-03 9.693205356598E-06 5.153567115784E+03
2.088000000000E+05-3.911554813385E-08-1.798904865323E-02 4.470348358154E-08
9.705628982405E-01 1.979062500000E+02-2.308498758468E-01-7.935330538369E-09
-2.603679882289E-10 1.000000000000E+00 2.073000000000E+03 0.000000000000E+00
2.000000000000E+00 0.000000000000E+00 5.122274160385E-09 4.400000000000E+01
2.065020000000E+05 4.000000000000E+00
... ...
下面是 WUH200CHN_R_20200751000_01H_05M_MM.rnx 文件的内容。由文件名可知其为中国WUH2站点2020年3月15日10点的气象数据。从文件内容第一行也能看出是气象文件,第四行能看出地点。文件头中“# / TYPES OF OBSERV”这一行表示的本文件中有7个观测类型。观测类型的具体含义可参考 RINEX 标准的附录 A 20 Meteorological Data File -Header Section Description。“SENSOR POS XYZ/H”这一行指定了传感器所在的位置,“SENSOR MOD/TYPE/ACC”这些行指定了传感器的厂商、类型和精度。
数据部分是按时间顺序,每一个观测时间,采样“# / TYPES OF OBSERV”这一行对应的观测类型的数据值。比如数据的第一行表示2020年3月15日10点的气象数据,按顺序分别表示没有冰雹、相对湿度为26.3%,气压值为1013.5 mbar、从上次测量到现在没有累积降雨、干温度为20.7°、风向角327.4°、风速 0.2m/s。
3.04 METEOROLOGICAL DATA RINEX VERSION / TYPE
meteo_read 1.5.1 GFZ ODC 15-Mar-2020 10:02 PGM / RUN BY / DATE
gfzrnx-3078 FILE MERGE 20200315 105747 UTC COMMENT
WUH200CHN MARKER NAME
21602M007 MARKER NUMBER
7 HI HR PR RI TD WD WS # / TYPES OF OBSERV
0.0000 0.0000 0.0000 25.1262 PR SENSOR POS XYZ/H
Vaisala wxt520 0.3 TD SENSOR MOD/TYPE/ACC
Vaisala wxt520 0.5 PR SENSOR MOD/TYPE/ACC
Vaisala wxt520 3.0 HR SENSOR MOD/TYPE/ACC
Vaisala wxt520 3.0 WD SENSOR MOD/TYPE/ACC
Vaisala wxt520 0.3 WS SENSOR MOD/TYPE/ACC
Vaisala wxt520 5.0 RI SENSOR MOD/TYPE/ACC
Vaisala wxt520 0.1 HI SENSOR MOD/TYPE/ACC
[email protected] WHU/GFZ OBSERVER / AGENCY
INITIAL_RINEX_VERSION: 2.1 COMMENT
meteo_read 1.5.1 GFZ Potsdam 15-Mar-2020 10:02 COMMENT
Sensor ID: G4540043 COMMENT
Warning: the value -999.9 indicates no measurement at all COMMENT
Info : Rain as increment of 1/10 mm COMMENT
meteo_read 1.5.1 GFZ Potsdam 15-Mar-2020 10:17 COMMENT
meteo_read 1.5.1 GFZ Potsdam 15-Mar-2020 10:32 COMMENT
meteo_read 1.5.1 GFZ Potsdam 15-Mar-2020 10:47 COMMENT
END OF HEADER
2020 03 15 10 00 00 0.0 26.3 1013.5 0.0 20.7 327.4 0.2
2020 03 15 10 05 00 0.0 26.7 1013.6 0.0 20.6 304.5 0.1
2020 03 15 10 10 00 0.0 27.6 1013.6 0.0 20.4 147.4 0.1
2020 03 15 10 15 00 0.0 27.8 1013.6 0.0 20.2 330.8 0.1
2020 03 15 10 20 00 0.0 27.8 1013.7 0.0 20.0 350.2 0.2
2020 03 15 10 25 00 0.0 29.2 1013.7 0.0 19.7 184.4 0.2
2020 03 15 10 30 00 0.0 29.2 1013.7 0.0 19.4 177.7 0.2
2020 03 15 10 35 00 0.0 29.4 1013.7 0.0 19.2 168.7 0.1
2020 03 15 10 40 00 0.0 30.0 1013.8 0.0 19.0 104.8 0.1
2020 03 15 10 45 00 0.0 30.5 1013.8 0.0 18.7 144.6 0.1
2020 03 15 10 50 00 0.0 31.1 1013.9 0.0 18.6 345.0 0.1
2020 03 15 10 55 00 0.0 32.7 1013.9 0.0 18.4 223.2 0.1