GPX 檔案裡會包含移動時間嗎?
在 GPX 檔案裡搜尋「移動時間」,什麼都找不到,就像搜尋「配速」也找不到一樣。軌跡點記的只是位置、海拔和時間戳,一路走下來反覆寫入,這套結構裡沒有任何地方把「在動」的時間和「沒在動」的時間分開記錄。健行結束後看到的移動時間,是打開檔案的那個 App 拿著這些光禿禿的時間戳,事後自己算出來的。
先說結論
沒有。GPX 軌跡點能裝的就是緯度、經度、海拔、時間這四樣,僅此而已。格式裡沒有任何一項用來記錄一段路走了多久、又停了多久或原地待了多久。健行報告裡的移動時間,是拿點與點之間的時間差事後算出來的一個數字,不是從檔案裡直接讀出來的值。
一個軌跡點到底裝了什麼
GPX 檔案是一層套一層的結構:一條軌跡裡有一個或多個分段,一個分段裡是按時間順序排好的點,每個點又都是同樣幾個欄位——緯度、經度、海拔、時間。除此之外什麼都沒有。沒有哪個標記能說明這個點是「在動」還是「沒動」,也沒有哪裡累計著花在其中一種狀態上的時間。GPX 檔案的任務是記下你什麼時候在哪裡,至於配速、移動時間、爬升量這些數字,全都留給打開它的軟體自己去算。
分段的斷點只是線索,算不上答案
一條 GPX 軌跡可以被拆成好幾段,有些 App 會在你暫停時把目前的分段收尾,恢復記錄時再開一段新的,所以一次刻意的休息確實有可能在檔案裡留下痕跡。但這條線索本身有兩個缺口。第一,不是每個記錄軟體遇到暫停都會另起一段,很多乾脆就用一條不間斷的分段,把時間上的空白直接交給時間戳去體現。第二,更常見的情況——蹲下拍張照、在觀景點喘口氣、等一等同伴,但從頭到尾沒點暫停——分段斷點對此完全沒有交代。這些片刻依舊是普普通通的軌跡點,位置挨得很近,時間卻照樣往前走,光看數據根本分不清這是走得特別慢,還是根本沒在走。
同一個檔案,兩個 App 打開為什麼會算出不同答案
移動時間不是檔案裡寫死的事實,而是一種判斷,所以哪個 App 打開 GPX 檔案,就由那個 App 自己劃一條「算動」和「不算動」的線——常見的做法是設一個速度門檻,低於這個速度的路段就不計入移動時間,但門檻具體定多少、判斷得多嚴格,完全是每個 App 自己的事。把點、海拔、時間戳完全一樣的同一個檔案丟給兩個不同的 App,算出兩個不一樣的移動時間是完全可能發生的事。兩個數字都沒有錯,只是各自的 App 對一個檔案本身沒有給出答案的問題,給出了自己的回答。
TrailCam 在這裡做了什麼
TrailCam 是在健行進行的當下算移動時間,而不是事後從檔案裡反推——你點了暫停,它就知道這一段停下來了,結束時顯示的移動時間裡已經把這一段扣掉了。這個數字是當場定下來的,不是事後看著原始點猜出來的,所以在匯出整段歷史的 CSV 裡,它可以老老實實地作為單獨一欄存在。同一條路線匯出成 GPX,會帶上所有記錄下來的點,畫地圖、看海拔曲線都夠用,但和所有 GPX 檔案一樣,裡面本來就沒有留位置給移動時間這個總數。GPX 1.1 與 CSV 匯出都是可選的 TrailCam Pro 功能,App 本身免費下載。
常見問題
- 把健行匯出成 GPX,App 裡看到的移動時間會不見嗎?
- 嚴格來說談不上「不見」,因為這個數字本來就不是格式能存下來的東西。GPX 檔案會保留所有記錄下來的點,畫地圖、看海拔曲線都夠用,但移動時間是另一回事,得靠匯出後打開檔案的那個 App 重新算一遍。
- 既然暫停會新建一個分段,是不是看分段就能準確知道移動時間?
- 只能說明一部分。分段斷點確實能標出一次刻意的暫停,但很多記錄軟體遇到暫停並不會另起一段,而沒點暫停就站著不動的情況——比如停下拍張照——分段斷點完全不會有任何交代。一趟健行裡大部分的靜止時間,其實根本不會在檔案裡留下標記。
- CSV 匯出對移動時間的處理跟 GPX 不一樣嗎?
- 是的。CSV 摘要是一行對應一趟健行的扁平表格,可以把算好的移動時間直接放成單獨一欄。GPX 檔案裡只有原始的軌跡點,沒有對應的位置去存放一個算好的總數。
記錄你自己的軌跡
TrailCam 是一款 iPhone 上的 GPS 軌跡記錄 App,會把沿途拍下的影片、照片與語音釘在你拍它的那個位置,並支援匯出成 GPX 1.1 或 CSV。免費下載。