0

ステータス:約 1 週間後に感謝の意を表して、利用可能な最良の回答を受け入れました。引用を使用してさらに回答を待つ/招待する

この問題は複雑でした。すべてのコメンテーター、特に asciimo、Gabe Sechan、AlexWien に本当に感謝しています。十分に検討した後、さらに投票および/または回答してください。

シナリオ:

Location.getLatitude()in androidは精度の低いdoubleを返します。

Api http://developer.android.com/reference/android/location/Location.html

例:

編集-2 開始

エミュレーターで GPS 座標を送信しようとしたところ、111.422006 が 111.422004999999998 に自動変換されました。Double dlongi = loc.getLongitude(); String longi = dlati.toString(); System.out.println(longi);

編集-2終了

編集-3 開始

エミュレーターで(実際にはGPSデバイスで)座標を111.422006として送信し、Android APIは111.42004999999998の2倍の値として受信しました

編集-3終了

遅すぎる: BigDecimal クラスはすでに ad/Double を提供しているため、遅すぎます。

質問: 完全な精度が必要な場合はどうなりますか?

精度の高い、または double 以外の別の形式で取得する方法は何ですか?

共有して、他の人にもこれに気付かせることを考えただけです。

リクエスト: で適切な回答が得られるまで回答しないでくださいcitation。これはコミュニティを助けるでしょう。

編集:

通常の GPS デバイスによる Gps コーディネーターは、たとえば 3 メートル近くで 100% 完全に正確ではないように見えますが、2 倍にするとさらに精度が低下するように見えます。それが実際に私の質問でした。

4

3 に答える 3