Tuesday, January 15, 2019

台灣航跡修正服務發佈!!

登山入門想先走走七星山,網路上的航跡竟然說要爬升下降1,6xx公尺?

走完玉山主峰,手機APP的紀錄最後統計爬升下降9,xxx公尺?難道我們都是百年難得的聖母峰奇才!?

古有照妖鏡,今有快樂表。斯斯有兩種,GPS航跡的誤差有很多種:

  1. 地形或森林造成的GPS高度誤判:溪谷裡只收得到天頂的衛星,缺少水平方向的衛星協助定高,造成明顯的高度誤判;此外可能因為地形或林相反射GPS訊號,造成誤差加大。兩者相加之後,最終導至誇大無比的落差統計值。
  2. 停止不動時的水平及垂直漂移:當停下來休息時,GPS仍持續接收衛星訊號;此時若沒有設定適當的距離門檻,航跡會呈現像毛線球一樣的情況,不只灌水了距離,也灌水了落差。
  3. 所有資料截取裝置都會發生的誤差:即使找一條筆直幾公里而且完全沒有起伏的馬路來紀錄GPS,最後還是會得到左左右右而且上上下下的航跡;然而這些「正常」的誤差,最後都會造成「不正常」的統計結果。
  4. 所有資料截取裝置都會出現的離群值:離群值可能來自GPS裝置本身的設計問題、軟韌體問題或刻意的人為干擾。然而離群值可能是大幅上升或下降,或者高速水平移動,甚至兩者兼具。不論何者,都會造成統計結果大幅失誤。
  5. 裝置本身的問題:某些GPS裝置或手機本身的硬體或軟韌體存在很大的問題,有些能透過更新修正,有些則無法或者原廠早已終止支援。
  6. 過猶不及的航跡設定:許多GPS裝置或手機程式都支援紀錄參數的調整,可能是出於求好心切,因此會將紀錄頻率調高,或將距離門檻調低。然而過度頻繁地記錄,除了消耗更多電力之外,也放大了前述的所有問題。
  7. 統計軟體或演算法的問題:有些GPS裝置會在尚未取得高度時即紀錄航跡點,而某些統計軟體或演算法會把這樣的航跡點視作高度為零;這樣的狀況導致瞬間由高度一兩千下降至零再回到一兩千的情況,統計值自然也呈現無比誇張的結果。

大約兩年前出於好奇心寫了小程式做了些實驗,後來心裡雖然有個想法,但一直沒付諸實現。這幾個星期犧牲了一些睡眠還有周末,先是將內政部20公尺網格數值地形模型資料雲端化,之後再建立了一個針對台灣地區的航跡修正線上服務

為了防止服務被不當使用,需要先登入 Google 帳號才能使用 (但不須註冊)。另外操作界面有點陽春,演算法也還有改進空間;有些超級誇張的航跡,雖然能大幅修正,不過離理想值還是有些許誤差。即使如此,還是期望能透過活用政府釋出的開放資料,並希望能為大家在航跡的分享及分析上帶來一些幫助了。

No comments:

Post a Comment