Thanks for both your replies, I disabled the mentioned section in AnalyzeTurn 
and ran extract again which gave me all the turns i needed, i will look at what 
impact this has on size /speed but at the moment i am very happy :-).

Emil Tin <[email protected]> skrev:

>The turn instruction flags are computed during extraction but I think Martin 
>is talking about the generation of instructions which is in fact done during 
>queries.
>
>Sendt fra min iPhone
>
>> Den 17. okt. 2015 kl. 00.15 skrev Daniel Patterson <[email protected]>:
>> 
>> Hi Martin,
>> 
>>   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`.
>>   
>> daniel
>> 
>>> On Oct 16, 2015, at 1:08 PM, Martin Bang Andersen <[email protected]> 
>>> 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&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
>>> 
>>> _______________________________________________
>>> OSRM-talk mailing list
>>> [email protected]
>>> https://lists.openstreetmap.org/listinfo/osrm-talk
>> 
>> _______________________________________________
>> OSRM-talk mailing list
>> [email protected]
>> https://lists.openstreetmap.org/listinfo/osrm-talk
>
>_______________________________________________
>OSRM-talk mailing list
>[email protected]
>https://lists.openstreetmap.org/listinfo/osrm-talk
_______________________________________________
OSRM-talk mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/osrm-talk

Reply via email to