0

私のアプリケーションでは、2 つの GPS デバイス間の距離を計算する必要があります。GPS 座標 (経度、緯度、高度) を使用する場合、問題があります。高さは、より大きな絶対誤差で決定されます。これは、式に基づいてエラー ファイとテッタ (緯度と経度) を計算することで確認できます。

x = r*sin(tetta)*cos(phi) y = r*sin(tetta)*cos(phi) z = r*cos(tetta)

ただし、GPS 受信機が最初にデカルト座標系 (x、y、z) のデータを受け取り、それらを座標系 r、tetta、phi (高度、緯度、経度) に変換することは明らかです。元の座標 x、y、z を取得するにはどうすればよいですか? API に既存のメソッドはありますか? 繰り返しになりますが、長方形の球座標系からの変換式は必要ありません。GPS 受信機から取得した元のデータの精度が必要です。出来ますか?

4

2 に答える 2

0

おっしゃる通り、GPS 受信機は内部でデカルト座標系のECEF 座標系を使用しています。しかし、スマートフォンではその座標を取得できません。スマートフォンで取得した WGS84 座標から ECEF への変換については、上記のリンクを参照してください。

ただし、ECEF は 3D デカルトであるため、2 点間の直線は地球を横切ります。これは、飛行アプリケーションにのみ役立ちます。

車両 (車、船) の場合、通常は GPS の高さを忘れて、地上距離 (2 次元デカルト) を計算するだけです。

別の解決策: 最初に (緯度、経度) から 2 次元デカルトへの変換を単位メートルで行い、次に高さを 3 次元として追加します。これにより、地球の小さな部分が平面としてモデル化されます。

計算が必要な目的は常に異なります。

于 2013-10-09T13:55:57.013 に答える
0

GPS がデカルト座標で始まることが明らかなのはなぜですか?

いずれにせよ、API から場所の特定の要素の精度を取得する方法がわかりません。高度が最もエラーが発生しやすい傾向があることは事実です (チップセットに依存し、物理的なものではなく基準ジオイドの上にあります)。高度のデータを記録し、変動をモデル化することで、精度の指標を得ることができます。

于 2013-10-09T11:40:16.767 に答える