匯出的 CSV 裡,有沒有一次健行的爬升資料?
答案要看這份 CSV 是替什麼做彙總,而不是看「爬升這種資料能不能放進表格」——像總爬升這樣的一個數字,放進一行一欄裡完全沒問題。CSV 真正吃力的地方,是這個數字背後那一長串東西:沿著軌跡,每一個記錄點上的高度讀數,按順序排下來。GPX 天生就是為了裝下這一整串東西而設計的,普通的 CSV 不是。把這個差別想清楚,選哪種格式就不難決定了。
簡單說
CSV 完全可以裝下爬升總量——它就是一個數字,跟日期、距離、時長放在同一行沒什麼問題。真正難住 CSV 的,是這個總量背後的那條爬升曲線:軌跡上每一個記錄點的高度,按順序連起來。地圖下方那條一起一伏的線,畫的就是這條曲線。一次健行占一行的彙總型 CSV,本來就是為了在一行裡放幾個總數而設計的,不是為了裝下幾百上千個高度讀數。
CSV 這種格式本來是給什麼用的
CSV 全稱是「逗號分隔值」,名字已經把它說清楚了:一行行純文字,每行拆成同樣幾欄。它沒有「這幾行合起來算一次健行」這種巢狀關係,每一行都是獨立的。這恰好讓它很適合列健行清單——日期、距離、行進時長、配速、爬升各占一欄,一次健行正好對應一行,整份清單自然就是平的,因為每一行不需要伸進另一行裡去。
平鋪的表格裝不下、GPX 卻天生裝得下的東西
GPX 的設計思路正相反。它是 XML,結構裡可以套結構:一條軌跡裡有若干個軌跡段,每個軌跡段裡是按順序排好的一串點,每個點又各自帶著經緯度、高度和時間。正是這種巢狀結構,讓同一個檔案既能裝下兩三行就寫完的健行概要,也能裝下幾百個撐起這份概要的高度讀數,兩者互不打架。爬升總量本身就是沿著這串點一個個往上加出來的,跟這種結構天生合拍。
如果硬要把逐點的爬升曲線塞進一份平鋪的 CSV,要嘛一個點占一行,一次健行的記錄膨脹成幾百行,整趟的總數反而沒地方好好放;要嘛就壓縮成一個數字,曲線本身也就沒了。包括 TrailCam 的歷史記錄匯出在內,大多數 CSV 都選了後一條路——把很多次健行的總數整理成一份精簡的表格才是 CSV 的用處,不是用來取代某一次健行的軌跡檔案。
對單次健行來說,這通常不算個問題
爬升總量這個數字本身並不脆弱——它由記錄下來的點算出來一次,不管之後被抄到表格的哪個欄位,還是留在檔案的概要裡,都是同一個數。真正隨格式改變的不是數字,而是數字背後那段起伏後續還能不能被看到。CSV 的一行能告訴你「這次爬了 480 公尺」,卻說不出這 480 公尺是在軌跡的哪一段爬上去的,因為這一行根本沒拿到那些點的資料。如果想看的是起伏的形狀——一條曲線,而不是一個數字——那份形狀留在 GPX 檔案裡,或是留在記錄它的 App 裡。
容易搞混的地方
- 以為 CSV 完全裝不下爬升資料——其實作為一個總數它是能裝下的,裝不下的是這個總數背後逐點的高度曲線。
- 把歷史記錄的 CSV 匯出當成 GPX 檔案的替代品——一份清單和一批軌跡檔案回答的其實是不同的問題,一行彙總數字 vs. 每一個記錄點。
- 打開 CSV 匯出的表格,看到的是每次健行一個爬升數字而不是一條曲線,覺得意外——這正是平鋪表格該有的樣子,沒有出錯。
- 明明那次健行根本沒產生過 GPX 檔案,卻把高度資料「消失」怪到 CSV 頭上——CSV 和 GPX 從設計上就裝著不同的東西,不是誰少裝了誰本該有的內容。
TrailCam 裡是怎麼處理的
TrailCam 支援把單條軌跡或整段歷史匯出成 GPX 1.1——保留每一個記錄點,高度也在內,Strava、Garmin Connect、Komoot 都能直接讀取;也可以匯出成 CSV,把歷史整理成一份精簡的彙總表。爬升總量不管走哪條匯出路徑,都是從同一條記錄下來的軌跡算出來的,差別只在於你拿到的是完整曲線,還是只拿到一個總數。免費下載。
常見問題
- 把一次健行匯出成 CSV,會不會丟失 GPX 本該保留的高度資料?
- 彙總型的 CSV 會保留爬升總量,但不會保留 GPX 那種逐點的高度曲線。記錄本身是一樣的,差別在於匯出的格式帶走了多少。
- TrailCam 為什麼同時提供 GPX 和 CSV 兩種匯出?
- 因為它們回答的問題不一樣。GPX 完整保留每一個記錄點,是 Strava、Garmin Connect、Komoot 能直接讀取的格式;CSV 把很多次健行壓成一份精簡的清單,更適合快速瀏覽或匯入試算表軟體。
- 匯出成 CSV,爬升這個數字本身會不會沒那麼準?
- 不會。總量只從記錄下來的軌跡算一次,不管落進 CSV 的欄位還是 GPX 的中繼資料裡都是同一個數。變的只是這個數字背後的曲線有沒有跟著一起匯出來。
記錄你自己的軌跡
TrailCam 是一款 iPhone 上的 GPS 軌跡記錄 App,會把沿途拍下的影片、照片與語音釘在你拍它的那個位置,並支援匯出成 GPX 1.1 或 CSV。免費下載。