Key:restriction
restriction |
Description |
---|
Type of a turn restriction at a junction or specification of parking restrictions |
Group: restrictions |
Used on these elements |
Status: de facto |
Tools for this tag |
|
The restriction=* key is used...
- in turn restriction relations to specify the type of turn restriction,
- or to specify parking restrictions.
Tagging turn restrictions
Key | Value | Explanation | ||
---|---|---|---|---|
restriction | no_right_turn / no_left_turn / no_u_turn / no_straight_on | Prohibitory restriction: a valid route may not proceed along the restriction relation's geometry. | ||
only_right_turn / only_left_turn / only_u_turn / only_straight_on | Mandatory restriction: a valid route must proceed along the restriction relation's geometry. | |||
no_entry, no_exit | Other restrictions: entering or exiting a road from one side is forbidden but said road isn't oneway | |||
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_u_turn / only_straight_on / no_entry / no_exit | Restriction refers only to the given type of vehicle. | ||
restriction:bicycle | stop / give_way | Used where bicycles may pass a red light at traffic signals | ||
restriction[:<transportation mode>]:conditional | <restriction-value> @ <condition>[;<restriction-value> @ <condition> ...] | Restriction that only exists under certain conditions, such as time. The restriction value is one of the ones listed above, e.g. no_right_turn. Multiple values (along with their condition) can be separated by semicolons. See conditional restrictions for details. | ||
| ||||
type | restriction:hgv / restriction:caravan / restriction:motorcar / restriction:bus / restriction:agricultural / restriction:bicycle / restriction:hazmat | Restriction refers only to appropriate type of vehicles, replaces the type=restriction tag. This is/was used in conjunction with restriction=* instead of using type=restriction + restriction:*=*.[1] In November 2020 this was used 86 times, while type=restriction + restriction:*=* was used 11500 times. |
Tagging parking restrictions
The key restriction=* can be used to specify parking restrictions, especially when mapping street parking. It indicates whether there are parking prohibitions (no parking, no waiting or no stopping rules) or other rather action-based restrictions (load and unload, charging electric vehicles).
If the parking spaces along the road are mapped as attributes of the street, use this key with the street parking prefix (e.g. parking:right:restriction=* or parking:both:restriction=*). If the parking spaces are mapped separately (tagged with amenity=parking), just use restriction=* without prefix. Use one of the values described below.
No parking, no stopping, no standing
No parking and no stopping are restrictions that are commonly used worldwide with similar traffic signs. Where parking is not allowed, stopping is still possible (e.g. to drop off or pick up someone or something). In contrast, with a no stopping restriction, a vehicle is not allowed to stop at all (unless due to traffic conditions or an emergency). In a few countries (USA, parts of Canada, Philippines), there is also a no standing restriction (also called no waiting in some places, but don't mix it up with the meaning of "no waiting" in the UK, which is used synonymously with "no parking"). The exact meaning of these categories may vary from country to country and should always be used according to local regulations and signage.
- Use restriction=no_parking, if there is no parking at any time (same for no_stopping and no_standing).
This usually only applies on parking lanes mapped on the highway line with parking:side: prefix. It is recommended to add parking:side=no in this case to explicitly indicate the absence of a parking lane in the physical sense. - Use restriction:conditional=no_parking @ ..., if parking is not allowed at certain times/under certain conditions (same for no_stopping and no_standing).
Following the established usage of conditional tagging, we can add multiple conditions like restriction:conditional=no_parking @ ...; no_stopping @ ....
Tagging | Sign examples | |||
---|---|---|---|---|
restriction=no_parking Parking is not allowed. However, you may stop or stand here. |
||||
restriction=no_standing Standing is not allowed. Implies, that parking is also not allowed. However, you may stop here. |
||||
restriction=no_stopping Stopping is not allowed. Implies, that parking and standing are also not allowed. |
none can be used as a value to override restrictions if they are indicated as default but are not valid under certain conditions, e.g.
- restriction=no_parking + restriction:conditional=none @ (Mo-Fr 10:00-18:00), if parking is allowed during daytime in a no parking zone, or
- restriction=no_stopping + restriction:bus=none, if buses are excepted from a no stopping restriction.
See the example section below on how to use this in other typical situations, in combination with conditional restrictions or transport mode restrictions.
Loading zones and other action-based parking
There are parking facilities with similar action-based, mostly short-term restrictions. This includes designated loading zones or parking spaces for charging electric vehicles. They are also mapped by using the restriction tagging.
Tagging | Sign examples | ||
---|---|---|---|
restriction=loading_only Implies, that parking is no allowed, but stopping is allowed as long as loading/unloading is in progress (or a signposted time limit has expired). |
|||
restriction=charging_only Implies, that stopping, standing or parking is allowed as long as charging is in progress (or a signposted time limit has expired). |
In case there is a time limit for this dedicated parking facilities, add maxstay=*.
Examples
Note that all tagging examples are also applicable on parking lanes mapped as properties of the highway line - add the parking:side: prefix in this case.
Sign | Tagging |
---|---|
restriction=no_stopping (No stopping any time. Usually only applies on parking lanes mapped on the highway line with parking:side: prefix. | |
restriction:conditional=no_parking @ (Mo-Fr 16:00-18:00) (No parking only Mo-Fr from 16 to 18.) | |
restriction=no_parking (By default, there is no parking.) | |
restriction:conditional=no_stopping @ (Mo-Fr 08:00-17:00, Sa 08:00-14:00, Su 08:00-13:00) (Stopping is prohibited at certain hours.) | |
restriction:hgv=no_parking (Parking is prohibited for lorries and trucks - explicitly means, Stopping is still allowed for them.) | |
restriction:conditional=no_stopping @ (Mo-Fr 06:00-10:00) (Vehicles are not allowed to stop between 06:00 and 10:00 from Monday to Friday.) | |
restriction:conditional=loading_only @ (Mo-Sa 07:00-18:00) (Designated loading zone from 07:00 to 18:00, except Sunday.) | |
restriction=charging_only (Parking only allowed for vehicles during charging.) | |
In general, its sufficient to specify vehicle specific parking rules with just using access tags:
However, if you want to record the signposted no stopping condition explicitly, add:
|
See also
- Relation:restriction - Restriction relation
- Street Parking - Mapping of street parking
References
- ↑ Because of an unresolved bug in the software Osm2mp, the restriction:hgv=only_straight_on style 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.