web-dev-qa-db-ja.com

Androidで位置精度はどのように測定されますか?

GetAccuracy()によって返される精度測定値の適切な解釈を知っている人はいますか?たとえば、次のように計算されますか?

  • 循環エラー確率(正しく理解できれば、50%の信頼円の半径)

  • 95%の信頼円の半径?

  • 他に何か?

また、実際に使用される計算はどのようなもので、どの程度信頼できるのでしょうか?位置推定のソース(GPS対ネットワーク)に依存しますか?

アドバイスをありがとう。

93

質問の一部に回答する場合、番号はthe radius of 68% confidence,は、実際の位置が測定ポイントの半径内にメートル単位である可能性が68%あることを意味します。エラーが正規分布していると仮定すると(ドキュメントによると、必ずしもそうとは限りません)、これは1つの標準偏差であることを意味します。たとえば、Location.getAccuracyが10を返す場合、デバイスの実際の位置が報告された座標から10メートル以内にある可能性が68%あります。

http://developer.Android.com/reference/Android/location/Location.html#getAccuracy()

63
karl

バッテリーの寿命が限られている場合や、建物や大きな建物などが多いエリアにGPS信号がない場合は、場所を指定するのが難しくなります。ただし、Android場所をリクエストするときは、必要な精度を指定するだけです。

例としてaccuracyが必要であることを指定した場合*100 meters*、Androidは位置を取得しようとし、70メートルの精度で位置を取得できる場合はそれをあなたに返しますが、Android 100メートルを超える精度で位置を取得できる場合、アプリケーションは待機し、そのような精度の位置が存在するまで何も受信しません。

通常、Androidは最初にセルIDを取得し、それをそのようなセルIDをマップするGoogleサーバーに送信します。サーバーは、たとえば1000の低い精度で緯度と経度を返しますこの時間までにAndroidは、エリア内のすべてのWiFiネットワークの表示を試み、それらに関する情報もGoogleサーバーに送信し、可能であればGoogleサーバーはより正確に新しい場所を返しますたとえば、800メートルです。

この時点で、GPSはオンになります。 GPSデバイスは、修正を取得するためにコールドスタートから少なくとも30秒を必要とするため、修正を取得できる場合は、緯度と経度を返しますが、再び正確になります。 GPSが長く動作するほど、精度が向上します。

重要なお知らせ:最初の2つの方法ではインターネット接続が必要です。データ接続がない場合は、GPSを待つ必要がありますが、デバイスが建物内にある場合は、おそらく場所を取得できません。

42
vendor

getAccuracy のドキュメントは、メートル単位の精度を返すと述べています。これは、戻り値60を取得した場合、指定された位置を中心とする半径60メートルの円のどこかにいることを意味すると思います。

17
Janusz

Androidソースコードをひと目で見ればわかるように、これはデバイスのハードウェアと返される値によって異なります。

GpsLocationProvider.Javaファイルには reportLocationメソッド があります。これはネイティブコードによって呼び出され、値として精度を渡します。したがって、少なくともフレームワークでは計算は行われていないようです。

Qcom(私はクアルコムだと思う)GPS git repo 渡しているhor_unc_circular精度のパラメータは、少なくともその実装がCERを使用していることを暗示しているようです。

11
paracycle

ドキュメントで引用されているように、それが正確である場合、ユーザーの実際の位置はQUOTED_LOCATION +/- ACCURACY内のどこかにあります。したがって、精度は、ユーザーが期待できる半径を定義します。ドキュメントが言っていないのは、ユーザーが半径内にいることをどれだけ確実にできるかということです-標準は95%なので、私はこれを推測します。

4
Joseph Earl

あなたは確率の面で明確な答えを求めていると思いますが、ここで考慮すべき2つのことがあると思います。最初に、この値に何を入れたいかを決めるのはプロバイダー次第です。したがって、プロバイダーによっては、それは単なる悪い推測かもしれません。第二に、これを潜在的な丸めの問題と考えると役立つ場合があります。入力数に基づいて位置を計算しようとしており、それらの入力の一部が特定の有効桁数でのみ使用可能な場合、有効桁数が指定された位置のみを計算できます。このように考えてください-「約」1つと「約」100とは何ですか。おそらく、100の精度は1の大きさよりも小さい可能性が高いため、おそらく約100です。突然、答えが約101であると言えば、そこになかったレベルの精度を暗示することになります。ただし、実際に精度を指定すると、100プラスまたはマイナス10プラス1プラスまたはマイナス.1は101プラスまたはマイナス10であると言えます。これは一般に95%の信頼レベル(標準エラー)、しかし、プロバイダーが統計を理解しており、単に推測しているのではないことを前提としています。

1
dscheffy