Tag:restriction=no_entry

From OpenStreetMap Wiki
Jump to navigation Jump to search
Public-images-osm logo.svg restriction = no_entry
UK traffic sign 616.svg
Description
Forbids the entry into a two-way street
Group: Restrictions
Used on these elements
should not be used on nodesshould not be used on waysshould not be used on areasmay be used on relations
Requires
Useful combination
See also
Status: in use

Denotes whether one is able to enter a road from one side or not without the road being an actual one-way road (i.e. one can turn around in the street, only entering it from one side is forbidden).

Rationale

Though the "No entry" sign is usually combined with one-way roads, it doesn't directly sets up a one-way road in many countries and merely tells vehicular traffic that they can't enter the road from that side (they're informally called "false one-way streets" or "faux one-ways" for that reason).[1] restriction=no_entry is an easy and straightforward way to set up no-entry restrictions on OSM without resorting to various hacks (see #Alternatives below).

Usage

Create a turn relation and select the way ways you can't enter the road from with Role from, the way way you can't enter with Role to and the node node at the intersection with Role via. Unlike most other turn restriction, restriction=no_entry can take multiple Role from members. It still is limited to only one Role to member, though.

If the no entry doesn't apply to every mode of traffic, add it to except=* (e.g. except=bicycle). If this restriction applies to only certain traffic modes, add a suffix of the vehicular mode to restriction=* (e.g. restriction:hgv=* for heavy goods vehicles).

Optionally, add a traffic_sign=* to the relation.

Support

Support for restriction=no_entry isn't universal and there are varying states of support between each tool:

Routers:

  • All three routing engines on OSM (Grasshopper, OSRM, Valhalla) can evaluate no_entry with the correct behaviour

Editors:

  • iD:
    • Doesn't provide a no_entry template (being treated as "other restriction" and requires the user to enter it manually)
    • Can't set a no_entry in the in-editor turn restriction support
    • Can read a no_entry in the in-editor turn restriction support.
  • JOSM:
    • Doesn't display a "no entry" sign when it does for other turn restrictions.

Alternatives

Because of limited support compared to restriction=no_left_turn, only_right_turn, etc., overlap in usage and general disputes, there are alternatives to restriction=no_entry:

Using multiple turn restrictions:

  • Split a no_entry into multiple turn restrictions with the appropriate restriction type, each with only one Role from member.
  • Keep in mind that this is unweildy to set up with amount of turn restrictions (easier prone to errors).

Using oneway=*:

  • For any non-one-way road (de jure and de facto): Split a small portion of the road (around one metre or up to the next footway crossing) and tag it as oneway=yes and whichever exceptions apply. The intend is to minimise routing errors (in that the router forbids you to go backwards even though you can) for reasonable users as many as possible (indeed, this can be seen as a variation for tagging for the router).
  • oneway=yes might be more accurate for a de jure non-one-way road (missing out the one-way sign) if the drivers have to turn into a single direction on side roads anyway (de facto oneway road). This can be seen as tagging for the renderer since only roads with oneway=yes are rendered with arrows.

Using vehicle + *:forward=*/*:backward=* tags:

  • Same limitation as oneway=* with no rendering support.
  • Might be more useful if a street cannot be entered from both sides except for certain vehicles (such as buses - think of a short  Transit Mall).

See also

References