2016-08-19 61 views
1

我正在跟蹤iOS應用程序。我實現了卡爾曼平滑,以呈現一個令人愉快的路徑。在這一點上,這工作得很好。靜止時過濾GPS抖動?

雖然我在處理用戶不移動的情況下有點麻煩。當用戶移動時,我們可以從CLLocation Manager中獲得非常好的讀回。即使讀數稍微偏離,卡爾曼算法也會處理它。

靜置時,CLLocation Manager代理仍在接收「準確」位置。他們有很好的準確性,而不是令人難以置信的速度。用人的眼睛看屏幕很清楚,用戶靜止不動,所有這些點都散佈在周圍。有些點非常接近,其中一些遠離。

我已經嘗試設置CLLocationManager屬性pausesLocationUpdatesAutomatically,但它似乎並沒有很好地工作。當它應該時並不總是停止,並且在天線斷電時再次重新開始追蹤有困難。

因此,我期待在整個時間保持跟蹤,但我想過濾後處理中的抖動。因此,我通過編程確定用戶停止並放棄(或忽略)所有位置,直到用戶再次移動。

我不太確定如何去做這件事,什麼算法適合於實現這樣的事情?

+0

如果你確實解決了這個問題,請讓Niantic知道它 – Fonix

+0

Hey dantastic,我現在有同樣的問題,我想解決。你能告訴我你爲改善靜止部分而做了什麼嗎? – Georg

回答

0

嘗試使用設備的傳感器(如加速度計或陀螺儀)來確定設備是否正在移動。每當您獲得GPS更新時,都要讀取傳感器並將其與最後一次讀數進行比較。
如果差異大於某個閾值 - 設備正在移動,請使用新位置更新dislpay。如果差值小於閾值,則設備靜止不動。
你必須做一些試驗和錯誤來決定移動的正確閾值。