2015-02-08 49 views
1

我正在寫一個簡單的Android應用程序來捕獲用戶的位置。Android FusedLocationAPI GPS準確性似乎不正確

我正在使用FusedLocationAPI提供位置。

mLocationRequest = LocationRequest.create() 
      .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY) 
      .setInterval(5000) 
      .setFastestInterval(5000); 

當用戶按下按鈕時,應用程序將首先檢查最後一個已知位置。如果此時間少於一分鐘,並且其準確度爲< 50m,則使用該位置。如果沒有,該應用程序請求位置更新,直到接收到位置爲準確的< 50m。該應用程序然後停止請求更新,以幫助保存電池。

這很有效99%的時間。然而,在測試中,出現了兩次讀取同一位置的情況,但報告的座標之間有110米的距離。我試圖理解爲什麼。

閱讀#1:時間爲10:46,精度爲36米。

閱讀#2:採取13:27精度爲26米。

用戶在相同的位置(大約2米以內)。我會假設,他們的位置在精確度的邊緣,這些點之間最多隻能有52米的距離。我不知道爲什麼它是110米

我錯過了什麼明顯?

回答

1

這不是什麼準確度數字。引用自google文檔:

我們將精度定義爲68%置信度的半徑。換句話說,如果您繪製了一個以該位置的經度和緯度 爲中心並且半徑等於精度的圓,則的真實位置在圓圈內部有一個68%。

以統計學術語來說,假設位置誤差是隨機的 具有正態分佈,所以68%置信圓代表 一個標準偏差。請注意,在實踐中,位置錯誤不總是遵循如此簡單的分佈。

http://developer.android.com/reference/android/location/Location.html#getAccuracy

+0

我沒有看到,在所有的,所以感謝在這裏粘貼。這不是真正的準確性,更正確的可能性更大。我已經更新了我的應用程序,以便在獲取修復程序時使用更長的時間窗口,並且它也具有較低的區分閾值,這似乎解決了我的問題。謝謝 – tomasmcguinness 2015-03-09 15:05:40