2015-01-07 58 views
0

我有一個使用GPS進行跟蹤的Android應用程序。此應用程序運行在安裝在駕駛室中的安卓設備上,以便我可以跟蹤駕駛室。我在應用程序上啓用了日誌記錄。最近我在跟蹤駕駛室時觀察到一個奇怪的情況。有一次,GPS給了一個位置,在80秒後,它給出了距離第一位置幾公里的位置。令人驚訝的是,在這兩種情況下,精度爲< 20(米),這是我考慮用於追蹤的位置的檢查。請查找我從設備收集的日誌。GPS - 我在看什麼?

----some logs 
26 Dec,05:55:01.645 PM; GPS Fix state = true; NetworkLocation = Fri Dec 26 17:54:02 GMT+05:30 2014 17.805544,83.352301 Accuracy 3139.0; GPS Location = Fri Dec 26 17:54:58 GMT+05:30 2014 17.805017,83.35345 Accuracy 8.0; 
----some logs 
26 Dec,05:56:34.705 PM; GPS Fix state = true; NetworkLocation = Fri Dec 26 17:55:35 GMT+05:30 2014 17.81825,83.352313 Accuracy 3048.0; GPS Location = Fri Dec 26 17:56:09 GMT+05:30 2014 16.570113,82.055219 Accuracy 14.0; 
----some logs 

正如你可以看到網絡仍然是指向周圍,其中作爲GPS指向某個位置中遠離第一位置的初始位置的地方,仍然有精度14!

位置類機器人的Javadoc中說 -

* We define accuracy as the radius of 68% confidence. In other 
* words, if you draw a circle centered at this location's 
* latitude and longitude, and with a radius equal to the accuracy, 
* then there is a 68% probability that the true location is inside 
* the circle. 

意思,我在其他32%第二跡秋天得到了準確度和可能是錯誤的?我想知道是否有任何可靠的方法來決定是否考慮GPS位置,而不是檢查準確性。

在此先感謝

編輯:忘了提及的是,GPS鎖定回到了駕駛室的位置後40分鐘。你可以在這裏看到。

26 Dec,06:35:21.851 PM; GPS Fix state = true; NetworkLocation = Fri Dec 26 18:35:20 GMT+05:30 2014 17.800334,83.352941 Accuracy 2887.0 GPS Location = Fri Dec 26 18:35:22 GMT+05:30 2014 17.799875,83.351936 Accuracy 14.0; 

更新:今天我通過此應用程序正在運行的所有幾種設備的日誌去了,我在多臺設備良好的精度值觀察到了這種錯誤的GPS位置。所有設備都是相同的,並使用同一網絡提供商的SIM卡。

+1

這個出租車司機爲了掩蓋從Morrisons購買他/她的私人物品而入侵了它。 –

+0

這是一個hackney馬車:) –

回答

0

你的情況很奇怪,這通常不會發生在GPS上。 它可能跳30米,有時50米。 您可能遇到極其罕見的情況,可能會在成千上萬的設備上尋找, 或者您正在使用的GPS芯片中存在一個錯誤。

或者很可能您正在使用像Cell-Tower位置這樣的替代位置來源,它的精度不會超過1公里。確保您只使用GPS提供商。

「NetworkLocation」的日誌輸出讓我懷疑你只使用GPS。 如果您100%確定該位置是由GPS提供的(它必須具有有效的速度和有效的課程,然後它來自GPS,或者您可以讀出哪個提供商提供了該位置(GPS提供商或網絡供應商),然後再閱讀:

有一次,我看到一個300公里跳,這要麼是由一個缺陷GPS衛星或GPS芯片實現中的錯誤引起的

你可以做的是過濾掉的運動可能。只能用不切實際的高車速來實現

在你的情況下,假設它是「幾公里」,假設它是3. 這就是80年代的3000米= 37米/秒=高速公路上的車輛實際速度爲135公里/小時。 爲了正確過濾,您需要每秒檢查一次位置,並尋找不切實際的跳躍。

除此之外,沒有辦法在GPS中有保證。所有的準確性都是估計。 如果估計水平精度爲14米,則永遠無法確定它是否距實際地點爲50米或2米。

+0

謝謝你的迴應。這兩個地點之間的谷歌地圖距離爲244KM,這是不現實的。正如你在答覆中提到的那樣,如果計算出的速度(正如你所提到的 - 使用之前和當前位置之間的距離)超過200KM /小時,我已經檢查了我的代碼以忽略一個位置,但是由於設備可能沒有有時可以修復更長的時間,如果以前的位置超過70秒,我正在考慮新的位置, - 在這種情況下,確切的原因是這個問題。 – nagamanojv

+0

這兩個位置由GPS提供商確定提供(每次我收集位置並記錄兩者提供的位置時,您可以在日誌中看到)。 – nagamanojv

+0

智能手機(當然ios)最初也可以提供前一天的舊位置。因此,請始終檢查位置的時間戳,以避免偏離系統時間多於幾秒。 – AlexWien