You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently we are doing updates of our edge weight in osrm-contract in the following two phases:
Parse all the CSV files and build a global lookup table of speed overrides.
Update each individual segment in the compressed geometry.
Update all edge-based-edges using the .segment_lookup file and .turn_duration_penalty, .turn_weight_penalty.
However since we originally implemented this there have been some structural changes that would allow us to drop using the .segment_lookup file.
Parse all the CSV files and build a global lookup table of speed overrides
Convert the speed/rate value to a duration/weight value using the segment distance (calculate from the coordinates)
Update the compressed geometry, sum up all per-segment values and populate hash map GeometryID -> {weight,duration}
Iterate over all edge based edges, use EdgeBasedEdge::id to lookup GeometryID from OriginalEdgeData
Use GeometryID to check for new duration/weight value, combine value with the turn penalty. If there is no new value for the GeometryID but we only updated the turn penalty we need to re-calculate the sum of all weight/duration values for this GeometryID.
Currently we are doing updates of our edge weight in
osrm-contract
in the following two phases:.segment_lookup
file and.turn_duration_penalty
,.turn_weight_penalty
.However since we originally implemented this there have been some structural changes that would allow us to drop using the
.segment_lookup
file.GeometryID -> {weight,duration}
EdgeBasedEdge::id
to lookupGeometryID
fromOriginalEdgeData
GeometryID
to check for new duration/weight value, combine value with the turn penalty. If there is no new value for theGeometryID
but we only updated the turn penalty we need to re-calculate the sum of all weight/duration values for thisGeometryID
.Related to #3349.
/cc @danpat @oxidase @karenzshea
The text was updated successfully, but these errors were encountered: