TrailCam

指南

一份完全沒有海拔資料的 GPX 檔案,該怎麼把海拔補上

一條 GPX 軌跡要在地圖上畫出一條線,嚴格來說每個點只需要兩個數字:緯度和經度。海拔是另一個可選的值,很多檔案根本就沒有——在地圖上手畫出來的路線,或是當時垂直方向沒能定位上的記錄,畫出來的形狀是對的,就是沒有高度。要解決這個問題,不是回頭把那次健行重新走一遍、重新量一遍,而是拿這份檔案已經說自己經過的那些座標,去問另一個資料來源:那個地方的地面到底有多高。

簡單說

把檔案丟進一個海拔校正工具裡。它不是去讀檔案裡本來就沒記下來的高度,而是拿每個點的經緯度,去對照一份涵蓋全球地表高度的公開資料(數值高程模型),查出對應的高度,再把這個查到的值寫進這個點。不少已經支援匯入 GPX 的平台,本身就在軌跡或活動頁面上帶了類似的功能,通常叫「海拔校正」或「修正海拔」之類的名字。也有專門為這件事做的獨立工具,例如 GPS Visualizer,丟一份完全沒有海拔的 GPX 檔案進去,它會把每個點都補上高度再還給你,不需要註冊帳號,也不需要把檔案永久上傳到哪裡。

這份檔案當初為什麼沒有海拔

GPX 的 trkpt 元素,緯度和經度是必須有的屬性,海拔只是個可選的子元素。一條不是真的走出來、而是在地圖上畫出來的路線,根本就沒在任何一點上測量過什麼,自然也沒有高度可寫。真的走出來、即時記錄的軌跡,也可能落到同樣的下場——接收器在某一段拿到了水平方向的定位,卻沒拿到垂直方向的定位。要算出一個地方有多高,需要的衛星幾何條件比算出它在地面上哪個位置更嚴苛,所以垂直方向的定位掉線,比水平方向的定位掉線更容易發生。

正因為是這個區別,這個工具用在本來就有海拔資料的檔案上同樣有意義,不只是用在完全沒有的檔案上。GPS 實測的海拔是當場量出來的,點與點之間會帶著真實的抖動;模型查出來的值沒有這種抖動,因為它讀的是一份固定的資料,不是一個晃來晃去的接收器。把前者換成後者,常常能把一條鋸齒狀、大得離譜的爬升總量,變成一個看起來更可信、更平滑的數字。

校正不知道的事

  • 任何讓你在原地墊高、而不是橫向移動的東西——一座人行天橋、沼澤上的木棧道、一座瞭望塔。模型讀到的是那個座標點上地形本身的高度,不是你當時站的那個構造物的高度。
  • 比模型自身解析度還細小、還陡峭的地形起伏——攀爬路段上一小段岩壁台階,一處窄窄的階梯狀岩架。用取樣點格網做出來的模型,只能表現出格網大小以上的細節,比這更小的起伏會跟真實的雜訊一起被抹平。
  • 座標本身準不準。如果原始的 GPS 位置本來就橫向偏了,校正只會很篤定地查出那個偏移後位置的海拔,而不是你實際所在位置的海拔。

容易搞錯的地方

  • 以為校正後的檔案反映了那天的實際狀況——它反映的是一份靜態的地形模型,不是你那天在現場遇到的事。
  • 拿校正過的檔案跟另一個沒做校正的 App 算出的爬升數字比,誰小、誰平滑就覺得誰是「對的」——兩者本來就來自不同類型的輸入,一個是實測,一個是模型查值,不一致才是正常的,不代表哪一個壞了。
  • 以為校正連距離、時間的偏差也能一併修好——校正只動每個點的海拔這一個值,經緯度和時間戳原樣保留。
  • 做完校正還指望天橋、瞭望塔上那段高度能保留下來——模型根本不知道那裡有過一座建築物。

TrailCam 的情況

TrailCam 在記錄軌跡的整個過程中,會即時記下每個點的海拔,所以用 App 記錄的那次健行匯出來的 GPX 檔案,本身就已經帶著整條路線的海拔,不需要事後再補。這篇文章講的情況,多半出現在從別處來的軌跡上——在地圖上手畫的路線、舊裝置的記錄,或是一開始就沒記海拔的其他 App。TrailCam 支援匯出成 GPX 1.1 或 CSV,匯出功能包含在可選的 TrailCam Pro 裡,App 本身免費下載。

常見問題

做海拔校正會不會連帶把健行的距離也改了?
不會。距離是根據每個點的經緯度算出來的,校正只改寫海拔這一個值,位置和時間戳都不動。
檔案本來就有海拔資料,但爬升數字明顯不對,校正能不能修好?
常常可以。校正會把原本那些海拔值——不管抖不抖——統統換成模型查出來的值,容易把一個大得離譜、鋸齒狀的總量變得平滑一些。但也可能把一些模型表現不出來的、真實存在的小地形起伏一起抹平。
想幫檔案補海拔,是不是得先把它傳到某個訓練平台上?
不需要。像 GPS Visualizer 這種專門為這件事做的獨立工具,丟一份沒有海拔的 GPX 檔案進去,就能拿回一份補好高度的檔案,不用註冊帳號,也不用永久上傳到哪裡。

記錄你自己的軌跡

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

在 App Store 下載