TrailCam

指南

怎麼從 GPX 檔案裡找出一趟健行最陡的那一段

一趟健行的平均坡度是個誠實的數字,不算錯,但它是把所有爬升平攤到全程每一公尺距離上算出來的,而恰恰是這種「平攤」,把那段真正讓人記住的又短又狠的陡坡給抹平了。GPX 檔案從一開始記錄的就不是這個平均數,它記的是一串點,每個點帶著位置、海拔和時間,路線上任何一處的坡度都是事後拿這串點算出來的。找最陡的那一段,用的是同一串點,只是換了個用法,過程中要留意的坑也就一個。

先說結論

按順序走過軌跡上的點,不要只算一次全程的坡度,而是把路線切成一段段又短又重疊的區間——比如每走滿 20 到 50 公尺就切一段,而不是每兩個相鄰點就算一次。每一段都拿海拔變化除以這段的距離,算法跟算整趟坡度時完全一樣。坡度最高的那一段,就是這條路線最陡的地方。算這個所需要的海拔和距離數字,本來就已經在檔案裡了,一條標準 GPX 軌跡不需要為此額外記錄什麼。

為什麼一個平均坡度回答不了這個問題

平均坡度是用累計爬升除以總距離算出來的,這個算法本身就把整趟健行當成了以同一個恆定速率一路爬升。一條路線如果是平緩的接近段、一小段陡坡,再加上後面比較緩的稜線,整體平均下來可能只有不起眼卻完全誠實的 8%,可單把那一小段陡坡拎出來,按幾十公尺算,坡度可能逼近 30%。平均數沒有說謊,它只是在回答另一個問題,而不是「哪裡變陡了」——盯著從全程裡抽出來的這一個數字看再久,都不會替你回答第二個問題。

像算配速那樣把健行切成每公里或每英里的分段,也會遇到程度輕一些的同樣問題。一小段又短又陡的爬坡,就算落在整體還算平緩的某一公里裡,照樣會跟這一公里的其他部分混在一起——只不過被稀釋的範圍從整趟健行縮小到了這一公里而已。真要找出最陡的那一小段,就得用一個短到真陡坡藏不進去的單位去看。

GPX 檔案裡已經有的材料

一條 GPX 軌跡就是一串按順序排列的點,每個點帶著經緯度,通常還有海拔和時間戳。這跟健行記錄裡顯示的總距離、累計爬升、平均配速、平均坡度這些數字背後的原始材料完全是同一份——它們都不是作為現成數字存在檔案裡的,而是每次都從這同一串點重新算出來的。路線某一小段的坡度,也不過是這串點能算出的又一個數字,用得到的只是連續幾個點的海拔和距離,其他都不需要。

唯一的坑:相鄰兩點之間的海拔雜訊太大,不能直接拿來用

海拔是手機記錄裡雜訊最大的一個數字,比定位還要晃。如果只拿相鄰兩個點來算坡度——這兩點往往只隔幾公尺,記錄時間也只差幾秒——一段實際上根本沒怎麼爬升的平地,也可能因為其中一個海拔讀數剛好偏高了幾公尺、下一個又剛好偏低了幾公尺,突然冒出 30% 甚至 40% 的坡度。要是不處理這種情況,這一小段純屬雜訊的「陡坡」反而會蓋過檔案裡所有真實的爬升,被誤判成「全程最陡」。

把區間放寬到一個固定距離——通常 20 到 50 公尺就夠——基本能解決這個問題:這樣算出來的是一段真實的海拔變化除以夠長的距離,兩端各自幾公尺的雜訊幾乎撼動不了結果,而一段真正持續 50 公尺以上的陡坡,依然能清清楚楚地顯現出來。區間切得太窄,雜訊就會贏;切得太寬,一小段真陡坡又會被周圍比較緩的地面稀釋掉,跟按公里分段時一樣的問題。真正合適的寬度,落在這兩者中間,既能讓一小段真實的陡坡露出來,又不至於被雜訊騙。

拿真實數字算一遍

假設一條軌跡大約每 5 公尺記一個點。某段 40 公尺的區間裡,海拔從 210 公尺升到 214 公尺——40 公尺爬升 4 公尺,坡度 10%。緊接著下一段 40 公尺,海拔從 214 公尺升到 226 公尺——40 公尺爬升 12 公尺,坡度 30%。再往前走,接下來那段 40 公尺只爬升了 2 公尺,坡度又降回 5%。中間那段 30% 的區間,就是這條路線最陡的地方——要是沒人去看比全程更短的區間,它本來會安安靜靜地被埋在這段爬升 12% 到 15% 左右的整體平均數裡,誰也看不出來。

TrailCam 能幫上什麼

TrailCam 會在回放路線的地圖下面畫出高度剖面圖,一小段又短又陡的爬坡會直接顯示成曲線上變陡的那一截,而不是被整趟健行的一個平均坡度蓋住。想自己動手跑上面這套算法的人,路線可以匯出成 GPX 1.1 或 CSV,記錄下的每一個點都完整保留,正好是這個方法需要的原始材料。匯出功能包含在可選的 TrailCam Pro 裡,App 本身免費下載。

常見問題

不自己算坡度,也能看出一趟健行最陡的那一段在哪嗎?
可以。回放路線時地圖下面的高度剖面圖,能直接看出曲線在哪裡變陡,這跟這套計算算出來的資訊是一回事,只是一個是從圖上讀出來的,一個是從原始點算出來的。
為什麼換一個距離區間的大小,算出來的最陡路段會不一樣?
區間切得越窄,幾公尺的海拔誤差在這麼短的一段裡占的比例就越大,越容易被雜訊牽著走。區間切得越寬,一小段真實的陡坡又容易被周圍比較緩的地面稀釋掉。大概 20 到 50 公尺通常能兼顧兩邊,但具體切多寬是個取捨,不是一條固定不變的規則。
一趟健行最陡的地方,是不是就是海拔最高的那個點?
不是。海拔最高的點只跟海拔本身有關。最陡的那一段說的是海拔在很短的距離裡變化有多快,一條緩緩爬向高海拔山頂的路線,完全可能比同一條路線上更低處那一小段又短又陡的坡,整體還要更「不陡」。

記錄你自己的軌跡

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

在 App Store 下載