Java 如何在Android上解析GPS导航消息

Java 如何在Android上解析GPS导航消息,java,android,gps,Java,Android,Gps,嗨,我是这个领域的新手,需要你的帮助。 我想用安卓系统获取全球导航卫星系统星历数据。我不想从任何网站下载。 这就是我目前正在做的: 我正在使用GnssNavigationMessage.java()在Android上记录GNSS导航消息 在我的记录器中,我使用以下命令获取数据: 字节[]数据=navigationMessage.getData() 现在我得到的数据如下所示: 导航,103769,1,2,1,8,16,-4,19,66,-112,-126,-42,25,20,-8,跟随标题 导航、

嗨,我是这个领域的新手,需要你的帮助。 我想用安卓系统获取全球导航卫星系统星历数据。我不想从任何网站下载。 这就是我目前正在做的:

我正在使用GnssNavigationMessage.java()在Android上记录GNSS导航消息

在我的记录器中,我使用以下命令获取数据: 字节[]数据=navigationMessage.getData()

现在我得到的数据如下所示:

导航,103769,1,2,1,8,16,-4,19,66,-112,-126,-42,25,20,-8,跟随标题

导航、Svid、类型、状态、消息ID、子消息ID、数据(字节) 我想得到以下参数,以便进一步计算:

  • PRN%SV PRN编号
  • Toc%时钟时间(秒)
  • af0%SV时钟偏差(秒)
  • af1%SV时钟漂移(秒/秒)
  • af2%SV时钟漂移率(秒/秒)
  • IODE%数据发布,星历
  • 轨道半径的Crs%正弦谐波校正(米)
  • Delta_n%与计算值的平均运动差(弧度/秒)
  • 参考时间的M0%平均异常(弧度)
  • 对lat(弧度)参数的Cuc%余弦谐波校正
  • e%偏心率(无量纲)
  • 对纬度参数的Cus%正弦谐波校正 (弧度)
  • 半长轴的Asqrt%平方根(米^1/2)
  • 星历的Toe%参考时间(秒)
  • Cic%倾斜角正弦谐波校正 (弧度)
  • 每周历元上升节点的ω%经度(弧度)
  • 倾斜角Cis%正弦谐波校正 (弧度)
  • i0%参考时间的倾角(弧度)
  • 轨道半径的Crc%余弦谐波校正 (米)
  • 近地点的ω%参数(弧度)
  • OMEGA_点%的赤经速率(弧度/秒)
  • IDOT倾斜角的百分比(弧度/秒)
  • codeL2%L2通道上的代码
  • 全球定位系统周百分比全球定位系统周(适用于脚趾),(非1024模)
  • L2Pdata%L2 P数据标志
  • 精度%SV用户范围精度(米)
  • 健康%卫星健康
  • TGD%组延迟(秒)
  • IODC%数据问题,时钟
  • ttx%信息传输时间(秒)
  • 拟合间隔%拟合间隔(小时),如果未知,则为零
  • 请告诉我是否有办法将我收到的导航消息解析为这些参数。 如果我走错了方向,也要告诉我。 任何线索都将不胜感激。
    谢谢。

    谷歌已经实现了解析导航消息的代码,这是其:

    GpsNavigationMessageStore
    类说明中说明:

    /**
     * A class to extract the fields of the GPS navigation message from the raw bytes received from the
     * GPS receiver.
     *
     * <p>Raw bytes are passed by calling the method
     * {@link #onNavMessageReported(byte, byte, short, byte[])}
     *
     * <p>A {@link GpsNavMessageProto} containing the extracted field is obtained by calling the method
     * {@link #createDecodedNavMessage()}
     *
     * <p>References:
     * http://www.gps.gov/technical/icwg/IS-GPS-200D.pdf and
     * http://www.gps.gov/technical/ps/1995-SPS-signal-specification.pdf
     *
     */
    
    /**
    *从从接收到的原始字节中提取GPS导航消息字段的类
    *GPS接收机。
    *
    *原始字节通过调用方法传递
    *{@link#onNavMessageReported(byte,byte,short,byte[])
    *
    *A{@link GpsNavMessageProto}包含提取的字段,通过调用该方法获得
    *{@link#createDecodedNavMessage()}
    *
    *参考资料:
    * http://www.gps.gov/technical/icwg/IS-GPS-200D.pdf 和
    * http://www.gps.gov/technical/ps/1995-SPS-signal-specification.pdf
    *
    */
    
    您有什么解决方案吗?