gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 13:22:00 25 4
gpt4 key购买 nike

您好,我是这个领域的新手,需要您的帮助。我想在 Android 中获取 GNSS 星历数据。我不想从任何网站下载它。这就是我目前正在做的事情:

我正在使用 GnssNavigationMessage.java ( https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/location/java/android/location/GnssNavigationMessage.java ) 在 Android 上记录 GNSS 导航消息。

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

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

Nav,103,769,1,2,1,8,16,-4,19,66,-112,-126,-42,25,20,-8 位于标题后面

导航、Svid、类型、状态、消息 ID、子消息 ID、数据(字节)

我想获取以下参数以进行进一步计算:

  1. PRN % SV PRN 编号
  2. Toc % 时钟时间(秒)
  3. af0 % SV 时钟偏差(秒)
  4. af1 % SV 时钟漂移(秒/秒)
  5. af2 % SV 时钟漂移率(秒/秒2)
  6. IODE 数据发布百分比、星历
  7. Crs % 轨道半径正弦谐波修正(米)
  8. Delta_n % 与计算值的平均运动差异(弧度/秒)
  9. M0 引用时间的平均异常百分比(弧度)
  10. Cuc % 对 lat 参数的余弦调和校正(弧度)
  11. e % 偏心率(无量纲)
  12. Cus % 对纬度角的正弦谐波校正(弧度)
  13. Asqrt % 长半轴的平方根(米^1/2)
  14. Toe % 星历引用时间(秒)
  15. Cic % 对倾角的正弦谐波校正(弧度)
  16. OMEGA 周纪元升交点经度百分比(弧度)
  17. Cis % 对倾角的正弦谐波校正(弧度)
  18. i0 % 引用时间的倾斜角(弧度)
  19. Crc % 对轨道半径的余弦谐波修正(米)
  20. omega 近地点角角百分比(弧度)
  21. OMEGA_DOT% 赤经速率(弧度/秒)
  22. IDOT 倾斜角速率百分比(弧度/秒)
  23. codeL2 L2 channel 上的代码百分比
  24. GPS_Week % GPS 周(与 Toe 一起使用),(不是 Mod 1024)
  25. L2Pdata % L2 P 数据标志
  26. 精度 % SV 用户范围精度(米)
  27. 健康状况 % 卫星健康状况
  28. TGD 群延迟百分比(秒)
  29. IODC 数据、时钟问题百分比
  30. ttx 消息传输时间百分比(秒)
  31. Fit_interval %拟合间隔(小时),如果未知则为零

请告诉我是否有办法将我收到的导航消息解析为这些参数。如果我走错了方向,也请告诉我。任何线索将不胜感激。谢谢。

最佳答案

Google 已实现代码来解析导航消息,作为其 GNSSLogger app 的一部分:

https://github.com/google/gps-measurement-tools/blob/master/GNSSLogger/pseudorange/src/main/java/com/google/location/lbs/gnss/gps/pseudorange/GpsNavigationMessageStore.java

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
*
*/

关于java - 如何在 Android 上解析 GPS 导航消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45621313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com