[OSRM-talk] Need more instructions
daniel at mapbox.com
Fri Oct 16 22:15:47 UTC 2015
You're looking at the right code, but it's not used during `viaroute`. The turn instruction flags are baked into the graph structure that is generated during `osrm-extract`.
> On Oct 16, 2015, at 1:08 PM, Martin Bang Andersen <datscharf at gmail.com> wrote:
> Hi all,
> I have previous written about my troubles with missing instructions when a secondary road has the same name as the primary road, then this turn/instruction is somehow optimized out of the instruction set.
> See for example:
> http://map.project-osrm.org/?z=16¢er=56.176718%2C10.168061&loc=56.176712%2C10.168061&loc=56.177751%2C10.156174&hl=en&ly=&alt=&df=&srv= <http://map.project-osrm.org/?z=16¢er=56.176718%2C10.168061&loc=56.176712%2C10.168061&loc=56.177751%2C10.156174&hl=en&ly=&alt=&df=&srv=>
> Here the final instruction tells me: "Left onto Haslegårdsvej" and then after 150m it says destination reached. It does not tell me to turn right onto the secondary part of Haslegårdsvej after about 100m.
> Can anybody point me to the place in the source code where this turn is removed from the list of instructions? I have looked a lot of places and my best bet until now is the AnalyzeTurn function in extractor/edge_based_graph_factory.cpp:
> // If street names stay the same and if we are certain that it is not a
> // a segment of a roundabout, we skip it.
> if (data1.name_id == data2.name_id && data1.travel_mode == data2.travel_mode)
> // TODO: Here we should also do a small graph exploration to check for
> // more complex situations
> if (0 != data1.name_id || m_node_based_graph->GetOutDegree(node_v) <= 2)
> return TurnInstruction::NoTurn;
> but it does not seem to be called during a viaroute request.
> Best regards
> Martin Bang Andersen
> OSRM-talk mailing list
> OSRM-talk at openstreetmap.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the OSRM-talk