diff options
Diffstat (limited to 'web/climbs.go')
| -rw-r--r-- | web/climbs.go | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/web/climbs.go b/web/climbs.go index 6859545..6416509 100644 --- a/web/climbs.go +++ b/web/climbs.go @@ -101,9 +101,7 @@ func (s *Server) handleClimb(w http.ResponseWriter, r *http.Request) { }), w) } -// buildClimbProfile computes the median normalized elevation profile from the -// linked rides: each ride is parsed, its climb occurrences matched, and every -// occurrence resampled onto the shared normalized axis. +// buildClimbProfile computes the median normalized elevation profile from the linked rides, resampling every occurrence onto a shared axis. func (s *Server) buildClimbProfile(officialClimb official_climb.OfficialClimb, aggregate official_climb.Aggregate, attempts []official_climb.Attempt) ClimbProfileData { profile := ClimbProfileData{DistanceKm: aggregate.DistanceM / 1000} if len(attempts) == 0 { @@ -127,7 +125,7 @@ func (s *Server) buildClimbProfile(officialClimb official_climb.OfficialClimb, a slog.Warn("Failed to parse ride for climb profile", "climb_id", officialClimb.ID, "ride_id", attempt.RideID, "error", err) continue } - for _, matched := range official_climb.MatchClimbs(parsed.Coords, officialClimb, matchPolicy.EndpointRadiusM) { + for _, matched := range official_climb.MatchClimbs(parsed.Route, officialClimb, matchPolicy.EndpointRadiusM) { segment := climb.Climb{Route: climb.Route{ Distances: parsed.Distances[matched.StartIndex : matched.EndIndex+1], Elevations: parsed.Elevations[matched.StartIndex : matched.EndIndex+1], @@ -152,9 +150,7 @@ func (s *Server) buildClimbProfile(officialClimb official_climb.OfficialClimb, a return profile } -// medianRoute picks the recorded route of the attempt whose distance is the -// median across occurrences: full recorded precision, no resampling, and -// robust to one GPS-drifted ride. +// medianRoute picks the recorded route of the attempt whose distance is the median: full precision, no resampling, robust to one drifted ride. func medianRoute(candidates []routeCandidate) []geodist.Coord { if len(candidates) == 0 { return nil |
