Tag:restriction=no_exit
![]() |
| Description |
|---|
| Forbids the exit from a two-way street |
| Group: restrictions |
| Used on these elements |
| Requires |
| Useful combination |
|
| See also |
| Status: in use |
| Tools for this tag |
|
Denotes whether one is able to exit 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 exiting it to one side is forbidden).
Rationale
A "no exit" sign is a rare sign. Functionally, it works like a "one-way" sign at the intersection only i.e. vehicles can enter a street from an intersection but not leave it through the same intersection. Unlike real one-way signs, though, vehicles are still able to turn around in the street and usually also enter it from the other side (when not also sign with a "no entry" sign). Depending on the country, they may look like a "no entry" sign (see page image for the Vienna Convention standard).
restriction= is an easy and straightforward way to set up no-entry restrictions on OSM without resorting to various hacks (see #Alternatives below). In some cases, the "no exit" sign is pointing
Usage
Create a turn relation and select the
way you can't exit the road from with , the
from
ways you can't enter with and the
to
node at the intersection with . Unlike most other turn restriction,
viarestriction=no_entry can take multiple members. It still is limited to only one
to member, though.
from
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= 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
with the correct behaviour - OSRM v6.0.0-rc.1 introduced support for multiple
and
tomembers. [1]
from
Editors:
- iD:
- JOSM:
- Unable to select
restriction=no_entryandrestriction=in turn restriction template, requiring the user to manually enter it[1] - Throws (false positive) errors at multiple
members even though the documentation mentions that this is legal for
tono_entry.[2][3] - Doesn't display a "no entry" sign when it does for other turn restrictions.
- Unable to select
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
into multiple turn restrictions with the appropriaterestrictiontype, each with only onemember.
to - Keep in mind that this is unwieldy to set up with amount of turn restrictions (easier prone to errors).
Using oneway=*:
- Split a small portion of the road (around one metre or up to the next footway crossing) and tag it as
oneway=yesand whichever exceptions apply. The intend is to minimise routing errors (in that the router forbids you to go backwards even though you legally can) for reasonable users as many as possible (this can be seen as a variation for tagging for the router).
Using vehicle + *:forward=*/*:backward=* tags:
- Same limitation as
oneway=*with no rendering support.
See also
restriction=no_entry- for the opposite scenario i.e. a road one can exit but not enter at that intersection.oneway=*- Linear features that users can only go one direction in. Used in highways, zip lines, and other features
