TrailCam

指南

明明走的是直線,GPS 軌跡為什麼會畫成鋸齒狀

因為記錄下來的軌跡本來就不是一條線,而是一串各自帶著一點小小定位誤差的點,按順序連起來的結果。在一段直路上,這點誤差不會在視覺上互相抵消,而是一下偏左一點、一下偏右一點,把這些點依記錄順序連起來,正好就畫出那種細密的鋸齒。走路的人明明走得很直,事後負責把這些點連起來的計算,根本不知道這件事。

簡單說

每一個 GPS 點都帶著一點定位誤差,通常也就幾公尺,就算頭頂天空完全開闊也是一樣。軌跡在彎道上的時候,這點誤差很容易被真正的轉彎蓋過去,不太看得出來。軌跡在直路上的時候,因為沒有真的方向變化可以讓它藏進去,誤差就成了唯一看得見的東西。每個點相對於實際站的位置都會稍微偏左或偏右,而軌跡就是把這些點按記錄的先後順序連起來畫出來的——不是先描出一條平滑的線再往上貼點。把一串小小的、彼此差不多互相獨立的左右誤差連起來,畫出來的就是一條實際上從沒轉過彎的路上,一眼就能看出來的鋸齒。

GPS 點是一個位置,不是畫在線上的一個點

說得精確一點,接收器每次給出的其實是:根據同一時刻收到的幾顆衛星訊號的時間差,算出來的、對那一刻經緯度的最佳估計值。這是一團不確定性被壓縮成一個座標之後的結果,不是百分之百精確的位置。就算真的走得筆直,實際位置也確實是沿著直線在移動,但每一個估計值本身,仍然帶著相對於那個真實位置的、一點點、大致隨機的偏差。後面也沒有哪一步會把這點偏差拿掉,因為軌跡說到底就是把記錄下來的一個個估計值按順序連起來而已。

這也是為什麼看起來會是鋸齒,而不是一條稍微變粗、變模糊的線。如果是一條又寬又模糊的線,代表相鄰的點之間沒什麼規律,往各個方向隨機散開。而實際發生的情況更像是交替出現:這個點偏左一點,下一個點靠中間或稍微偏右,再下一個又偏左。把它們按順序用直線段連起來,畫出來的是鋸齒,不是一團模糊——誤差本身還是那幾公尺,只是點被連接的方式,決定了它看起來是什麼形狀。

為什麼走路比騎車時更明顯

誤差本身的大小基本上不太隨速度變化,它來自接收器和衛星之間的幾何關係,跟走多快沒什麼關係。會變的是相鄰兩個點之間隔了多遠。走得慢的時候,間隔幾秒記錄下來的兩個點之間,實際移動的距離可能只有幾公尺——這個量級跟定位誤差本身差不多,所以橫向的一點小偏差,在兩點間距裡佔的比例就很大,看起來就是一個明顯的折角。同樣幾秒鐘換成騎車,或是下坡快走,兩點之間的實際距離會長得多,同樣幾公尺的橫向誤差在一段長得多的距離裡只佔很小一部分,線基本上不會明顯彎折。誤差本身沒有因為走得慢而變大,只是它在很短的一步裡所佔的比例變大了而已。

哪些地方會特別明顯

四周開闊、各個方向天空都看得清楚,是接收器最省心的情況,鋸齒也最不明顯。反過來,訊號在到達之前有地方可以反射的場景就會更糟——岩壁、水面、茂密的樹冠,或是路邊緊挨著的建築物。反射過來的訊號會比直接照過來的訊號晚到那麼一點點,接收器沒辦法乾淨俐落地把兩者區分開。這種現象一般叫多重路徑效應,它把個別點往旁邊推得比開闊地帶的一般誤差更多,而且不是每個點都推得一樣,恰恰是這種點與點之間不一致的推法,連起來之後就成了看得見的鋸齒。這跟樹冠底下、高樓旁邊精準度會變差是同一個根本原因,各自有專門的指南講過——一條穿過成排樹木的直路,差不多是這種鋸齒現象最容易出現的場景。

這跟單獨一個點飛出去不一樣

單點飛出去,是某一個點真的離它該在的位置很遠——有時候能到幾十公尺甚至更多——通常是某一次定位算錯了,很容易一眼看出來,是一次孤立的跳出去又跳回來。鋸齒是完全不同的模式:好多個點,每個點的偏差都很一般、很小,單獨看哪一個都看不出問題,但連起來之後就顯出搖擺感,而不是一條直線。兩者的根源是一樣的,都是 GPS 常見的定位誤差,差別在於:單點飛出去是一條乾淨的線裡突然冒出的一個離群點,而鋸齒是同樣的誤差以最一般的樣子,在一段沒別的東西可以掩蓋它的路上,同時到處冒出來。

會不會真的影響那些關鍵數字

多數情況下影響很小。因為橫向的偏差大致上是左右交替出現,不會一直往同一個方向偏,所以鋸齒會給總距離多加上一點點——每個折角走過去,都比它底下那條真正的直線稍微長一些——但這點影響放到一整趟健行裡看,通常連百分之一都不到,不至於讓距離總數看起來明顯不對。對累計爬升基本上沒什麼影響,因為爬升是從高度讀數算出來的,跟點左右偏了多少沒關係。鋸齒這件事,多半是放大在螢幕上看會顯得很誇張,落到實際數字上其實沒那麼大動靜。

容易搞錯的地方

  • 看到地圖上軌跡在打鋸齒,就以為是手機丟了訊號或 App 出了問題——其實往往正相反:接收器一直在穩穩地記點,只是這段路本來就是直的,沒有真正的轉彎可以讓這點普通誤差藏進去。
  • 以為鋸齒會在走得最快的那段路上最明顯——實際上常常正相反,點與點間距短、走得慢的地方,同樣的誤差所佔的比例反而更大。
  • 看到軌跡明顯在晃,就擔心總距離也跟著大錯特錯——橫向的偏差在一整趟健行裡大致會互相抵消,加到總距離上的量其實不多。
  • 把鋸齒的原因歸到步道本身頭上——真正的原因往往是路邊的樹、峽谷的岩壁,或附近的建築物,而不是這條路自己有什麼問題。

TrailCam 在這件事上做了什麼

TrailCam 在整趟健行過程中一直在背景記錄 GPS 點,之後在地圖上回放的時候,也是把接收器實際記下來的東西如實畫出來——搖擺也照樣畫出來,不會藏著掖著。匯出的 GPX 檔案裡裝的是同一批原始點,所以地圖上如果某一段看起來在打鋸齒,匯出的檔案裡也會是一樣的樣子,換成其他能讀 GPX 的 App 或網站打開,看到的也是同一個結果。匯出功能屬於可選的 TrailCam Pro 升級,App 本身可以免費下載。

常見問題

軌跡打鋸齒是不是代表 GPS 訊號斷了?
不是,往往正相反。這代表接收器整段時間都在正常記點,只是這條路本來是直的,沒有真正轉彎可以讓這點普通的定位誤差藏進去,所以才看得出來。
打鋸齒是不是代表總距離也錯得很離譜?
一般不會錯很多。橫向的偏差大致上是左右交替出現的,一整趟健行下來大部分會互相抵消,加到總距離上的量通常不多。
同一段路,為什麼這次走會打鋸齒,下次走又很乾淨?
定位誤差跟當時的接收條件有關。這次天空比較開闊,下次可能樹冠更密、雲層更厚,或旁邊多了建築物,每次記錄時的條件不完全一樣,同一段路晃動的程度自然也會不一樣。

記錄你自己的軌跡

TrailCam 是一款 iPhone 上的 GPS 軌跡記錄 App,會把沿途拍下的影片、照片與語音釘在你拍它的那個位置,並支援匯出成 GPX 1.1 或 CSV。免費下載。

在 App Store 下載