aboutsummaryrefslogtreecommitdiffstats
path: root/app/models
diff options
context:
space:
mode:
authorAlban Peignier2018-04-26 16:03:14 +0200
committerGitHub2018-04-26 16:03:14 +0200
commitc06e3d8791e84cee1277fee8bc66cfb6b372724c (patch)
tree1591f4fcb3817a63f4b429d5dd5320dcbd2089d7 /app/models
parentd25c89b0be3f3de75f0f162aef9f314b1f876997 (diff)
parent138764710a09bc551b64c1f70dd345663cc39ffd (diff)
downloadchouette-core-c06e3d8791e84cee1277fee8bc66cfb6b372724c.tar.bz2
Merge pull request #533 from af83/6826-fix-times-interpolation
Fix times interpolation with day offsets. Fixes #6826
Diffstat (limited to 'app/models')
-rw-r--r--app/models/chouette/vehicle_journey.rb7
1 files changed, 6 insertions, 1 deletions
diff --git a/app/models/chouette/vehicle_journey.rb b/app/models/chouette/vehicle_journey.rb
index 8a29057e2..8b5354863 100644
--- a/app/models/chouette/vehicle_journey.rb
+++ b/app/models/chouette/vehicle_journey.rb
@@ -369,10 +369,15 @@ module Chouette
if before_cost && before_cost[:distance] && after_cost && after_cost[:distance]
before_distance = before_cost[:distance].to_f
after_distance = after_cost[:distance].to_f
- time = previous_stop.departure_time + before_distance / (before_distance+after_distance) * (vjas.arrival_time - previous_stop.departure_time)
+ arrival_time = vjas.arrival_time + (vjas.arrival_day_offset - previous_stop.departure_day_offset)*24.hours
+ time = previous_stop.departure_time + before_distance / (before_distance+after_distance) * (arrival_time - previous_stop.departure_time)
+ day_offset = time.day - 1
+ time -= day_offset*24.hours
encountered_borders.each do |b|
b.update_attribute :arrival_time, time
+ b.update_attribute :arrival_day_offset, previous_stop.arrival_day_offset + day_offset
b.update_attribute :departure_time, time
+ b.update_attribute :departure_day_offset, previous_stop.departure_day_offset + day_offset
end
end
encountered_borders = []