TrailCam

指南

為什麼記錄得越久,GPX 檔案就越大?

因為 GPX 檔案不是健行結束時算出來的一個數字,而是沿途一路記下來的一長串點,檔案大小說到底就是把這串點寫成文字的結果。記錄得越久,這串點就越長。這裡沒有被漏掉的壓縮技巧,也不是哪裡設定錯了——老老實實記錄得更久,檔案自然就該更大。

簡單說

GPX 軌跡是一串點,整段行程裡這些點大致按同樣的間隔被記錄下來。走的時間翻一倍,其他條件不變的話,點數大致也會翻一倍,而每個點給檔案增加的位元組數幾乎是固定的。檔案大小跟著記錄了多久,而不是跟著走了多遠,也跟路線好不好看沒關係。

一個點到底佔多少位元組

GPX 是純文字的 XML,不是緊湊的二進位格式,所以每個點都是以看得懂的標籤與數字寫出來的,而不是壓縮打包的位元。一個軌跡點通常帶著經度、緯度、海拔與時間戳,各自包在自己的標籤裡,外面再套一層結構。加起來大概每個點上百位元組——單看不多,但軌跡裡的每一個點都會重複這份開銷。

點數只有幾百的短程散步,檔案通常只有幾十 KB。點數上到幾千的長天數健行,也就按比例大上去。這兩個數字放在現在的手機面前都不算大,這也是 GPX 檔案大小在實際使用中很少成為問題的原因。但只要知道被計入的是什麼,記錄時長與檔案大小之間的關係其實很直觀。

為什麼記錄時長比距離更相關

很容易想當然以為路線更長,檔案就更大,但更直接的推手其實是時間,不是走了多遠。記錄類 App 是按著時鐘的節奏、以差不多固定的間隔記點,不管你是在下坡段走得快,還是在陡坡上走得慢。兩次時長相同的健行,就算其中一次的距離是另一次的兩倍,點數與檔案大小也會差不多,因為一路被計入的是流逝的時間,不是走過的公尺數。

這也是為什麼,如果 App 在停下休息時會暫停記錄,一次中間有長午休的健行,檔案反而可能比一次沒有休息的短程健行更小。暫停期間不會記下新的點,這跟暫停不會算進爬升、也不會算進行進時間是同一個機制——檔案只在軌跡實際在記錄的時候變大,不是牆上時鐘一直在走就會變大。

基本不影響檔案大小的因素

  • 地形有多陡——海拔只是既有點上多加的一個數字,不會讓點數變多。
  • 路線繞了多少彎——GPX 軌跡不會區分一段直路與一段彎路,兩種情況下都是按同樣的間隔繼續記點。
  • 選的活動類型——那只是貼在記錄上的標籤,不會改變記點的頻率。
  • 是環線還是原路折返——檔案大小跟著記錄時長走,不跟著地圖上畫出來的形狀走。

現在的健行裡,真正佔空間的是什麼

單看軌跡本身——那串座標——就算是很長的一次健行,也還是一份體積不大的純文字檔案,因為簡單的數字與標籤壓縮下來絕對量很小。而沿途釘在路線上的照片、影片與語音,完全是另一回事,按位元組算比軌跡本身重得多——單單一段影片,往往就比一整天的 GPS 點加起來還重。如果一次健行保存下來的資料感覺很佔空間,幾乎從來不是軌跡的錯,而是釘在上面的這些媒體檔案。

容易搞混的地方

  • 以為檔案越大,軌跡就越精確、越詳細——通常只是記錄得更久,不代表記錄品質更好。
  • 想用距離去估檔案大小——點是按時間記的,不是按走過的公尺數記的,用記錄時長去估更準。
  • 把檔案大小怪到地形陡或路線繞上——這兩樣單獨都不會讓點數變多,真正讓點數變多的只有實際在記錄的時間。
  • 擔心一個大的 GPX 檔案不好打開、不好上傳——就算是很長一天的軌跡,本質還是純文字,按現在的標準算是很小的檔案;真正讓一次健行的存檔變重的,通常是附帶的照片與影片。

TrailCam 在這件事上怎麼做

TrailCam 會在你移動的整段時間裡把路線記成軌跡,你暫停它也跟著暫停,需要的時候匯出成標準的 GPX 1.1 檔案。不管健行走了多久,軌跡本身匯出來都還是一份體積不大的檔案;真正佔掉大頭的,是沿途留下的影片、照片與語音。TrailCam 免費下載。

常見問題

走得越久,GPX 檔案是不是一定越大?
一般是的。記錄時間越長,記下的點就越多,而不管是哪種健行,每個點給檔案增加的位元組數都差不多。
地形起伏大或者路線繞來繞去,會不會讓檔案變大?
單獨來看影響不大。點是按經過的時間、以差不多固定的間隔記下來的,不是根據地形陡不陡、彎多不多來記的,所以海拔與轉彎對檔案大小的影響很小。
一次保存下來的健行裡,真正佔空間最多的是什麼?
通常不是軌跡本身。釘在路線上的影片、照片與語音,按位元組算都比只有座標的純文字 GPX 檔案重得多。

記錄你自己的軌跡

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

在 App Store 下載