TrailCam

指南

GPS 座標要精確到小數點後幾位才夠用?

GPX 軌跡點裡的經緯度,通常帶著小數點後 6 位、7 位,有時甚至 8 位數字——對一支揣在口袋裡的手機測出來的座標來說,這個精細程度看起來有點說不通。位數多不代表精度高,雖然看上去像是那麼回事。以下說清楚每多一位小數在實際距離上到底代表什麼,以及為什麼檔案會一直把位數留到遠遠超過手機 GPS 能力所及的地方。

先講結論

小數點後 5 位大約對應 1 公尺的解析度,6 位大約對應 10 公分——過了這個程度,座標記錄的精細度已經沒有一台消費級 GPS 接收器能真正給得出來。但 GPX 檔案通常還是會存到 6 位甚至更多,不是因為這些位數本身有意義,而是因為刪掉它們不會帶來任何好處,反而可能在之後悄悄付出代價。位數說明的是數字怎麼寫出來的,不是手機當下究竟把自己的位置抓得多準。

每多一位小數,實際上換來什麼

經緯度是用度來量的,1 度對應一段固定又龐大的距離——緯度 1 度大約是 111 公里。小數點後每多一位,這段距離就縮小成十分之一,這也是為什麼多一位小數感覺差別這麼大:

  • 小數第 1 位 ≈ 11.1 公里 —— 分得清這個城鎮和鄰鎮
  • 小數第 2 位 ≈ 1.11 公里 —— 分得清這個地區和鄰近地區
  • 小數第 3 位 ≈ 111 公尺 —— 分得清這個街區和鄰近街區
  • 小數第 4 位 ≈ 11.1 公尺 —— 分得清這棟樓和隔壁棟
  • 小數第 5 位 ≈ 1.1 公尺 —— 大約一步的距離
  • 小數第 6 位 ≈ 11 公分 —— 比任何一台消費級 GPS 接收器實際能定位的精度還要細

經度也是同樣的道理,只是每一度對應的實際距離會隨著離赤道越遠而縮小,因為經線是向兩極收攏的。上面這張表對緯度在任何地方都大致成立,對經度則在靠近赤道的地方比較準;緯度越高,它就更像是一個參考值,而不是精確換算。

為什麼 GPX 檔案還是把這些位數全部留著

如果手機的 GPS 接收器只能精確到幾公尺,座標卻存到 11 公分這個量級,看起來像是白白多存的——從某個角度看確實如此。但這些多出來的位數並沒有付出什麼實質代價:它們只是一份純文字檔裡的幾個字元,把它們裁到看起來「合理」的位數,並不會讓底層的讀數變得更準或更不準,只是丟掉了本來就在那裡的資訊。

真正有代價的是四捨五入得太狠,而這個代價出現在計算的環節,不是儲存的環節。距離是把成千上萬個連續點之間的差距加起來算出來的,累計爬升也是一個點一個點這樣加上去的。要是在做這些運算之前,就把每個座標都四捨五入到小數點後 4 位,每一個點都會多出一點小小的、方向一致的誤差——這種誤差不會互相抵消,而是隨著整趟健行的長度一路累積下去。讓座標一直保持完整精度,只在最後的結果上四捨五入(如果真有必要的話),就能避開這個問題。

小數位數不等於精度

這些都不代表手機真的把自己的位置定到了 11 公分這麼細。小數點後的位數說明的是座標怎麼被寫出來的,不是產生這個座標的那次定位到底有多好。一台實際誤差有好幾公尺的接收器,照樣會把經緯度輸出到小數點後 6 位、7 位——多出來的精細程度只是數字的表示方式,並不是在替背後的定位品質打包票。真正決定這個數字離實際站立的位置有多近的,是接收器的硬體、當下的衛星幾何分布,以及手機和開闊天空之間擋了什麼——這跟座標怎麼格式化,完全是兩碼事。

真正派得上用場的地方

小數位數真正會造成影響的場景,是手動編輯或比對原始檔案。把 GPX 用試算表打開,很容易就想把經緯度那兩欄四捨五入得「整齊」一點——從小數點後 7 位改成 4 位或 5 位。這麼做完再重新匯出,每個點都會有一點點偏移,通常比一條步道的寬度還要小,但足以讓它和原始軌跡疊在一起時,看起來不是完全同一條線。

同樣的道理也能解釋,為什麼兩個 App 匯出的、本該是同一趟健行的軌跡,座標卻無法逐點嚴絲合縫地對上。要是一個 App 匯出時四捨五入得比另一個更狠,就算走的是同一條路,座標也對不齊——這是格式上的差異,不代表哪一條軌跡記錄得更準。

容易搞混的地方

  • 以為小數位數越多,GPS 定位就越準——位數說的是數字怎麼寫,不是定位品質的量測。
  • 在試算表裡把座標四捨五入,只是為了讓檔案看起來「乾淨」——這會讓軌跡發生輕微偏移,一旦原本的位數被刪掉就找不回來了。
  • 指望兩個 App 匯出同一趟健行時,座標能逐點完全對上——光是四捨五入方式不同,就足以解釋這種細微差異,不代表哪條軌跡有問題。
  • 把小數點後 6 位當成公分級精度的證明——那只是數字能表示到的上限,不是接收器實際表現的下限。

TrailCam 在這裡做的事

TrailCam 按 iPhone 的 GPS 接收器給出的精度記錄每一個點,匯出成 GPX 1.1 或 CSV 時都不會四捨五入,所以從 App 裡匯出的這條軌跡,就是健行當下記錄下來的那組數字本身,不是事後被整理過的版本。匯出屬於可選的 TrailCam Pro,App 本身免費下載。

常見問題

GPS 座標實際上要精確到小數點後幾位才夠?
只要是手機或手持 GPS 接收器測出來的座標,小數點後 5 位——大約對應 1 公尺——就已經超過硬體能穩定給出的精度。6 位以上不會造成什麼問題,但過了這個點,多出來的位數已經不再反映接收器實際測到的任何東西。
把 GPX 座標四捨五入,會讓檔案精度變差嗎?
可能會,但通常幅度很小。四捨五入會讓每個點都發生一點點偏移,單看一個點幾乎看不出來,但一趟完整健行有成千上萬個點,這些偏移會一路累積,尤其會影響後面根據這些點算出來的距離和海拔數字。
同一趟健行,為什麼不同 GPX 檔案裡的座標會有細微差別?
因為不同 App 匯出時四捨五入的方式不一樣。小數點後的細微差別不代表哪一條記錄比較準,通常只是兩個 App 對數字的格式化方式不同而已。

記錄你自己的軌跡

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

在 App Store 下載