[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