This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Elevation Gain Clarification, Please

Some quick google'ing seems to indicate that "elevation gain" at the end of a ride is supposed to be the total climb distance for that ride.

However,
  • Connect "only" shows 1555' of "elevation gain" for my ride yesterday, yet Connect also gave me the "Climber 3" badge for that same ride ("Climb 2,000 feet during a cycling activity").
  • Some math against the FIT file shows a total climb distance of about 2100'.




How can I see actual climb distance for a given ride? Or am I missing something?

Thanks in advance!

-j

(edited for formatting)
  • What device are you using? I suspect elevation correction is involved here.
  • I'm using a Fenix 5 Plus.

    So interestingly, I just went into Connect on the Web and enabled elevation correction for the ride, and it updated the ride's elevation gain from 1555' to 1622'. A few seconds later, Connect for Android again awarded me the "Climb 3" badge.
  • I dug a little deeper. I downloaded the ride as a TCX file (which presumably reflects elevation correction) and then extracted all of the 'AltitudeMeters' elements. I then stripped that down to a raw list of (12,483) elevation samples. I then looped through the samples like so:

    #!/bin/bash

    ALT=308.79998779296875 #first altitude value in file
    GAIN=0

    for i in `cat alt.txt`; do

    if [[ $i > $ALT ]]; then
    DIFF=`echo "$i-$ALT" | /bin/bc`
    GAIN=`echo "$GAIN+$DIFF" | /bin/bc`
    echo $GAIN #only to let me know it's really doing something
    fi

    ALT=$i

    done

    echo "Total Gain = `echo "$GAIN*3.2808" | /bin/bc` Feet"


    In the end, I got:
    • 728.79965209960970 (meters)
    • Total Gain = 2391.04589860839950 Feet



    So it looks like:
    • I really earned the Climber 2 badge (which I already knew based on the way my legs felt afterward and on my preliminary agg), and
    • the Connect backend is doing some (at least relatively) good math, but
    • the web UI is reflecting invalid numbers.



    My best first guess is that this is a bug that Garmin will likely never fix.

    /sigh

    (On side note, Golden Cheetah says that the elevation-corrected gain for this ride was just 1164' - so maybe Garmin isn't the only entity struggling with this aggregation?)

    ( Also, for the curious, here's the ride: https://connect.garmin.com/modern/activity/3599197429 )
  • A couple other quick notes...
    • Toggling Elevation Correction does change the TCX export.
    • I'm seeing the same sort of elevation gain discrepancy on all of the outdoor cycling activities I've spot-checked.
    • The issue is almost certainly independent of device (my samples include data from the Fenix 3 HR, the Fenix 5 Plus, 310XT, and the 910XT).

  • These altimeters are notoriously inaccurate in our watches. The fact that you only had a 4% error between online altitude correction and the watch is impressive. VivoActive 3 and Forerunner 645 will be off by 20-25% at times in total elevation gain.

    Your algorithm above will give questionable results. It will add in every bit of dither occurring in each reading. Over time that add up to a lot and likely why your algorithm give a much higher total gain than is real. The Elevation Correction in Garmin Connect online is pretty darned accurate. I've got numerous means of crosschecking it and it comes up very close on all of them.

    Another way of getting a reading on the total gain is to export the GPX file and import it into other tools such as CalTopo, Garmin BaseCamp, Gaia, or others. You'll find they will each be close to the others.

    If the device is using GPS elevation instead of barometric pressure, there can at times be even more dither. Garmin employs a smoothing algorithm to try to remove the dither variations and give you a fairly accurate result. I see this in my Edge 520 which comes in pretty accurate.