diff options
| author | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-08-23 12:12:59 +0200 |
|---|---|---|
| committer | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-08-23 12:12:59 +0200 |
| commit | e5e7870eafbfc80f4668d2c0d0995149ddc2f60a (patch) | |
| tree | 48d93921782aa41d5bc6fc699e1d3d01ec384131 /README.md | |
| parent | d0875a51b2f07766b339b34a580d4e6e9fab348d (diff) | |
Match official climbs once per lap on looping rides
Official climb matching now returns all non-overlapping occurrences
per ride instead of only the globally nearest pair. Each lap is
detected by clustering contiguous points within the endpoint radius
and pairing each start cluster with the first end cluster inside its
window, preserving direction. The ride analysis aggregates all matches
and sorts claimed ranges before excluding them from auto-detection.
Fixes the case where a looping ride only showed one instance of a
saved climb while the user expected one per repetition.
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -12,6 +12,7 @@ A Go toolkit for analyzing cycling rides from GPX exports: parse rides, detect c - **Pass crossing detection** — flags which passes a ride crosses and names each climb after the pass it tops (e.g. "Col de Castellaras") - **Interactive ride profiles** — explores elevation, climbs, and mountain-pass crossings in the web ride detail view - **Official climb cards** — separates matched climbs from pending matches and expands each matched climb with its own elevation profile +- **Repeated official climbs** — matches the same official climb once per lap on looping rides, respecting direction - **Web ride library** — starts a local web server by default, imports Strava rides over a date range, stores metadata in SQLite, and keeps their GPX files on disk - **Materialized ride values** — computes Cotacol on import, stores its algorithm version in SQLite, and refreshes all computed values with `-backfill` - **Strava stream metrics** — preserves heart rate, cadence, and power in Garmin-compatible GPX files and in-memory ride columns @@ -107,7 +108,6 @@ TypeScript checks can also be run directly with `npm run check`, covering format ## TODO -- http://localhost:8080/rides/368: does not contain Pont Rout - http://localhost:8080/rides/6: Cat 4 inside Chemin des Lauriers (embrassé) - Compute estimated power, speed - Categorised rides like to-dos @@ -127,6 +127,7 @@ TypeScript checks can also be run directly with `npm run check`, covering format - performance/profile tracking - progress bar cli - processing takes components as input, not entities +- issue: many passes are pedestriant (cf Marseille Calanques, http://localhost:8080/rides/397) ## Resources |
