TrailCam

指南

怎麼把 CSV 檔案轉換成 GPX

這是兩個方向裡更難的一個。GPX 轉 CSV 只是在丟資訊,這個方向是安全的,基本上是機械操作。CSV 轉 GPX 要的是反過來的事——從一張原本可能根本沒存過軌跡形狀的表裡,把路線的樣子重新搭出來。能不能做到,完全取決於那份 CSV 裡實際有什麼。而對很多 CSV 檔案來說,老實說,答案是做不到。

先說結論

一份 CSV 只有在已經是逐點記錄的時候,才有可能變成能用的 GPX 軌跡——至少要有經度和緯度兩欄,最好還帶著海拔和時間戳記。找一個能讀這張表、再寫出 GPX 那套 XML 結構的工具——QGIS 這類 GIS 軟體、試算表軟體裡的巨集,或者一小段程式——把每一列按順序變成一個軌跡點。如果這份 CSV 是一趟健行一列,欄位是距離、時長、爬升這些,那裡面根本沒有能拿來用的路線形狀。彙總從一開始就不是軌跡,任何轉換工具都變不出缺掉的那些點。

兩種性質完全不同的 CSV

逐點的 CSV

每個記錄點佔一列,經度和緯度各自成欄,最好還帶著海拔和時間戳記。只有這種 CSV 才有可能被重建成軌跡,因為只有它還保留著幾何資訊——跟 GPX 軌跡點存的是同一樣東西,只是換了個容器裝著。

彙總的 CSV

一趟健行一列,欄位是日期、距離、時長、爬升這類數字。多數 CSV 匯出實際上就是這一種,因為多數人打開試算表想看的正是這些。但對「轉回 GPX」這件事來說,這是條死路——描述一整條路線的只有一列數字,從一個總數裡是逆推不出路線形狀的。

轉換要保住哪些東西

要畫出一條線,最起碼得有經度和緯度。海拔算是可選的——GPX 規範允許軌跡點不帶海拔——但如果原始 CSV 壓根沒有海拔那一欄,轉出來的 GPX 也不會有,因為轉換工具手裡沒有能算出這個數字的材料。每一列的時間戳記,重要程度比看上去要高:GPX 的軌跡點是按檔案裡出現的順序讀回去的,如果 CSV 的列本來就沒按時間排好,重建出來的路線就會在相隔好幾分鐘記錄的點之間來回打轉。

悄悄毀掉座標的試算表習慣

把帶座標的 CSV 用試算表軟體打開檢查一下,再存回去——這是損壞資料的常見方式,而且損壞的正是你想轉換的那份資料。試算表軟體天生喜歡把數字「整理」得整整齊齊,對普通數值欄來說這是好事,對 GPS 座標欄來說恰恰不是:它可能悄悄把需要的那幾位小數四捨五入掉,也可能把一長串小數換成科學記號。座標哪怕只丟了幾位小數,畫到地圖上都能看出明顯的偏移。用純文字編輯器,或者專門處理座標的工具打開檔案編輯,就不會碰到這個問題。

為什麼留著原本的 GPX 更省心

真正需要做這個轉換的場合,其實比想像中要少:要嘛是手上只留了 CSV 彙總,原始軌跡已經沒了;要嘛是從別處拿到的路線資料本來就是 CSV,而要匯入的地圖工具偏偏只認 GPX。只要原本的 GPX 檔案在哪裡還留著,直接用它,總比從一份本來就只打算存總數的表裡重新搭一個要簡單、也更可靠。CSV 轉 GPX,值得動手的時候,是 GPX 本身真的已經找不回來了。

容易搞錯的地方

  • 以為彙總型的 CSV——一趟健行一列——能變成軌跡:不管用什麼工具,彙總裡都沒有能拿來重建的形狀。
  • 以為隨便哪個試算表軟體都能自己完成這個轉換:CSV 不像 GPX 那樣有固定結構,得明確告訴轉換工具,這份檔案裡哪一欄是經度、哪一欄是緯度、哪一欄是時間。
  • 用試算表軟體打開 CSV 存回去以後,座標悄悄變了一點——這是試算表軟體自動重新格式化帶來的副作用,不是原始資料本身出了問題。
  • 重建出來的 GPX 沒有高度曲線——這不是轉換出了錯,只是原始 CSV 本來就沒有海拔那一欄。

TrailCam 在這件事上是怎麼做的

TrailCam 把同一條記錄下來的軌跡,直接匯出成 GPX 1.1 或者 CSV 彙總,兩者都來自記錄本身,不是事後互相推算出來的。也就是說,用 TrailCam 記錄的路線,基本用不上這個轉換:地圖工具要是需要 GPX,它本來就跟 CSV 放在一起,不用從 CSV 裡重建。匯出是可選的 TrailCam Pro 裡的功能,App 本身免費下載。

常見問題

隨便一份 CSV 檔案都能轉成 GPX 軌跡嗎?
只有當它已經是每個記錄點一列、帶著經緯度欄位的時候才行。彙總型的 CSV——一趟健行一列——裡面沒有路線的幾何資訊,轉換工具沒有東西可以變成軌跡。
CSV 轉 GPX 的時候,海拔資料會跟著出來嗎?
只有原始 CSV 本來就有海拔那一欄才會。從 CSV 造出來的 GPX 檔案,不可能比原始 CSV 擁有更多資訊——轉換工具沒有材料可以憑空造出海拔。
為什麼用試算表軟體編輯 CSV 之後,座標有時候會變?
試算表軟體會自動重新格式化數值欄,四捨五入小數或者換成科學記號,這會悄悄改變 GPS 座標。用純文字方式編輯檔案就能避開這個問題。

記錄你自己的軌跡

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

在 App Store 下載