diff options
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 |
