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:
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¶
- PeakLine Score — uses the same elevation gain data
- Segment analysis — for Strava-defined segments rather than auto-detected climbs
- Route Planner — preview climbs before you ride them