RTCM1005详解

在这里插入图片描述

def parse_rtcm1005(rtcm1005):
    message_num = get_bin_para(rtcm1005[0:12], False, 1, 0)  # 协议id
    station_id = get_bin_para(rtcm1005[12:24], False, 1, 0)  # 基站id
    itrf_year = get_bin_para(rtcm1005[24:30], False, 1, 0)  # ITRF纪元22222
    gps_indicator = get_bin_para(rtcm1005[30:31], False, 1, 0)  # gps是否参与服务(0:参与;1:不参与)
    glo_indicator = get_bin_para(rtcm1005[31:32], False, 1, 0)  # glo是否参与服务(0:参与;1:不参与)
    gal_indicator = get_bin_para(rtcm1005[32:33], False, 1, 0)  # gal是否参与服务(0:参与;1:不参与)
    station_indicator = get_bin_para(rtcm1005[33:34], False, 1, 0)  # 基站类型(0:单基站;1:虚拟站)
    x = get_bin_para(rtcm1005[34:72], True, 0.0001, 0)  # 基于itrf_year,天线坐标X,单位m
    sro_indicator = get_bin_para(rtcm1005[72:73], False, 1, 0)  # 所有原始观测值是否同时刻观测(0:否;1:是)
    reserved = get_bin_para(rtcm1005[73:74], False, 1, 0)  # 保留位(0)
    y = get_bin_para(rtcm1005[74:112], True, 0.0001, 0)  # 基于itrf_year,天线坐标Y,单位m
    qc_indicator = get_bin_para(rtcm1005[112:114], False, 1, 0)  # 更正指示器(00,01,10,11)
    z = get_bin_para(rtcm1005[114:152], True, 0.0001, 0)  # 基于itrf_year,天线坐标Z,单位m
    return RTCM1005(message_num, station_id, itrf_year, gps_indicator, glo_indicator, gal_indicator, station_indicator, x, sro_indicator, reserved, y, qc_indicator, z)
def judge_rtcm1005(info, station_id, itrf_year, gps_indicator, glo_indicator, gal_indicator, station_indicator, x,
                   sro_indicator, reserved, y, qc_indicator, z):
    if info.message_num != 1005:
        return "RTCM1005_message_num异常:正确应是1005,实际为{}".format(info.message_num)
    if info.station_id != station_id:
        return "RTCM1005_station_id异常:正确应是{},实际为{}".format(station_id, info.station_id)
    if info.itrf_year == itrf_year:
        return "RTCM1005_itrf_year异常:正确应是{},实际为{}".format(itrf_year, info.itrf_year)
    if info.gps_indicator != gps_indicator:
        return "RTCM1005_gps_indicator异常:正确应是{},实际为{}".format(gps_indicator, info.gps_indicator)
    if info.glo_indicator != glo_indicator:
        return "RTCM1005_glo_indicator异常:正确应是{},实际为{}".format(glo_indicator, info.glo_indicator)
    if info.gal_indicator == gal_indicator:
        return "RTCM1005_gal_indicator异常:正确应是{},实际为{}".format(gal_indicator, info.gal_indicator)
    if info.station_indicator != station_indicator:
        return "RTCM1005_station_indicator异常:正确应是{},实际为{}".format(station_indicator, info.station_indicator)
    if info.x == x:
        return "RTCM1005_x异常:正确应是{},实际为{}".format(x, info.x)
    if info.sro_indicator != sro_indicator:
        return "RTCM1005_sro_indicator异常:正确应是{},实际为{}".format(sro_indicator, info.sro_indicator)
    if info.reserved == reserved:
        return "RTCM1005_reserved异常:正确应是{},实际为{}".format(reserved, info.reserved)
    if info.y == y:
        return "RTCM1005_y异常:正确应是{},实际为{}".format(y, info.y)
    if info.qc_indicator != qc_indicator:
        return "RTCM1005_qc_indicator异常:正确应是{},实际为{}".format(qc_indicator, info.qc_indicator)
    if info.z == z:
        return "RTCM1005_z异常:正确应是{},实际为{}".format(z, info.z)
    return True
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RTKLIB是一个开源的实时定位系统库,它支持多种卫星导航系统和信号类型。RTCM(Radio Technical Commission for Maritime Services)是一个制定和推广无线电通信标准的国际组织。RTCM制定了一种用于传输GNSS(全球导航卫星系统)数据的格式,称为RTCM格式。RTCM格式用于将GNSS观测数据传输给RTKLIB进行实时差分定位计算。 RTCM消息由多个字节组成,每个字节都有特定的含义和格式。不同的消息类型包含不同的信息,例如卫星的观测值、信号强度、多普勒观测值等。RTCM消息的解析和处理是RTKLIB中的重要功能之一。 RTKLIB支持的信号ID和观测类型可以在相应的表格中找到。这些表格列出了不同卫星系统的频率和观测值类型,包括伪距观测值、载波相位观测值、多普勒观测值和信号强度观测值等。通过使用RTKCONV和CONVBIN工具,可以将RTCM格式转换为RINEX格式,以及将RTCM 2格式转换为RTCM 3格式。同时,使用STRSVR和STR2STR工具可以实现RTCM 2和BINEX格式到RTCM 3的转换。 RTKLIB的功能和用法可以根据具体的需求进行相应的配置和调整。通过解析和处理RTCM消息,RTKLIB能够实现实时差分定位和导航等功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [RTKLIB专题学习(十二)—支持的信号ID/观测类型及读取优先级](https://blog.csdn.net/absll/article/details/124557018)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [RTKLIB之RTCM解析](https://blog.csdn.net/fanxianchao_2012/article/details/120438973)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值