如何获取GPS原始数据(卫星伪距)?

时间:2010-11-22 21:32:13

标签: android gps nmea

如何读取GPS原始数据,更具体地说我需要saellites伪范围。 此数据不以NMEA格式提供。

3 个答案:

答案 0 :(得分:17)

official API中的卫星伪范围不可用,既不通过GpsStatus.Listener也不通过GpsStatus.NMEAListener接口。

the GpsSatellite class中唯一可用的信息是:

  • PRN
  • 方位
  • 高程
  • C / N0
  • a“usedInFix”boolean。

Android source code只询问本机代码中的那些字段,因此无法从任何其他Java API获取它。

无论如何,获取此数据的最佳方式(不适用于市场应用程序)将是探索Android源代码,并找到本机钩子以获取低级别的数据并通过JNI访问或者重新编译完整的操作系统,根据您的需要修改API(您还需要找到相关的本机代码) 最后,如果您可以让芯片组发送给您GRS NMEA sentences(您将通过标准的NMEAListener接口获取它们,难以配置芯片组发送它们)您可以计算伪范围(这些句子包含卫星) '残差)

祝你好运,如果您尝试这些想法,请告诉我们!

答案 1 :(得分:6)

如果你需要伪距和原始数据,你就不会对NMEA感到幸运​​。 你必须使用你的接收器的二进制协议, 例如,用于ublox接收器的ublox二进制文件。 Sirf接收器的Sirf二进制文件。 Sattelite原始日期仅适用于启用了RAW选项的特殊接收器。不要期望在智能手机上。

您在ublox协议规范中找到的更多详细信息。

答案 2 :(得分:1)

你可以看一下satinfo

http://code.google.com/p/codetastrophe/source/browse/#svn/trunk/projects/satinfo

不确定它是否提供了您正在寻找的内容,或者它是否仍适用于最新版本的Android