作者 MuMuH (MuMuH)
標題 [問題] Strava 以及 Garmin connect 爬升顯示錯誤的問題
時間 Sat Oct 14 17:24:15 2023


分享一個覺得蠻有趣的問題。

Strava 以及 Garmin connect 上的爬升(Elevation gain )在下面幾個條件成立時
有可能會發生錯誤:

1. 使用手機或是只有GPS高度計的手錶紀錄活動。
2. 400m的田徑場(或是不斷的繞圓圈跑步)
3. Strava & Garmin使用高度資料庫校正你的海拔資訊。

問題如下圖:
https://i.imgur.com/AXU4Luz.jpg
[圖]

這是某一次在新竹田徑場的跑步紀錄,新竹田徑場是國家級認證的田徑場[1],有經
過場地的認證包含橫向以及縱向的傾斜度符合規範等等,因此不可能在跑完13.8公里
之後爬升來到不可思議的272m。這是一次以速度為主的鍛鍊,上圖紅色框框的部份應
該要顯示配速,卻因為Strava以為這次是以爬坡為主的鍛鍊而顯示爬升。而隨著跑越
多田徑場總爬升卻大幅上升也造成了困擾,因此花了點時間釐清,一開始以為自己的
手錶有問題,釐清後又以為只有新竹田徑場的海拔資訊有問題,但後來慢慢發現其他
一些田徑場(檢查了鳳山以及新莊的田徑場)的爬升也被錯誤的放大,因此將我的發
現以及解法分享出來。


這個問題有趣的點是爬升的錯誤並不是原始的GPS高度的資料造成,原始的資料非常漂
亮,以新竹田徑場為例:

https://i.imgur.com/mkQ5tTM.jpg
[圖]

請注意上圖的Altitude以及Slope兩個欄位,從頭到尾都是定值,由此原始資料計算
Elev. Gain的結果應該是0。

問題發生在Strava認為這個GPS高度是不準確的,因此開啟了後台的海拔資料庫[2]
進行高度的校正,再透過算法求得Elev. Gain。很不幸的是海拔資料庫在這裡出了錯,
也因此將原本對的原始資料改成錯的XD,下圖是經過海拔資料庫求得的Altitude以及
Slope,已經可以看到原本平坦的地面出現了變化:

https://i.imgur.com/u9EJkg5.jpg
[圖]

這樣看沒什麼感覺,直接轉化為圖形來看更為明顯:

https://i.imgur.com/jYLtCy0.png
[圖]

可以看到在Altitude欄位中,最低到最高的落差到了8m。

Garmin connect的高度校正也不遑多讓,我們將同一份跑步資料分別經過Garmin
 connect以及Strava高度校正並且與原始的GPS高度疊在一起看:

https://i.imgur.com/7DVHfv9.png
[圖]

黃色線是原始資料,藍色是Strava而桃紅是Garmin connect分別經過各自的高度校正
結果。儘管Garmin connect經過了高度校正之後也得到錯誤的Elevation Gain,但至
少它有開關可以讓使用者關閉高度校正,而Strava就讓使用者無法迴避這樣的錯誤,
它的高度校正始終都是開啟。


身為Strava的使用者來說,這樣的問題實在無能為力,因為高度校正始終都是開啟,
在高度校正有問題的情況下,所有的田徑場繞圈圈的海拔爬升都會是錯誤的,因此我
們能做的就是:


- 買一隻有氣壓式高度計的跑錶XD(Garmin的週年慶最近陸續開始XD),有氣壓式高
度計的情況下Starva會關閉後台高度校正。

- 回報Strava。[3] 裡面有一個連結,可以回報Elevation的錯誤。

- Strava是依據手錶型號來判斷是否要開啟高度校正,因此可以修改device name來
迴避這個問題。個人不太建議這樣的work around,這會修改原始的raw data。而且
平常已經夠多work around了,沒想到跑步也要XD。方法如下:


上傳你的Garmin FIT/GPX/TCR 到 https://www.fitfiletools.com/#/top 接著選擇
Device Changer,然後找一款有氣壓式高度計(ex Garmin FR255)裝置,修改之後
再將FIT檔重新上傳至Strava,此時你就可以看到 elevation gain為0,主頁顯示也
會以配速為主。如下:


修改device name後Strava 主頁恢復以配速為主的顯示:
https://i.imgur.com/lY1YCIm.jpg
[圖]

而elevation 也變成 0,device name 變成 Garmin FR255 Music。
https://i.imgur.com/96v1u3J.jpg
[圖]

以上是田徑場爬升錯誤的資訊提供參考,希望對你有所幫助。


另外,海拔以及坡度的錯誤還有一些其他隱藏的影響不容易察覺,如果你習慣使用TSS
(training stress score)來追蹤你的疲勞程度,你要稍為了解一下你所使用的平台
背後所使用的算法是否有參考到原始的資料的altitude以及slope,因為這兩者錯誤

可能造成TSS的分數誤判,以新竹十八尖山為例:

https://i.imgur.com/T4V8lwc.png
[圖]

上圖是十八尖山三趟約15km的距離,桃紅色為GPS高度計,淡藍色為氣壓式高度計,
可以看到其中slope的差異甚大,實際上此次的活動TSS的分數差異將近到10分之多。

以跑步來說,GOVSS[4]算法是常被使用的一個功率模型,它不僅是RunScribe跑步功率

計的算法,也被Goldencheetah(GC)用於TriScore中(有設定臨界速度時會使用
GOVSS計算stress score,沒有則會退回使用以心率為主的Trimp計算stress score),
而GOVSS的其中一個參數正是slope:

https://i.imgur.com/fHGWrXa.jpg
[圖]

鑑於GC內建的metrics常常被其他平台所"inspired by",個人認為這個影響是大的,因
為如果你原先期望讓自己在訓練上累積疲勞達到functional overreaching,你有可能
因為slope的錯誤而造成TSS被多算,而誤以為自己已經達到了一定的疲勞。若是你很在
意你所使用各項指標的正確性,建議將來在選購手錶上選擇具氣壓式的高度計。



[1] 中華民國國家級400公尺田徑場地一覽表
https://reurl.cc/x677ve

[2] What Strava does (source), is use a Digital Elevation Model, i.e. a
database of elevation points on different parts of the world, and then
smoothes the GPS points to be a more probable route and then match those
to the DEM and thus get more accurate elevation.

[3] Elevation for Your Activity
https://support.strava.com/hc/en-us/articles/216919447-Elevation-for-Your-Activity

[4] Dr. Skiba 於2006年發表的跑步功率論文,太複雜請直接跳過到[5] XD
感謝selfvalue大修正網址

[5] Technical Review of the Runscibe GOVSS Running Power Model。這個blog很棒
,它也有對於Stryd(EESA)的科技審查。如果你想直接玩GOVSS功率,可參考[6]
http://www.georgeron.com/2017/11/the-govss-running-power-algorithm-and.html

 

[6] 輸入你的身高體重速度等就可以推算出功率:
https://runscribe.com/power/
Power - RunScribe
RunScribe ...

 


--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.10.48.28 (臺灣)
※ 作者: MuMuH 2023-10-14 17:24:15
※ 文章代碼(AID): #1bAbv1zN (Road_Running)
※ 文章網址: https://www.ptt.cc/bbs/Road_Running/M.1697275457.A.F57.html
locka: 詳細給推1F 10/14 18:31
compression: 感謝提醒,謝謝分享2F 10/14 18:42
selfvalue:3F 10/14 19:11
mtbigzan: 推4F 10/14 19:13
selfvalue: pdf~ 404 Error
https://reurl.cc/x6pxgE5F 10/14 19:44

謝謝告知,直接借用你的短網址。^^

selfvalue: ^ The Development of the GOVSS Algorithm
https://runscribe.com/wp-content/uploads/power/GOVSS.pdf
very informative
兩推!
Ron George的blog太好看了== 連續看了一個小時7F 10/14 19:51

對於Stryd愛用者的我來說,能夠了解它的內部作法才能夠讓我更相信它。Ron George
的解釋對我這種門外漢來說很有用,很高興你喜歡。

儘管直至今日我已經不以「跑步功率」當作我的唯一訓練指標,但基於功率模型所延伸
出的Training Stress Score仍是我借重的,畢竟功能性的overreaching 到
 overtraining 只有一線之隔,不希望漢森課表的累積疲勞把自己弄到受傷的話,我會
十分在意GOVSS以及Stryd的RSS所提供的分數當作日常訓練的重要參考。而這時候就需
要手錶的slope資料的正確性。

selfvalue: 您的文章也是很好, 謝謝分享
這篇看了太過癮了==
https://reurl.cc/Oj510D13F 10/14 22:59

 
isohera: 我已經放棄看高度了
FR245上傳connect轉strava爬升差異
https://i.imgur.com/958mF6C.jpg
FR245沒氣壓高度計,Edge530沒這問題。16F 10/14 23:26
[圖]

其實寫這篇主要是在說服自己把FR55換成965 XD,畢竟Garmin的週年慶要到了XD。
我目前在爬坡的課表會將Stryd所提供高度以及slope(Stryd有內建氣壓高度計)
與Garmin FR55的FIT做合併,這有點麻煩 (因為Stryd內建的氣壓式高度計會被跑
表bypass),因此換錶似乎是好時機XD

Edge 540 會是我人生的第一隻車錶。:)

Csy065: 推認真20F 10/15 08:50
※ 編輯: MuMuH (39.10.48.28 臺灣), 10/15/2023 10:41:16
※ 編輯: MuMuH (39.10.48.28 臺灣), 10/15/2023 10:43:59
isohera: 540買起來21F 10/15 11:21

--
作者 MuMuH 的最新發文:
點此顯示更多發文記錄