diff options
Diffstat (limited to 'web/views.go')
| -rw-r--r-- | web/views.go | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/web/views.go b/web/views.go index b3cab8b..4f769cc 100644 --- a/web/views.go +++ b/web/views.go @@ -5,6 +5,7 @@ import ( "net/url" "time" + "github.com/martinlehoux/biking_home/climb" "github.com/martinlehoux/biking_home/mountain_pass" "github.com/martinlehoux/biking_home/official_climb" "github.com/martinlehoux/biking_home/ride" @@ -47,7 +48,7 @@ func buildAnalyticsPoints(items []ride.StoredRide) []AnalyticsPoint { points := make([]AnalyticsPoint, 0, len(items)) for _, item := range items { cotacol, ready := item.CotacolScore() - if !ready || item.CotacolAlgorithmVersion() != ride.CotacolAlgorithmVersion || item.DistanceM <= 0 { + if !ready || item.CotacolAlgorithmVersion() != climb.CotacolAlgorithmVersion || item.DistanceM <= 0 { continue } points = append(points, AnalyticsPoint{ @@ -286,7 +287,7 @@ func officialClimbCreateURL(id int64) string { } func buildRideDetailView(item ride.StoredRide, parsed ride.Ride, passes []mountain_pass.MountainPass, officialClimbs []official_climb.OfficialClimb, matchPolicy official_climb.MatchPolicy) RideDetailView { - coords := parsed.Coords() + coords := parsed.Coords coordinates := make([][]float64, len(coords)) for i, coordinate := range coords { coordinates[i] = []float64{coordinate.Lon, coordinate.Lat} @@ -327,9 +328,9 @@ func buildRideMapPasses(passes []mountain_pass.MountainPass) []RideMapPass { } func buildRideProfile(parsed ride.Ride, passes []mountain_pass.MountainPass, officialClimbs []official_climb.OfficialClimb, matchPolicy official_climb.MatchPolicy) RideProfile { - coords := parsed.Coords() - distances := parsed.Distances() - elevations := parsed.Elevations() + coords := parsed.Coords + distances := parsed.Distances + elevations := parsed.Elevations profile := RideProfile{ Points: make([]RideProfilePoint, len(coords)), Climbs: make([]RideProfileClimb, 0), @@ -346,12 +347,13 @@ func buildRideProfile(parsed ride.Ride, passes []mountain_pass.MountainPass, off analysis := rideanalysis.Analyze(parsed, passes, officialClimbs, matchPolicy) for _, analyzedClimb := range analysis.Climbs { segment := analyzedClimb.Segment + topIndex, topElevationM := segment.Top() climb := RideProfileClimb{ Index: len(profile.Climbs), - StartKm: segment.StartDistanceM() / 1000, - EndKm: segment.EndDistanceM() / 1000, - TopKm: segment.TopDistanceM() / 1000, - TopElevationM: segment.TopElevationM(), + StartKm: segment.Distances[0] / 1000, + EndKm: segment.Distances[len(segment.Distances)-1] / 1000, + TopKm: segment.Distances[topIndex] / 1000, + TopElevationM: topElevationM, Name: analyzedClimb.Name, Category: analyzedClimb.Category, DistanceKm: analyzedClimb.DistanceM / 1000, @@ -359,8 +361,8 @@ func buildRideProfile(parsed ride.Ride, passes []mountain_pass.MountainPass, off Cotacol: analyzedClimb.Cotacol, OfficialClimbID: analyzedClimb.OfficialClimbID, OfficialName: analyzedClimb.OfficialName, - StartIndex: segment.StartIndex(), - EndIndex: segment.EndIndex(), + StartIndex: analyzedClimb.Interval.Start, + EndIndex: analyzedClimb.Interval.End, } profile.Climbs = append(profile.Climbs, climb) } |
