[OSM-talk] Data primitives (was: The segments vs ways vs superways question again...)

scott scott at waye.co.uk
Wed Jan 3 21:20:32 GMT 2007


guy at graviles-reynolds.org wrote:

>Quoting Scott  <scott at waye.co.uk>:
>
>  
>
>>On 1/3/2007, "guy at graviles-reynolds.org" <guy at graviles-reynolds.org>
>>wrote:
>>    
>>
>>>Also with dual carriageways if entered as a single polyline how do you
>>>differentiate between a side road that has access to both carriageways or
>>>      
>>>
>>a
>>    
>>
>>>side road that has access to just one of the carriageways or for that
>>>      
>>>
>>matter
>>    
>>
>>>a road which runs East/West forms a junction with a dualed road which runs
>>>North/South: 2 polylines meeting at a node, but there is no crossover i.e.
>>>someone coming from the West travelling East has to first travel North to
>>>      
>>>
>>the
>>    
>>
>>>next junction, then back south before rejoining the East/West road and
>>>continuing eastward.
>>>
>>>Guy 'Batchoy' Reynolds
>>>
>>>      
>>>
>>For the first point, I think you would have to have a "no right turn"
>>attribute on the junction.  You need something like that anyway
>>regardless of the number of carriage ways:  you could have a single
>>carriage road "A", with a road off to the right "B".  Both may be 2
>>ways, but say you are not allowed to turn right into B.  For routing
>>this information is important.  I can store junction information about
>>the end of road B in the way tag for B, but this junction is in the
>>middle of A so where can this data be stored?
>>
>>At present its probably best on the segement in A which shares a node
>>with B, or maybe in the node itself?
>>
>>Regarding the crossover, I think we have to assume that if the East/West
>>Road is made up of a-b-c, but there is something stopping you travelling
>>"across" b, then it should be broken into seperate ways.
>>
>>    
>>
>
>This is feasibly a problem with a straight forward single carriage way and not 
>just dual carriageways (though I have not come across such a junction yet).
>
>Given a main highway running from North to South (N-C-S where C is the 
>junction) is crossed by a minor route running from East-West (W-C-E) and you 
>cannot cross over the centre of N-C-S. Assuming you are driving in the UK (on 
>the left), valid routes are:
>  N-C-S,
>  S-C-N,
>  S-C-W,
>  W-C-N,
>  N-C-E,
>  E-C-S
>
>As you say the question is where do you put the 'No Right Turn' and 'No 
>Straight Ahead' limitations. It cannot be put in the node because although 
>the 'No Right Turn' applies all the associated ways the 'No Straight Ahead' 
>only applies to E-C and W-C. If you add it to the way, you either end up in the 
>situation where you must always split a way in to two between junctions, lest 
>you become confused between the restrictions for the junctions at either end of 
>the way or you have to tag the way with the IDs of all the ways you can 
>transition to from it. So if the ways were:
>  1) - N-C
>  2) - E-C
>  3) - S-C
>  4) - W-C
>
>Way 1) would carry the transition tags for way, 2 and 4 whilst way 2) would 
>carry the transition tags for way 3 and so on, plus the ways would/could carry 
>the transition tags for the junction at the other end and along their length. 
>The problem here however is knowing the IDs of the other ways to actually add 
>them. 
>
>However if this problem could be solved it would also allow motorways multi-
>carriage way highways to created as a single way/polyline, but at the cost of 
>having to specify the turning restrictions of every junction, otherwise 
>navigation software could send you down the soulth bound entry sliproad and the 
>direct you to turn right (north) at the bottom.
>
>Guy 'Batchoy' Reynolds  
>
>
>  
>
Sorry, I replied to you personally and not the list. 

Yes I agree with everything you said, except that when I was imagining 
putting the information on the node,  I was thinking of something like

<node ....>
    <prohibited_turn from="way/segment_id" to="way/segment_id"/>.
</node>





More information about the talk mailing list