2010-01-18 30 views
2

我想使用最好的座標。但有一點是混淆了我評估用戶位置GPS傳感器數據準確性的最佳方法是什麼?

在這裏,我要檢查是否有新的定位精度更好,然後用新的位置以其它方式使用舊的位置

if (newLocation.horizontalAccuracy>oldLocation.horizontalAccuracy) 
{ 
    self.bestEffortAtLocation=newLocation; // this mean new location is better accurate 
} 
else 
{ 
    self.bestEffortAtLocation=oldLocation; // this mean old location is better accurate 
} 

我想知道,上面的檢查正確與否?

我知道這是一個愚蠢的問題。但現在在這個時候我處於表面水平。

請建議

+0

這不是「一個愚蠢的問題」。唯一愚蠢的問題是那些沒有被問到的問題。 – 2010-01-23 15:09:16

回答

8

這不是一個好主意。爲了弄清楚爲什麼,我們假設我們把時間t A(t)稱爲精度,它將以米爲單位給出。我們將設想以下情況:

  • A(0)= M米
  • A(T)= N> M米
  • V(0)= K米/秒,其中k /噸>在區間[0,T]

即米

  • 零加速度:

    • 在時間零點,你的準確度是一些VALU e m米。
    • 在稍後的時間t,您的準確性是一個更差的值n米。
    • 您在零時間的速度會在時間t之後讓您在m的半徑範圍之外運行。
    • 你有恆定的加速度,所以你的速度不會改變。

    使用你的算法,你會拒絕使用新科GPS的位置,當你在時間t因爲nm糟糕的是,即使用戶不可能在任何地方附近的老位置。他們的速度已經超過了m的半徑。這顯然是不正確的。

    取而代之的是,這裏有一個基本的算法來決定新的位置是否比舊的更好或更差:每個t

    • 每隔一段時間,存儲包含位置升的3元組(L, v, A) ,速度v和用戶的準確度A.

    • 在某個時間u你想知道用戶位置的最佳猜測是什麼。

    • 在時間檢查位置u - t。如果A > A (請記住,如果以米爲單位測量,更高的準確度值會更差),然後使用新位置,因爲它更準確。

    • 如果A <一個,事情有一點不同。如果A/t超過2v,則用戶可能仍在精度範圍內,因此請使用舊的L。但是,如果沒有,那麼用戶已經走出了精確度圈的界限,所以使用新的L

  • +0

    當我閱讀這個問題時,這與我完全一樣。 – Peter 2010-01-18 14:43:06

    +0

    「如果A/t超過2v/t」 - 單獨的維度分析表明這一定是錯誤的。第一個是速度,第二個是加速。 – MSalters 2010-01-18 15:29:06

    +0

    哎呀,錯字。固定! – 2010-01-18 16:25:28

    0

              horizontalAccuracy是位置不確定性的半徑,也就是越多,其價值就越精確的位置。所以你應該恢復你使用的比較。
             我還建議引入一些門檻,低於哪個新的位置是好的。

    0

    CLLocation.horizontalAccuracy被定義爲

    horizo​​ntalAccuracy

    爲 位置不確定的半徑,以米爲單位測得。 (只讀)

    @property(只讀, NS_NONATOMIC_IPHONEONLY) CLLocationAccuracy horizo​​ntalAccuracy

    討論

    座標的緯度和經度 識別 圓的中心和該值表示在 半徑那個圈子。負數 值表示座標的 經緯度無效。

    因此,根據該定義,「更好」的準確性是兩個非負值中較低的值。

    0

    只因爲準確度下降,這是否真的意味着你想忽略閱讀?例如,假設我駕駛我的汽車,並通過繁忙的城市中心穿過幾座高大的建築物,如果您仍在比較已知的HDOP,那麼您將在城市外留下標記,直到我到達信號與原始信號相同或更強的另一端。事實上,一旦你找到了最好的位置(在一個漂亮的開放式場地裏不動,讓我們說),那麼HDOP會增加,你永遠不會從你的舊位置更新......

    0

    不。最簡單的方法是將舊精度A(0)增加可能的行程距離v*t。然後檢查是否A(0) + v*t) < A(t) - 如果是,請使用舊位置而不是新位置。

    +0

    那麼準確度A(t)會如何穩定地惡化,使得A(0)+ v * t總是更小?如果新位置遠遠超出其原始位置,則使用舊位置似乎不正確。 – 2010-01-23 15:08:44

    +0

    做數學運算:如果新位置距原始點100米,但準確度從<10米降至<200米,則堅持原始測量。實際上,只有在GPS傳感器完全失去信號之前,精度纔會惡化。 – MSalters 2010-01-25 11:40:16

    相關問題