<div dir="ltr"><div>Hi all,</div><div><br></div>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. <div><br></div><div>See for example: </div><div><br></div><div><a href="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=">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=</a></div><div><br></div><div>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.</div><div><br></div><div>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:</div><div><br></div><div><div><b>// If street names stay the same and if we are certain that it is not a</b></div><div><b>    // a segment of a roundabout, we skip it.</b></div><div><b>    if (data1.name_id == data2.name_id && data1.travel_mode == data2.travel_mode)</b></div><div><b>    {</b></div><div><b>        // TODO: Here we should also do a small graph exploration to check for</b></div><div><b>        //      more complex situations</b></div><div><b>        if (0 != data1.name_id || m_node_based_graph->GetOutDegree(node_v) <= 2)</b></div><div><b>        {</b></div><div><b>            return TurnInstruction::NoTurn;</b></div><div><b>        }</b></div><div><b>    }</b></div></div><div><div><br></div><div>but it does not seem to be called during a viaroute request.</div><div><br></div><div>Best regards</div><div>Martin Bang Andersen</div><div><br></div></div></div>