明明站著沒動,距離怎麼還在增加?
在觀景台歇腳、坐下吃午餐、在岔路口等隊友——人明明停下來了,事後一看距離總數卻悄悄多了一點。這不是手機壞了,也不是 App 出了問題,而是 GPS 被要求做一件它本來就不太擅長的事:把同一個點,一模一樣地再回報一次。
先講結論
GPS 每一次定位都不是絕對精確的。就算站在原地不動,手機每次算出來的位置也會和上一次差個一兩公尺,因為這個計算每次都是從頭來過,而不是記住上一次的結果。軌跡是把相鄰兩點之間的直線距離一段段加起來算出來的,它沒辦法分辨「沒動、只是定位飄了」和「確實走了一公尺」。幾分鐘裡往不同方向飄個幾十次,這些本來毫無意義的小跳動加起來,就變成一段實實在在能算進總數的距離,就算你一步都沒挪。
這是 GPS 本身的正常波動,不是記錄出了問題。而且相對整趟健行的總距離來說,一次幾分鐘的停留通常影響不大。
人沒動,為什麼定位還在動
GPS 定位是靠同時接收好幾顆衛星訊號、比較它們到達的時間差算出來的。這個計算結果取決於當下能看到哪些衛星、每顆訊號強不強,還有訊號是不是直接照過來的,還是先撞到什麼東西反射了一下才到(這種反射叫多路徑效應,靠近岩壁、樹林或建築物時特別常見)。你不動,這些條件卻一直在變:衛星在天上移動,剛才還很乾淨的訊號可能忽然被旁邊一塊石頭反射了一下,接收機每次都要重新算一遍。結果就是,對著「我現在在哪」這同一個問題,每次給出的答案都稍微不一樣。
視野開闊的地方,這種飄動的幅度比較小;山凹或樹蔭底下天空被擋得厲害,同樣歇十分鐘,多出來的距離會更明顯一點。
這樣到底能多算出多少距離
沒有一個固定的數字,要看當時訊號有多不穩、又站了多久。大致給個感覺:定位如果每次飄個幾公尺,每一兩秒記一個點,站上幾分鐘,等你重新動起來的時候,可能已經多算出幾十公尺的「幽靈距離」。盯著即時數字看會注意到,但對一趟幾公里的總距離來說,通常改變不了什麼。
道理和地圖上一個孤立的尖刺差不多——不太會影響最終的總數。一趟長途健行是由成千上萬個點組成的,一小段飄動的點只占其中很小一部分。真正值得留意的情況,是路線本身比較短,或是途中歇了好幾次長時間的腳,這時候飄出來的那部分在總數裡占的比例才會明顯起來。
為什麼有的 App 處理得比別的好
在意這個問題的記錄 App,通常用兩種辦法來處理。一種是盯著 GPS 算出來的速度,低於某個門檻就當作靜止,暫時不往距離裡加;另一種是靠你自己在停下來的時候手動暫停記錄,這樣一來乾脆什麼都不記,飄動自然也就沒機會往距離裡摻東西。
靠速度門檻判斷不是完美的辦法:門檻定低了,真正站定時的飄動還是會漏過去;定高了,在亂石地上走得很慢的真實移動又會被誤判成沒動。這也是為什麼讓自己主動告訴 App「我停下來了」,比讓它單靠 GPS 訊號去猜,通常能得到更乾淨的數字。
這個數字該怎麼看
停留期間距離慢慢往上爬這件事,不用較真去追究——這是用無線電訊號測位置、而不是用測距輪量出來的代價,本來就會有。一趟正常長度的健行,把最終的距離總數當成「大致準」而不是「精確到公尺」來看,反而更貼近你走這一趟的實際感受。
但如果是站著不動的時候,某一次更新突然跳出去幾百公尺,而不是慢慢往上飄,那就是另一回事了——這跟地圖上那種由單一個壞定位點造成的明顯尖刺是同一類問題,值得看一眼,而不是一笑置之。
TrailCam 可以把路線暫停、之後再繼續記錄,暫停的這段時間不算進行動時間,也就從源頭上避免了長時間的停留悄悄替軌跡加距離。
常見問題
- 只是站著歇一下,距離真的會多算嗎?
- 會多算一點。GPS 定位就算在靜止時也會有一兩公尺的飄動,軌跡又是把這些點之間的距離加起來算的,沒辦法判斷你到底動沒動。只要停留時間不長,對整趟健行距離的影響通常不大。
- 是不是每次停下來都該按暫停?
- 要確保長時間停留不會替距離灌水,暫停是最可靠的辦法。如果只是短暫歇一下,飄動本身的量就很小,其實不用每次都特地去按。
- 這跟地圖上那種單一個尖刺有什麼不一樣?
- 尖刺是某一個點偏離真實位置很遠,在地圖上連出一個很明顯的三角形。靜止時的飄動則是一堆看起來毫無問題的點,各自在真實位置附近的幾公尺範圍內晃來晃去,距離是悄悄地一點點加上去的,不是一下子跳出來的。
記錄你自己的軌跡
TrailCam 是一款 iPhone 上的 GPS 軌跡記錄 App,會把沿途拍下的影片、照片與語音釘在你拍它的那個位置,並支援匯出成 GPX 1.1 或 CSV。免費下載。