GPS 生データを読み取るにはどうすればよいですか。具体的には、saellites 疑似範囲が必要です。このデータは NMEA 形式では利用できません。
3 に答える
GpsStatus.Listener インターフェースや GpsStatus.NMEAListener インターフェースを介しても、公式 APIではサテライト疑似距離を使用できません。
GpsSatellite クラスで利用できる唯一の情報は次のとおりです。
- PRN
- 方位角
- 標高
- C/N0
- 「usedInFix」ブール値。
Android ソース コードは、ネイティブ コードからこれらのフィールドのみを要求するため、他の Java API から取得することは期待できません。
とにかくこのデータを取得するための最良の方法 (これは市場に出回るアプリケーションには適していません) は、Android ソース コードを調査し、低レベルでデータを取得して JNI 経由でアクセスするためのネイティブ フックを見つけるか、再コンパイルすることです。必要に応じて API を変更する完全な OS (それに関連するネイティブ コードも見つける必要があります)。最後に、チップセットからGRS NMEA センテンス
を送信できる場合(標準の NMEAListener インターフェースを介して取得しますが、送信するようにチップセットを構成することが困難です)、疑似距離を計算できます (これらのセンテンスには衛星の残差が含まれています)。 )
頑張ってください。これらのアイデアを試してみたら教えてください!
疑似距離と生データが必要な場合、NMEA ではうまくいきません。受信機のバイナリ プロトコルを使用する必要があります。たとえば、ublox 受信機には ublox バイナリを使用します。Sirf 受信機用の Sirf バイナリ。サテライト生データは、RAW オプションが有効になっている特別な受信機でのみ利用できます。スマートフォンでそれを期待しないでください。
詳細については、ublox プロトコル仕様を参照してください。
あなたはsatinfoを見てみるかもしれません
http://code.google.com/p/codetastrophe/source/browse/#svn/trunk/projects/satinfo
探しているものを具体的に提供するかどうか、または最近のバージョンの Android でも動作するかどうかはわかりません