Relation:restriction

From OpenStreetMap Wiki
Jump to: navigation, search
Available languages
Public-images-osm logo.svg restriction
France road sign B2b.svg
Description
Used for a set of tags and members to represent a turn restriction.
Group: Restriction
Members
  • Way - from
  • Way - to
  • Way Node - via
  • Node - location_hint
Status: Unspecified


A turn restriction at a junction is represented by a relation that has a set of tags describing the type of turn restriction. This turn restriction relation is not limited to turns, but can also be used for instance if you are only allowed to go straight on. A bus gate is another example of a use of the turn restriction relation as an alternative to Tag:barrier=bus_trap. At the junction passage from one side to the other is restricted (except for buses of course).

There are a number of important things that need to be taken into account when creating of a turn restriction.

  • There may be several turn restrictions at a junction, represented by separate relations.
  • There is no need to restrict turning into the wrong way of a one way street. This is taken for granted.
  • Turn restrictions do not apply to pedestrian unless the type or key is restriction:foot.


Tags

Key Value Explanation
type restriction / restriction:hgv / restriction:caravan / restriction:motorcar / restriction:bus / restriction:agricultural / restriction:bicycle / restriction:hazmat Restriction refers to all vehicles or only to appropriate type of vehicles.
(you can use type=restriction:<type> + restriction= or type=restriction + restriction:<type>=[1])
restriction no_right_turn / no_left_turn / no_u_turn / no_straight_on / only_right_turn / only_left_turn / only_straight_on / no_entry / no_exit

If the first word is "no_", then no routing is possible from the "from" to the "to" member. If it is "only_", then you know that the only routing originating from the "from" member leads to the "to" member. This distinction is also shown in the examples section of this page.

restriction:hgv, restriction:caravan, restriction:motorcar, restriction:bus, restriction:agricultural, restriction:motorcycle, restriction:bicycle, restriction:hazmat no_right_turn / no_left_turn / no_u_turn / no_straight_on / only_right_turn / only_left_turn / only_straight_on / no_entry / no_exit Restriction refers only to appropriate type of vehicle.
(you can use type=restriction:<type> + restriction= or type=restriction + restriction:<type>=[1])
except psv / bicycle / hgv / motorcar / emergency The restriction does not apply to these vehicle types (more than one: except=bicycle;psv)
day_on day of week for example, no right turn in the morning peak on weekdays might be day_on=Monday;day_off=Friday;hour_on=07:30;hour_off=09:30
day_off day of week
hour_on time of day
hour_off time of day

Members

Way or node Role Recurrence Discussion
Way from 1

1 or more

A way from which restriction starts (e.g., no right turn from here).[2] A no_entry restriction can have more than 1 from member, all others have exactly 1 from.
Way to 1

1 or more

The other end of the restriction.[2] A no_exit restriction can have more than 1 to member, all others have exactly 1 to.
Node
Way
via Node: One (1) node

Way: One (1) or more ways

The via member(s) connect the beginning and end ways representing the allowed or restricted maneuver. As shown to the left, a turn restriction can either have (i) one node or (ii) one or more ways with a via role.

The nodes or way between the end points across which you would travel if the turn weren't restricted - may just be the simple intersection of the two ways, or consider a dual carriageway where you can't turn across it, where via would be the nodes on each carriageway and/or the little way connecting the two carriageways[3].

Node location_hint 0 or 1 A hint to a renderer as to where might be a good place to position a symbol indicating the restriction. E.g., in a N/S/E/W cross roads where you can't turn from S to E, you might put a node just SE of the junction and the renderer might place a no right turn sign there.
Turn Restriction with a node as the via member.
Turn Restriction with multiple ways as a via member.

Road signs

The sign number in the US MUTCD is given in parentheses. There are slight differences of these roadsigns from country to country. Images of turn-signs all around the world can be found on Wikimedia Commons

Note: The symbols for restrictions displayed in editors are not authoritative; tagging must not rely on them. E.g., a no_right_turn in JOSM displays either symbol 2a (straight ahead and left) even if there is no left turn. The relation members and restriction value are the important part.

Sign Restriction Remark Sign Restriction Remark
1a France road sign B21d1.svg restriction=no_left_turn Germany, Italy, Japan, The Netherlands, Russia, Ukraine, Romania (restricts U-turn as well) 1b France road sign B2a.svg restriction=no_left_turn Australia, Brazil, France, Ireland, Poland, Russia, Spain, Switzerland, UK, Ukraine, US (R3-2; R3-18 combined with no U-turn)
2a France road sign B21d2.svg restriction=no_right_turn Germany, Italy, Japan, The Netherlands, Russia, Ukraine, Romania 2b France road sign B2b.svg restriction=no_right_turn Australia, Brazil, France, Ireland, Spain, Poland, Russia, Switzerland, UK, Ukraine, US (R3-1)
3a France road sign B21e.svg restriction=no_straight_on Germany, Israel, Japan, The Netherlands[4], Poland, Russia, Switzerland, Ukraine 3b MUTCD R3-27.svg restriction=no_straight_on Brazil, Ireland, US (UK and France never use such signs; you would usually be facing a no entry sign in such a situation, or if it's two-way ahead you might see adjacent left-turn-only and right-turn-only signs)
4a France road sign B2c.svg restriction=no_u_turn Brazil, France, Germany, Israel, Japan, The Netherlands, Poland, Spain, Switzerland, Russia, Ukraine, US (R3-4) 4b UK traffic sign 614.svg restriction=no_u_turn Australia, UK
5a France road sign B21c1.svg restriction=only_right_turn Typically on the approach to a junction.

In the US, a white rectangular sign is used for this situation and the case where one lane on a multi-lane road must turn (R3-5R).

Ukraine (just before a junction).

5b France road sign B21-1.svg restriction=only_right_turn Typically at the junction.

In the US, a white rectangular sign is used for this situation and the case where one lane on a multi-lane road must turn (R3-5R).

6a France road sign B21c2.svg restriction=only_left_turn[5] Typically on the approach to a junction.

In the US, a white rectangular sign is used for this situation and the case where one lane on a multi-lane road must turn (R3-5L).

Ukraine (just before a junction).

6b France road sign B21-2.svg restriction=only_left_turn Typically at the junction.

In the US, a white rectangular sign is used for this situation and the case where one lane on a multi-lane road must turn (R3-5L).

7 France road sign B21b.svg restriction=only_straight_on Used in Russia, in Ukraine and in the UK; usually seen just before a junction or on the approach to a junction.

In the US you'll see the text "NO TURNS" in a white square (R3-3; R3-5a is usually used only in the case where one lane on a multi-lane road must turn).

8 3.1 Russian road sign.svg restriction=no_entry Used for not one-way roads, where entering across some point (member node with role via) is prohibited. Relation can have several from members[2] and one to member.

In Ukraine is used for opposite-direction one-way road entries, and for roads that even residents are not allowed to drive.

9 3.1 Russian road sign.svg restriction=no_exit Used for not one-way roads, where exiting across some point (member node with role via) is prohibited. Relation can have one from member and several to members.[2]

Obviously, the above table can't be complete; e.g., swedish road signs use a yellow background instead of the white one. However, with the above signs it should be easy to find the corresponding restriction=xy value for most countries.

In Brazil all signs in this category (no_turn or only_turn) are red circular signs with an arrow pointing in the corresponding direction. only_turn signs do not have the diagonal bar, while no_turn signs do (similar to 1-3b, but also for 5-7).

Examples

There is a clear distinction between two types of turn restrictions. There is the mandatory restriction type and there is the prohibitory restriction type. Different ways will have to be selected for each of these restriction types.

Only turning right from a to b is allowed at N. So turning left is forbidden.

Mandatory restriction

This restriction type sets the way where one is only allowed to go to. Going to other ways from the via point is forbidden with this relation. The turn restriction relation is tagged with the following two tags:

type=restriction

restriction=only_right_turn

  • way a has role 'from'
  • way b has role 'to'
  • node N has role 'via'
Turning left from a to b is not allowed at N.

Prohibitory restriction

For the prohibitory restriction type the way where one is not allowed to go to is set. The restriction relation can be tagged with the following tags:

type=restriction

restriction=no_left_turn

  • way a has role 'from'
  • way b has role 'to'
  • node N has role 'via'

Turning to other directions is not forbidden with this restriction. If there are other restrictions at the crossing, these will have to be defined separately.

Users coming from way a via way b cannot exit through way c.

The via point of the turn restriction doesn't have to be a node, it can also be a via way. This is the case for the example on the right. This turn restriction is set with the following tags:

type=restriction

restriction=no_right_turn

  • way a has role 'from'
  • way b has role 'via'
  • way c has role 'to'

Editors

To create a turn restriction different editors can be used:

Errors

Missing turn restrictions or errors in turn restrictions can be reported by different error reporting tools. To check if turn restrictions are properly applied, a routing test can be performed using different routing engines such as OSRM.

Tools

  • http://map.comlu.com/ A map which shows turn restriction icons (optionally: warnings and errors) with popup info and highlights the concerned ways on click
  • OSM Restriction Analyser Shows route restrictions as an overlay of sign-post icons. zoomed example (Be patient, XAPI is often overloaded)
  • Relation Check A tool to generate a graphical display of relations, including restrictions, from a local .osm file

See also

References

  1. 1.0 1.1 The restriction:hgv=only_straight_on style matches the approved Conditional restrictions syntax. But because of an unresolved bug in some widely used software, it can lead to incorrect routing - restriction:hgv=only_straight_on is treated as if the relation was tagged restriction=no_*. As a result, some mappers use type=restriction:hgv + restriction=only_straight_on as a workaround.
  2. 2.0 2.1 2.2 2.3 The "from" and "to" members must start/end at the "via" node or the "via" way(s), otherwise split it!
  3. Notice: Processing of turn restrictions which contain one or more 'ways' in the via role is more complicated than if a single 'node' is used for the via role. As a result some routing software works only with turn restrictions that contain nodes in the via role. This should be fixed by the software, however if you have a straight choice whilst tagging the restriction, please consider using just a single node within the via role.
  4. RVV 1990, sign D7
  5. If tag restriction=only_left_turn wrongly prohibits u-turn in such crossing, where u-turn is allowed, we should use relations restriction=no_straight_on and restriction=no_right_turn instead.