diff options
| author | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-08-21 11:04:57 +0200 |
|---|---|---|
| committer | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-08-21 11:04:57 +0200 |
| commit | d26aa2dca1b14b7d52070825bfc73c5e8aed7a16 (patch) | |
| tree | 5d2ad13f342316dcdb1258ecd8c6e739d9adf08d /rideanalysis | |
| parent | 44f7333d9deef81d3468e20b378c63692a9406ec (diff) | |
refactor(ride,rideanalysis): replace magic numbers with named constants
Diffstat (limited to 'rideanalysis')
| -rw-r--r-- | rideanalysis/analysis.go | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/rideanalysis/analysis.go b/rideanalysis/analysis.go index 632f729..a4c319f 100644 --- a/rideanalysis/analysis.go +++ b/rideanalysis/analysis.go @@ -9,6 +9,13 @@ import ( "github.com/martinlehoux/biking_home/ride" ) +const ( + passMatchRadiusM = 300 + passMatchElevationToleranceM = 50 + passCrossingRadiusM = 100 + passCrossingElevationToleranceM = 25 +) + type Result struct { Climbs []AnalyzedClimb Crossings []mountain_pass.Crossing @@ -32,7 +39,7 @@ func Analyze(parsed ride.Ride, passes []mountain_pass.MountainPass, officialClim } for _, detectedClimb := range parsed.AllClimbs() { displayClimb := detectedClimb - if matchedPass, ok := mountain_pass.MatchClimb(displayClimb, passes, 300, 50); ok { + if matchedPass, ok := mountain_pass.MatchClimb(displayClimb, passes, passMatchRadiusM, passMatchElevationToleranceM); ok { displayClimb.Name = matchedPass.Name } matchedOfficial, officialFound := official_climb.MatchClimb(parsed, detectedClimb, officialClimbs, matchPolicy) @@ -51,7 +58,7 @@ func Analyze(parsed ride.Ride, passes []mountain_pass.MountainPass, officialClim result.Climbs = append(result.Climbs, AnalyzedClimb{ Segment: displayClimb, Name: displayClimb.Name, - Category: ride.Category(cotacol), + Category: ride.CategoryOf(cotacol).String(), DistanceM: displayClimb.EndDistanceM() - displayClimb.StartDistanceM(), SlopePercent: ride.Slope(parsed, displayClimb.StartIndex(), displayClimb.EndIndex()) * 100, Cotacol: cotacol, @@ -59,7 +66,7 @@ func Analyze(parsed ride.Ride, passes []mountain_pass.MountainPass, officialClim OfficialName: officialClimbName(matchedOfficial, officialFound), }) } - for _, crossing := range mountain_pass.DetectCrossings(parsed, passes, 100, 25) { + for _, crossing := range mountain_pass.DetectCrossings(parsed, passes, passCrossingRadiusM, passCrossingElevationToleranceM) { result.Crossings = append(result.Crossings, crossing) } return result |
