2010-11-22 91 views
16

如何讀取GPS原始數據,更具體地說,我需要saellites僞距。 該數據不適用於NMEA格式。如何獲取GPS原始數據(衛星僞距)?

+0

我正在嘗試做與1年前相同的事情。 您是否找到了從GPS獲取僞距數據的解決方案?我沒有找到任何人做過這樣的事情。 – 2012-03-01 15:50:04

回答

16

衛星的僞範圍不可用official API,既不通過GpsStatus.Listener也不通過GpsStatus.NMEAListener接口。

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

  • PRN
  • 方位
  • 海拔
  • C/N0
  • 一個 「usedInFix」 布爾。

Android source code只要求本地代碼中的那些字段,所以沒有希望從任何其他Java API獲得它。

無論如何,獲取這些數據的最佳方式(不適合市場​​應用)將是探索Android源代碼,並找到一個原生的鉤子來獲取低級數據並通過訪問JNI,或重新編譯完整的操作系統,修改API以滿足您的需求(您還需要爲此找到相關的本機代碼)。
最後,如果你能讓芯片組發送給你GRS NMEA sentences(你可以通過標準的NMEAListener接口獲得它們,難度是配置芯片組發送它們),然後你可以計算僞距(這些句子包含衛星殘差)

祝你好運,讓我知道,如果你嘗試任何這些想法!

+0

爲什麼訪問低級別意味着「不適合市場​​應用程序」? – 2010-12-08 08:41:26

5

如果您需要僞距和原始數據,您將不會對NMEA感到幸運​​。 您必須使用接收器的二進制協議, E.g ublox二進制文件用於ublox接收器。 Sirf二進制的Sirf接收器。 衛星生日只適用於啓用了RAW選項的特殊接收機。不要期望在智能手機上。

更多詳細信息,請參閱ublox協議規範。