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=no_exit
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, via
restriction=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=no_exit
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_exit
with the correct behaviour - OSRM v6.0.0-rc.1 introduced support for multiple
andto
members. [1]from
Editors:
- iD:
- JOSM:
- Unable to select
restriction=no_entry
andrestriction=no_exit
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 forto
no_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
no_exit
into multiple turn restrictions with the appropriaterestriction
type, each with only one
member.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=yes
and 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