What it shows
- Distance, D+ and D−
- The course's length and its total climbing and descending.
- Hardest climb and descent
- The stretch with the highest average gradient × length, uphill and downhill, marked on the profile. Drag across the profile to read the distance, altitude and gradient anywhere.
- Flat-equivalent distance
- How long the course is in flat kilometres of the same effort (see the questions below).
- Terrain
- How much of the distance climbs (steeper than +1 %), runs flat and descends (steeper than −1 %), and the distance in each of 13 grade bands, from −20 % and steeper to more than +20 %.
- D+ per 10 km
- The climbing in each 10 km of the course, the biggest slice highlighted: where the race front-loads its vertical, or saves it for the end.
- Biggest climbs and descents
- Up to five of each: where they start, how long and how high they are, their average gradient and their steepest 100 m.
How it reads the GPX
The course is resampled every 10 m and its elevation smoothed over 70 m, so GPS and barometer noise don't add phantom climbing; D+, D−, the gradients and the grade bands come from that smoothed line. A climb is a stretch steeper than +2 % (a descent, steeper than −2 %); a flatter break shorter than 150 m doesn't split it, and it counts once it is 200 m long or 12 m high. D+ per 10 km is counted on the recorded elevation, ignoring rises under 3 m, so its slices can add up to a little more than the D+ above.
It's the analysis the Pendio app runs on a race course, ported to run in the browser and checked against the app's own results, so the numbers here are the ones you'd see in Pendio.