[OSRM-talk] Need more instructions

Martin Bang Andersen datscharf at gmail.com
Fri Oct 16 20:08:43 UTC 2015


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&center=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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/osrm-talk/attachments/20151016/bb1f54ed/attachment.html>


More information about the OSRM-talk mailing list