Skip to content

Climbs, terrain, and VAM

PeakLine automatically detects climbs in your activity, classifies the overall terrain, and gives you a VAM number per climb so you can compare ascents directly — even across different mountains.

Automatic climb detection

When your activity has an altitude stream, PeakLine walks the elevation profile and identifies sustained ascents. A segment is flagged as a climb if it:

  • Gains at least 30 m of vertical.
  • Lasts at least 2 minutes.
  • Has an average gradient of at least 3% (with smoothing to avoid GPS noise triggering on flat ground).

Each detected climb gets:

Metric What it tells you
Distance How long the climb is, on the road.
Elevation gain Total vertical from base to top.
Average gradient Vertical ÷ distance, as a percentage.
Max gradient Steepest 50 m slice.
Duration Time from base to top on this attempt.
VAM Vertical ascent rate in meters per hour.
Category HC, 1, 2, 3, 4 — see below.

Climb categories

PeakLine uses the standard road-cycling category system, which ranks climbs by gradient × length (a long shallow climb and a short steep climb can land in the same category):

Category Approximate score Example
HC (Hors Catégorie) > 80,000 Alpe d'Huez, Mont Ventoux
Cat 1 40,000–80,000 Col de la Madone
Cat 2 20,000–40,000 Most major regional climbs
Cat 3 10,000–20,000 Solid local hill
Cat 4 5,000–10,000 Short, sharp hill

Where the score is roughly climb_length_m × avg_gradient_%.

VAM — the climbing speed metric

VAM (Velocità Ascensionale Media, "average ascent velocity") tells you how fast you climbed in pure vertical terms:

VAM = elevation_gain_m × 3600 / duration_seconds

A few reference points to calibrate your sense of scale:

VAM What it means (Ride)
< 700 m/h Recovery / tourist pace
800–1000 Strong recreational
1100–1300 Fit club rider
1400–1600 Cat 2–3 racer
1700+ Elite
1800–1900 World Tour climber
2000+ Suspicious or short-duration

VAM is gradient-dependent — at the same wattage, you produce a higher VAM on a 10% climb than a 5% climb (less time spent overcoming rolling resistance). So compare VAM only on similar-gradient climbs.

For running, divide by ~1.5 — strong runners hit ~1100 m/h on sustained ascents.

Terrain classification

The whole ride gets one of five terrain labels, based on the ratio of total elevation gain to distance:

Label m/km
Flat < 5
Rolling 5–15
Hilly 15–30
Mountain 30–50
High mountain > 50

This shows up as a small badge on the activity card. It also gates a few achievements ("First mountain ride", "100 km hilly").

Best climbs leaderboard

Inside an individual climb, PeakLine surfaces your personal best for that climb (auto-matched by start coordinates) and your trend over the last 5 attempts. If you've ridden Mt. Tam ten times this year, you'll see whether you're getting faster.

This is a different surface from Strava's segment leaderboard — you don't need an official Strava segment for the climb to be tracked. PeakLine matches by geography.

Why this is useful

  • Cross-mountain comparison. Your VAM on a local hill says something concrete about your form, comparable across rides and seasons.
  • Pacing. Knowing the average gradient + the max gradient lets you ration your effort instead of getting blown up halfway.
  • Goal-setting. Hit a Cat-2 climb at VAM 1300? Next target is the same climb at 1400, or a Cat-1 at 1200.

Limitations

  • GPS altitude is noisy. PeakLine smooths the stream before climb detection, but in deep canyons or under dense tree cover, expect ±2–3% error on average gradient.
  • Indoor rides have no altitude. No climb detection there — though Stress Points and zones still work.
  • Stop-and-go riding. If you stopped at a viewpoint mid-climb, that pause inflates duration and depresses VAM. The reported VAM uses moving time only, so a brief pause is harmless, but a long café stop will be misleading.

See also