aboutsummaryrefslogtreecommitdiff
path: root/rideanalysis/analysis.go
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2026-08-27 12:07:11 +0200
committerMartin Kagamino Lehoux <martin@lehoux.net>2026-08-27 12:07:11 +0200
commit522512197de372aa9b9c5584711619a76a5546d8 (patch)
tree2f005e279adc1f7da1afe7155d5b87c80c8c4840 /rideanalysis/analysis.go
parent1c5fc2e4364063884f33b78f45f351201705fae4 (diff)
clenaup
Diffstat (limited to 'rideanalysis/analysis.go')
-rw-r--r--rideanalysis/analysis.go16
1 files changed, 8 insertions, 8 deletions
diff --git a/rideanalysis/analysis.go b/rideanalysis/analysis.go
index 883d72c..bf3c2bb 100644
--- a/rideanalysis/analysis.go
+++ b/rideanalysis/analysis.go
@@ -4,7 +4,7 @@ import (
"slices"
"github.com/martinlehoux/biking_home/climb"
- "github.com/martinlehoux/biking_home/core"
+ "github.com/martinlehoux/biking_home/geo"
"github.com/martinlehoux/biking_home/mountain_pass"
"github.com/martinlehoux/biking_home/official_climb"
"github.com/martinlehoux/biking_home/ride"
@@ -31,7 +31,7 @@ type AnalyzedClimb struct {
Cotacol float64
OfficialClimbID int64
OfficialName string
- Interval core.Interval
+ Interval geo.Interval
}
func Analyze(parsed ride.Ride, passes []mountain_pass.MountainPass, officialClimbs []official_climb.OfficialClimb, matchPolicy official_climb.MatchPolicy) Result {
@@ -40,21 +40,21 @@ func Analyze(parsed ride.Ride, passes []mountain_pass.MountainPass, officialClim
Crossings: make([]mountain_pass.Crossing, 0),
}
claimedClimbs := make([]AnalyzedClimb, 0)
- claimedRanges := make([]core.Interval, 0)
+ claimedRanges := make([]geo.Interval, 0)
for _, official := range officialClimbs {
for _, matched := range official_climb.MatchClimbs(parsed.Coords, official, matchPolicy.EndpointRadiusM) {
- interval := core.NewInterval(matched.StartIndex, matched.EndIndex)
+ interval := geo.NewInterval(matched.StartIndex, matched.EndIndex)
claimedRanges = append(claimedRanges, interval)
claimedClimbs = append(claimedClimbs, analyzedClimb(routeClimb(parsed.Route, interval), interval, official.Name, official.ID))
}
}
- slices.SortFunc(claimedRanges, func(a, b core.Interval) int { return a.Start - b.Start })
+ slices.SortFunc(claimedRanges, func(a, b geo.Interval) int { return a.Start - b.Start })
for _, detected := range climb.Detect(parsed.Route, claimedRanges, climb.ClimbSlopeMinimum) {
name := ""
if matchedPass, ok := mountain_pass.MatchClimb(detected.Climb, passes, passMatchRadiusM, passMatchElevationToleranceM); ok {
name = matchedPass.Name
}
- interval := core.NewInterval(detected.Start, detected.Start+len(detected.Climb.Distances)-1)
+ interval := geo.NewInterval(detected.Start, detected.Start+len(detected.Climb.Distances)-1)
result.Climbs = append(result.Climbs, analyzedClimb(detected.Climb, interval, name, 0))
}
climbs := make([]AnalyzedClimb, 0, len(claimedClimbs)+len(result.Climbs))
@@ -71,7 +71,7 @@ func Analyze(parsed ride.Ride, passes []mountain_pass.MountainPass, officialClim
}
// routeClimb returns the climb segment of route covered by interval.
-func routeClimb(route climb.Route, interval core.Interval) climb.Climb {
+func routeClimb(route climb.Route, interval geo.Interval) climb.Climb {
return climb.Climb{
Distances: route.Distances[interval.Start : interval.End+1],
Elevations: route.Elevations[interval.Start : interval.End+1],
@@ -79,7 +79,7 @@ func routeClimb(route climb.Route, interval core.Interval) climb.Climb {
}
}
-func analyzedClimb(segment climb.Climb, interval core.Interval, name string, officialID int64) AnalyzedClimb {
+func analyzedClimb(segment climb.Climb, interval geo.Interval, name string, officialID int64) AnalyzedClimb {
cotacol := segment.DifficultyScore()
return AnalyzedClimb{
Segment: segment,