-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move PostProcessing onto Route Steps #2116
Conversation
f11ec73
to
fbdafca
Compare
7cce748
to
ebf9555
Compare
@TheMarex I have a question regarding the leg_geometry. After https://github.com/Project-OSRM/osrm-backend/blob/fix/guidance/postprocessing/src/engine/guidance/post_processing.cpp#L232-L241, which removes temporary instructions in post-processing to count roundabouts/intersections, the leg-geometry segments are out of sync with the actual turn-instructions. Should we undertake the effort to set the correct indices again? Essentially translating the turn-instruction geometry indices back into the segments of the geometry? The coordinates itself should be unaffected. |
5c28605
to
db6f9b9
Compare
An additional item to discuss: to output the intersections in between, should we output the duration/distance along the currently looked at segment, or the distances/durations between the different intersections themselves? So for (S) --a -- (I) -- b -- (I2) -- c -- (T), should we rather output: Option 1: or Option 2: In both cases, we would end up adding some additional information down the line on the intersection shape. Edit: currently option 2 is implemented, both come with coordinate of the intersection |
40efa38
to
4f15498
Compare
057eb59
to
ca4c895
Compare
const LegGeometry &leg_geometry, | ||
const std::size_t segment_index, | ||
const unsigned exit); | ||
const std::size_t segment_index); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From what I can see I think you only need the instruction to pass it on (and you do not move it), so a const-ref (or const value since it should be cheap to copy it) should be fine, too.
be4ad82
to
5487542
Compare
Might be related: #1575 |
5487542
to
05c8834
Compare
Path length in front-end are rounded to large differences (426->450). This results in the differences in the path data length I've seen. The values seem correct, though. |
2ad5b42
to
7a925da
Compare
@TheMarex this one is all yours |
@MoKob looks great! Going to rebase and merge. |
7a925da
to
b5b5dbc
Compare
This pull request tracks the progress of moving the Guidance Post-Processing options onto the Route Step.
It consists of the following task:
-[]Adjust turn collapsing in assemble_leg.hpp: This process assumes name-ids to be the only decision that decides whether a turn is kept or not. This needs to be adjusted to compress only no-turns. Some instructions are actually required to stay on a road.Since this is only a heuristic for the route name and would require a lot of changes, keeping the name as only source of naming the route seems like the better option.
PathData
and pastassemble_steps.cpp
to work on route-steps. This would require the insertion of temporary route steps for silent instructions that can then be collapsed, or a full integration of the post-processing with assemble_steps. I'd prefer the former (@TheMarex, whats your take on this?)