RTK_LIB 源码、可执行文件、rtkget、观测文件、星历文件(精密星历、广播星历)、精密钟差文件介绍

1. RTK_LIB开源程序下载:

点开rtklib链接:下载最新版本的可执行文件和程序源码。
在这里插入图片描述

2. GNSS数据处理需要的文件

2.1 伪距定位:spp

  • 观测数据(.0)
  • 导航星历(广播星历.n)

2.2 精密单点定位:ppp

  • 观测数据
  • 精密星历
  • 精密钟差

3. 获取所需文件

3.1 RTKGET获取数据下载观测数据

打开E:\RTKLIB_M\RTKLIB_bin-rtklib_2.4.3\bin\rtkget.exe
设置文件获取路径:

  • 1.option
  • 2.URL list File For GNSS Data
  • 3.选择URL_LIST.txt文件所在路径

注:选择需要的时间段,点击问号可以查看对应的其他系统时间(utc、gpsweek等)
这一列表示要下载的文件
在这里插入图片描述

  • OBS:表示观测值文件(伪距载波)
  • NAV:广播星历文件
  • EPH:精密星历文件(精密轨道文件)
  • CLK:精密钟差
  • ATX天线文件:(PPP)(接收机和天线相位中心的影响)

3.1.1静态观测值文件下载
首先选择OBS观测值文件,然后选择数据中心IGS、MGEX等等
然后选择测站一般四个字符、选择测站名download就好了。这样下载慢,可以直接从FTP下载,
在这里插入图片描述
进入对应年份的年纪日目录以后
20d表示压缩包格式的观测值文件
在这里插入图片描述
前四位表示测站名、后边的00ARG表示对应机构的一些信息,20201830表示年份和年纪日,30表示采样间隔30s,
crx、gz表示压缩格式表示这个文件被压缩了两次。
20O则是只压缩了一次的观测值文件。

3.1.2.广播星历文件直接在rtkget直接下载,或者习惯使用ftp进行下载。

3.1.3精密轨道、精密钟差、观测值文件(存在延迟一般在7-14天延迟)
在这里插入图片描述

3.2使用ftp下载星历文件

https://cddis.nasa.gov/archive/gnss/data
文件路径说明 https://cddis.nasa.gov/archive/gnss/00readme

 /daily/YYYY/DDD/YYd         Observation files for year YYYY and day DDD
                             (Hatanaka format)
                 /YYf        Beidou navigation files for year YYYY and day DDD
                 /YYg        GLONASS navigation files for year YYYY and day
                             DDD
                 /YYh        SBAS navigation files for year YYYY and day DDD
                 /YYi        IRNSS navigation files for year YYYY and day DDD
                 /YYl        Galileo navigation files for year YYYY and day
                             DDD
                 /YYm        Met files for year YYYY and day DDD
                 /YYn        GPS navigation files for year YYYY and day DDD
                 /YYo        Observation files for year YYYY and day DDD
   多系统星历文件 /YYp        Mixed navigation files for year YYYY and day DDD
                 /YYq        QZSS navigation files for year YYYY and day DDD
                 /YYs        Summary files for year YYYY and day DDD

若年纪日为选111故进入路径:https://cddis.nasa.gov/archive/gnss/data/daily/2022/111/22p/
下载一个大点的文件就可以了。
注意:要查看版本号rtklib目前不支持4.0版本

4. RENIX文件格式介绍

推荐文本查看器NOTEPAD++

4.1 观测值文件

详细说明
在这里插入图片描述

  • REC接收机类型:
  • ANT天线类型:
  • 观测值类型SYS / # /OBS TYPE;
    在这里插入图片描述
  • C1X:C表示伪距 1表示频率(频段) X表示通道
  • D1X:D表示多普勒 1表示频率
  • L1X:L表示载波 1表示频率
  • S1X:表示载噪比,数据受噪声影响的一个指标
  • E;表示伽利略卫星系统
  • G:表示GPS
  • R:表示geluonasi卫星系统
    在这里插入图片描述
    数据块的第一行记录了该历元的UTC时刻,年、月、日、时分秒,紧跟着一个整型单位的历元标志,记录了该历元的状况(0表示正常),然后是该历元观测到的卫星数量,以及各个卫星的PRN号。
    历元信息往下一行就是记录观测值的数据块,以每颗卫星为单位,依照头文件中的观测值类型及顺序,从左到右依次排列,每行记录5个观测值,一行不够时转下行。当所有卫星数据记录完后,转到下一个历元。

4.2 广播星历文件

在这里插入图片描述

  • G01表示卫星号、年月日时分秒、卫星钟差
  • 其他表示卫星轨道信息

4.3 精密星历sp3

精密星历5分钟一个,精密钟差30秒一个在这里插入图片描述
时间、卫星号、对应的坐标,最后一列是钟差信息(精度不高所以需要另行下载)

4.4 精密钟差

在这里插入图片描述
卫星、卫星号、时间、精密钟差、方差。

在这里插入图片描述

### GNSS .obs 文件格式说明 GNSS观测文件(.obs)是一种标准的数据文件,主要用于存储来自全球导航卫星系统的原始测量数据。这类文件遵循特定的结构化格式,便于不同软件硬件平台之间的互操作性。 #### 文件头信息 文件头部包含有关站点、接收机、天线的信息以及其他元数据。特别需要注意的是以`SYS / # / OBS TYPES`结尾的行[^3]。这一部分定义了后续数据块中的观测类型及其排列顺序,对于正确解释数据至关重要。 #### 观测数据体 主体部分由多个周期性的观测记录组成,每条记录代表一次完整的卫星信号采样时刻下的所有可用通道的状态报告。每个观测时段内会列出参与此次定位计算的具体卫星编号以及对应的伪距(Pseudorange)、载波相位(Carrier Phase)等物理量。 ```plaintext > TIME OF FIRST OBS 2021 7 5 0 0 0.0000000 0 > OBSERVATION DATA (GPS SYSTEM) GpsTime WeekNo SecOfWeek NumSats PRN LLI SNR PseudoRange CarrierPhase Doppler ... 0 0 0 8 1 0 40 X Y Z ... ``` 上述示例展示了典型的 Rinex 格式的开头几行,其中包含了时间戳其他必要的参数来描述观测条件。 ### 解析方法 为了有效地解析`.obs`文件,在编程层面需执行如下操作: 1. **读取并理解文件头** - 提取出关于站名、仪器型号的关键字段。 - 记录下所使用的坐标系及时模型等相关设置。 2. **遍历观测数据区** - 对于每一组新的观测时间段,提取出精确的时间标记。 - 处理各个卫星的相关观测量,包括但不限于伪距、多普勒频移及信噪比(SNR)。 以下是利用 Python 进行基本 `.obs` 文件解析的一个简化版本代码片段: ```python def parse_obs_file(file_path): with open(file_path, 'r') as f: lines = f.readlines() header_info = {} observation_data = [] is_header_section = True for line in lines: stripped_line = line.strip() if not stripped_line or stripped_line.startswith('%'): continue if "END OF HEADER" in stripped_line.upper(): is_header_section = False continue if is_header_section: key_value_pair = stripped_line.split(':') if len(key_value_pair) >= 2: key = key_value_pair[0].strip().replace(' ', '_').lower() value = ':'.join(key_value_pair[1:]).strip() header_info[key] = value else: parts = stripped_line.split() epoch_time = { 'year': int(parts[0]), 'month': int(parts[1]), 'day': int(parts[2]), 'hour': int(parts[3]), 'minute': int(parts[4]), 'second': float(parts[5]) } num_sats = int(parts[-1]) satellites = [] start_index = 6 while start_index < len(parts)-num_sats*4+start_index: prn_id = int(parts[start_index]) lli = int(parts[start_index + 1]) snr = int(parts[start_index + 2]) pseudo_range = float(parts[start_index + 3]) satellite_entry = {'prn': prn_id, 'lli': lli, 'snr': snr, 'pseudo_range': pseudo_range} satellites.append(satellite_entry) start_index += 4 entry = dict(epoch=epoch_time, satellites=satellites) observation_data.append(entry) return header_info, observation_data ``` 此函数接受一个路径作为输入,并返回两个字典列表——一个是保存文件头部信息的对象;另一个则是按照时间序列组织起来的实际观测数据集。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

My.科研小菜鸡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值