ステータス:約 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 倍にするとさらに精度が低下するように見えます。それが実際に私の質問でした。