TrailCam

指南

GPX 裡的「路點」和「軌跡點」到底差在哪

打開一個 GPX 檔案,這兩種點看起來幾乎一樣——緯度、經度,可能還有海拔。但對讀檔案的 App 來說,它們的意義完全不同。軌跡點是一長串記錄裡的一個樣本,是移動過程中自動記下來的。路點是一個獨立存在的地點,是有人特意標出來的。把這兩者搞混,是匯入 GPX 之後看到一堆散落的圖釘、而不是一條線,最常見的原因。

先給結論

軌跡點(檔案裡寫作 <trkpt>,放在 <trk> 裡的 <trkseg> 之中)是 GPS 接收器移動時按順序記下來的一長串點裡的一個,目的就是被連成一條線。路點(<wpt>)是一個單獨存在的點——一個登山口、一處觀景台、一個停車位置——沒有順序,也沒有前後鄰居。App 能把軌跡點連成線,是因為它可以放心假設第二個點緊跟在第一個點之後。這個假設對路點不成立,因為檔案裡沒有任何資訊說明某個路點跟其他點有什麼關係。

軌跡點到底是什麼

軌跡點之所以存在,是因為接收器在持續記錄。走一個小時,GPS App 會每隔一段時間寫下一個位置,每個都落進一個 <trkseg>,而 <trkseg> 又放在 <trk> 裡——這就是「一段連續移動」的結構。順序在這裡很重要,和路點不一樣:第 400 個點被理解為發生在第 399 個點之後,檢視器就是照這個順序把清單走一遍來畫線的。大多數軌跡點還帶著時間戳記,正是靠它,App 才能算出兩點之間走得多快,或者整段路花了多久。

單獨拿出來的一個點,以上這些都不成立。一個沒有順序、沒有鄰居的孤立座標,就算它放在 <trk> 元素裡面,實際上也沒有軌跡點應有的意義——真正承載資訊的是這一整串點,不是其中任何一個。

路點到底是什麼

路點標記的是一個有人覺得值得標出來的地方——登山口、水源、一處想記住的地點,或者規劃類 App 落下的一根圖釘。它單獨存在於檔案裡,不屬於任何軌跡或路線結構,甚至不需要帶時間戳記,因為一個想記住的地點,不需要說明它是什麼時候被標記的。一個 GPX 檔案可以在有軌跡的同時,再裝下任意數量的路點,兩者共存,互相不需要參照對方。

也正因為這樣,路點和軌跡往往出現在不同性質的檔案裡。出發前規劃好的路徑——一串打算按順序經過的轉彎點或站點——幾乎全部由路點組成,因為那時候什麼都還沒被記錄下來。已經走完的一次徒步正好相反,絕大多數是軌跡點,頂多混著幾個標記特定地點的路點。

為什麼會變成「只有圖釘,沒有線」

這就是這個區別真正派上用場的地方。把一個期望拿到軌跡的 App,餵給它一個只由路點組成的檔案,它能做的唯一合理的事就是:給每個點插一根圖釘,不畫任何線,因為路點裡沒有資訊說明下一個該連哪個。這不是匯入失敗——檔案裡有什麼,它就原樣匯入了什麼。看起來「軌跡壞了」,往往是因為那份檔案從一開始就不是軌跡,常常是從一個專門用來標地點、而不是記錄連續路線的工具裡匯出來的。

TrailCam 在這裡的角色

TrailCam 把一次徒步記錄成一條連續的軌跡——走的時候按順序記下來的 GPS 點,而不是零散標出來的幾個地點——然後可以把單條記錄或整段歷史匯出成 GPX 1.1 或 CSV。這正是 Strava、Garmin Connect、Komoot 這些平台期望拿到的結構,也是為什麼結果會是一條線,而不是幾個連不起來的圖釘。匯出屬於可選的 TrailCam Pro,App 本身免費下載。

常見問題

一個 GPX 檔案能同時裝下路點和軌跡點嗎?
可以。這兩種結構互相獨立,一個檔案可以同時裝著一條記錄好的軌跡,和一組單獨標出來的路點,很多規劃類工具就是這麼做的。
路點會像軌跡點一樣帶時間戳記嗎?
不一定。軌跡點在序列裡的位置,通常要配合它被記錄的時刻才有意義;而路點標記的是一個地方,不是一個瞬間,所以時間戳記是可選的,很多時候乾脆沒有。
為什麼匯入 GPX 之後只看到圖釘,沒有線?
這份檔案很可能裝的是路點,而不是軌跡。App 靠把軌跡點按記錄順序連起來畫線;一組路點沒有固定的連接順序,所以只能顯示成一個個獨立的圖釘。

記錄你自己的軌跡

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

在 App Store 下載