Key:oneway

From OpenStreetMap Wiki
Jump to navigation Jump to search
Public-images-osm logo.svg oneway
One way sign.JPG
Description
Linear features that users can only go one direction in. Used in highways, zip lines, and other features. Show/edit corresponding data item.
Group: restrictions
Used on these elements
should not be used on nodesmay be used on waysshould not be used on areasmay be used on relations
Documented values: 4
Useful combination
Status: de facto
Example of one-way sign, as included in Vienna Convention on Road Signs and Signals (E, 3a; "indicate a road or carriageway which is one-way"). Used on oneway roads from the accessible side.

The oneway tag is used to indicate the access restriction on highways and other linear features for vehicles as appropriate. This means that this tag should be used when this way can only be used in one direction by vehicles. Note that a no entry sign prohibiting entry from one side or across one point of the road, does not automatically imply that the entire road is oneway (look for oneway signs or road markings).

Take a look on the access=* page to add more detailed restrictions.

How to map

Normal use

To mark a highway (or other linear feature) as oneway, simply add a oneway tag:

Note that the oneway tag is defined in relation to the direction the linear feature ("way") is drawn in OpenStreetMap. Identifying the direction of a way describes how to determine the direction of a way in the main OpenStreetMap editors.

If the oneway restriction is in the opposite direction to the drawn way, the fix in most cases is to turn the way around ("reverse way" tool in the map editors) and apply oneway=yes. If in a (very) rare case, the direction of the way cannot be changed, you can instead tag it as oneway=-1.

If the road is only a oneway road in certain parts, you'll have to split up the way in several parts.

Implied oneway restriction

Some tags or tag combinations (such as junction=roundabout, highway=motorway and maybe others) imply oneway=yes by definition (separate carriageways for the two directions of traffic are part of the defining characteristics for motorways in the Vienna Convention on Road Traffic) and therefore the oneway tag is optional. If a tag implies a oneway value this may be noted on the implying tags wiki pages, but read implied on such pages with caution, since not all mentioned implied values are implied by definition. Besides the mentioned tags there is no general agreement which tags imply oneway=yes, different applications may handle this differently, so it is generally recommendable to be explicit whether there is a oneway restriction.

oneway = no

oneway=no is used to confirm that (a part of) a street is not a oneway street. (Use only in order to avoid mapping errors in areas where e.g. oneway streets are common, or to override defaults.)

False one-way streets (Faux oneway)

Example of no entry sign, as included in Vienna Convention on Road Signs and Signals (C, 1a; "entry is prohibited for all vehicles"). Typically used on one-way roads from inaccessible side but can also be used on two-way roads to prohibit access from one side.

One-way streets are typically combined with a "no entry" sign on the other side to mark drivers that access there is forbidden. However, the latter can also be used without an actual one-way sign which merely prohibits entry from one side but allows vehicles to turn around. Such streets are sometimes called "false one-way streets" and shouldn't be mapped with oneway=yes. However, you can use oneway=no to tell other mappers that this is indeed not a oneway street.

In order to map the entry prohibition, one can pick one of the three methods:

  • Using a no_entry restriction where the no entry sign is located. This is the cleanest method but also is the least supported out of the methods (see tag page for more information). The tag of the relation is then e.g. restriction=no_entry, and exeptions can be mapped using except=* (e.g. for bicycles, buses, etc.)
  • Use multiple turn restrictions but is more complex and thus is more prone to errors (e.g. forgetting except=bicycle on one of the restrictions).
  • Split a small section (about 1 metre) at the entrance to the street and tag it with oneway=yes. (Prefered by some, but perhaps less accurate since it is not a true oneway street).

Subkeys and exceptions

Oneway can be used in conjunction with vehicle type in order to tag exceptions e.g. oneway:moped=no for a one-way streets where mopeds are allowed to drive in the opposite direction, oneway:bicycle=no for the same for bicycles. Use cycleway:left=* / cycleway:right=* / cycleway:both=* to detail bicycle infrastructure. See Key:access for other possible sub-values.

Oneway can also be used as a suffix on certain properties such as cycleway:oneway=* if the one-way regulation only applies on the applied infrastructure (or doesn't). Keep in mind that for cycleways (and bus lanes by extension), the default is cycleway:oneway=yes in the flow of traffic (e.g. cycleway:right=* in right hand traffic) and cycleway:oneway=-1 against the flow of traffic (e.g. cycleway:left=* in right hand traffic). This tagging is thus only used to on ambiguous cases and exceptions such as bidirectional cycle tracks (if they aren't drawn as separate ways) and contraflow lanes.

Oneway and pedestrians

There is some ambiguity related to the oneway key and pedestrian access (and routing). There is a clear consensus in the OSM community that when the tag oneway is used on a street, e.g. highway=unclassified , highway=residential or highway=pedestrian, it only applies to vehicles. However, the tag oneway=yes has also been used in some situations where the mapper who put the tag clearly meant pedestrians, such as highway=steps and highway=via_ferrata. This makes the use of the tag on highway=footway and highway=path somewhat awkward and the data hard to interpret (for more information, see below under “Data consumers”). There is ongoing discussion in the community about the best way forward [1]. Tags such as oneway:foot=yes, foot:backward=no, and oneway:bicycle=yes do not suffer from the same ambiguity.

Time conditional restrictions

If a road is one-way at certain times of day, and one-way in the other direction at other times then it can be tagged with oneway=reversible along with applicable oneway conditional restrictions. If the direction changes often, oneway=alternating might be more appropriate.

On waterways

Example of mandatory oneway traffic on a waterway (which itself has no direction of waterflow)

Legal oneway restrictions for a mandatory direction of travel for boats on waterways can be mapped with oneway= as well, for instance when signposted with a seamark or when this is part of legislation. The direction of flow of water is normally defined by the direction of the osm way. For special cases in areas with bi-directional water flow please consider different tags from oneway=, since oneway= describes the legal direction of travel, not the physical direction of flow.

flow_direction=both was used on natural waterways and pipelines to tag that flow can happen in both directions.

Data consumers

List of values

  • oneway=yes (discouraged alternatives: "true", "1")
  • oneway=no (discouraged alternatives: "false", "0")
  • oneway=-1 (discouraged alternative: "reverse")
  • oneway=reversible - Roads that alternate between different directions regularly but infrequently. This tag could be used with additional conditional restrictions as explained on its page
  • oneway=alternating - Roads that alternate between different directions regularly and often

The semantics of any other value is undefined and the use of other values is discouraged.

Note: The value -1 is only needed when the direction of oneway travel is in the opposite direction of that used when the way was drawn. One can avoid this situation by reversing the direction of the drawn way before applying the oneway tag.

Interpretation for routing

Orla Perć, oneway hiking route - tagged as highway=path + oneway=yes + oneway:foot=yes + foot=yes + bicycle=no + ski=no + snowmobile=no
Mandatory oneway direction for pedestrians as a social distancing measure. A prohibitory sign was placed at one end, while at the other end of the path no prohibitory sign was placed.

On a street, such as highway=unclassified, highway=residential or highway=pedestrian, oneway=* can safely be interpreted as applying only to vehicles. It should not affect pedestrian routing, and is effectively a synonym for vehicle:backward=no.

On highway=steps and highway=via_ferrata, the tag oneway=* can safely be interpreted as applying to pedestrians.

On highway=footway and highway=path, the oneway tag can be harder to interpret: did the mapper mean pedestrians or only vehicles (e.g. bicycles)? Answering this question is often possible for a human by looking at the context (e.g. on a shared sidewalk where bicycles are allowed, the mapper probably meant for oneway to apply only to bicycles; on a narrow path in the mountains, they probably meant hikers). However, for a data consumer (e.g. a routing algorithm) it is hard to take such context into account.

The more precise tags e.g. oneway:foot=*, foot:backward=* and oneway:bicycle=* are unambiguous.

Country-specific implications

The following table lists country-specific information needed for correct interpretation of oneway tags.

Country Country-specific implications of oneway tags
Netherlands Oneway restrictions apply not just to vehicles, but to "voertuigen, ruiters en geleiders van rij- of trekdieren of vee".[2] In OSM context, this e.g. means oneway=yes implies not just vehicle:backward=no but also horse:backward=no (unless oneway:horse=no).
United Kingdom Oneway restrictions also apply to horse riders.[3] In OSM context, this e.g. means oneway=yes implies not just vehicle:backward=no but also horse:backward=no (unless oneway:horse=no).

Possible tagging mistakes

Do not use access-tags to specify exceptions to oneway-tags. Exceptions to oneway-tags must also be specified with oneway-tags. For example:

Deprecated values

See also

References