Bus lanes

From OpenStreetMap Wiki
Jump to navigation Jump to search

Bus lane tagging schemes in use in OSM

There are three schemas in common use in OpenStreetMap for representing  bus lanes on normal roads: the busway=* scheme, the lanes:psv=* scheme and the bus:lanes=* schema.

For dedicated, separate bus tracks, use highway=busway.

The busway=* scheme

Main article: busway=*

This scheme indicates the presence of at least one bus lane on one or more sides of the road. The "opposite" term indicates a contra-flow lane, i.e. one where the direction of bus traffic is opposite to the direction of other traffic. The side of the road can be indicated with :left and :right suffixes.

The lanes:psv=* scheme

Main article: lanes:psv=*

This scheme provides a count of the lanes reserved for public service vehicles (which include buses). It can specify the bus lane's direction relative to the direction in which the way is drawn.

This scheme can denote taxi-specific lanes too: its lanes: prefix forms

The bus:lanes=* scheme

Main article: Lanes, see also Lane dependent restrictions and *:lanes=*

This schema provides keys per lane including access restrictions, so you can identify exactly which lane is the bus lane.

Distribution overview

The busway=* scheme Lane count information (e.g. lanes:psv=1) Access information per lane (e.g. psv:lanes=yes|designated)
Tag Number of uses Tag Number of uses Tag Number of uses
busway=lane, opposite_lane, ... lanes:psv=<count>
psv:lanes=<list>
busway:left=lane, opposite_lane, ... lanes:psv:forward=<count> psv:lanes:forward=<list>
busway:right=lane, opposite_lane, ... lanes:psv:backward=<count> psv:lanes:backward=<list>


lanes:bus=<count> bus:lanes=<list>


lanes:bus:forward=<count> bus:lanes:forward=<list>
lanes:bus:backward=<count> bus:lanes:backward=<list>

Examples

Photo "busway=*" scheme "lanes:psv=*" scheme "bus:lanes=*" scheme
Oneway with exclusive bus lane
Buslane.jpg
highway=*
oneway=yes
lanes=3
busway=lane
highway=*
oneway=yes
lanes=3
lanes:bus=1
highway=*
oneway=yes
lanes=3
access:lanes=yes|yes|no
bus:lanes=yes|yes|designated
Oneway with designated bus lane and taxi plus bicycle allowed
Busspur und Haltestelle in Mannheim 100 9128.jpg
highway=*
oneway=yes
lanes=3
busway=lane
cycleway=share_busway
highway=*
oneway=yes
lanes=3
lanes:psv=1
cycleway=share_busway
highway=*
oneway=yes
lanes=3
access:lanes=yes|yes|no
bus:lanes=yes|yes|designated
bicycle:lanes=yes|yes|yes
taxi:lanes=yes|yes|yes
cycleway=share_busway
Oneway with conditionally designated bus lane and several other transport modes allowed
Buslane 2.jpg
highway=secondary
oneway=yes
lanes=3
busway:conditional=lane @ (Mo-Fr 14:00-18:00)
cycleway:conditional=share_busway @ (Mo-Fr 14:00-18:00)
highway=secondary
oneway=yes
lanes=3
lanes:psv:conditional=1 @ (Mo-Fr 14:00-18:00)
cycleway:conditional=share_busway @ (Mo-Fr 14:00-18:00)
highway=secondary
oneway=yes
lanes=3
access:lanes:conditional=(yes|yes|no) @ (Mo-Fr 14:00-18:00)
bus:lanes:conditional=(yes|yes|designated) @ (Mo-Fr 14:00-18:00)
bicycle:lanes:conditional=(yes|yes|yes) @ (Mo-Fr 14:00-18:00)
taxi:lanes:conditional=(yes|yes|yes) @ (Mo-Fr 14:00-18:00)
cycleway:conditional=share_busway @ (Mo-Fr 14:00-18:00)
Dualway with conditionally designated bus lane and several other transport modes allowed
Buslane 1.jpg
into town Monday to Friday 6 - 9 clock
out of town Mon through Fri from 14 to 18 clock
highway=secondary
lanes=4
lanes:forward=2
lanes:backward=2
busway:right:conditional=lane @ (Mo-Fr 06:00-09:00)
busway:left:conditional=lane @ (Mo-Fr 14:00-18:00)
cycleway:right:conditional=share_busway @ (Mo-Fr 06:00-09:00)
cycleway:left:conditional=share_busway @ (Mo-Fr 14:00-18:00)
highway=secondary
lanes=4
lanes:forward=2
lanes:backward=2
lanes:psv:forward:conditional=1 @ (Mo-Fr 06:00-09:00)
lanes:psv:backward:conditional=1 @ (Mo-Fr 14:00-18:00)
cycleway:right:conditional=share_busway @ (Mo-Fr 06:00-09:00)
cycleway:left:conditional=share_busway @ (Mo-Fr 14:00-18:00)
highway=secondary
lanes=4
lanes:forward=2
lanes:backward=2
access:lanes:forward:conditional=(yes|no) @ (Mo-Fr 06:00-09:00)
access:lanes:backward:conditional=(yes|no) @ (Mo-Fr 14:00-18:00)
bus:lanes:forward:conditional=(yes|designated) @ (Mo-Fr 06:00-09:00)
bus:lanes:backward:conditional=(yes|designated) @ (Mo-Fr 14:00-18:00)
bicycle:lanes:forward=yes|yes
bicycle:lanes:backward=yes|yes
taxi:lanes:forward=yes|yes
taxi:lanes:backward=yes|yes
emergency:lanes:forward=yes|yes
emergency:lanes:backward=yes|yes
cycleway:right:conditional=share_busway @ (Mo-Fr 06:00-09:00)
cycleway:left:conditional=share_busway @ (Mo-Fr 14:00-18:00)
Bus lane access restrictions.jpg
is this only a bus_bay=*?
highway=primary
busway:left=*
cycleway:left=share_busway
lanes tagging tbd

Which scheme to use?

The purposes of these schemes are similar, and with the exception of directly capturing information about the contraflow nature of a lane, the lanes:psv scheme logically implies the entirety of the busway scheme. The directional details of these schemes are literally orthogonal. Both schemes can be used together, but for maintanability it's probably best to pick one and stick with it.

  • The busway scheme is simpler, and older. It says nothing about usage of the lane by taxis or other classes of Public Service Vehicle.
  • The lanes:psv scheme is broader in scope, including taxis and other classes of Public Service Vehicle if used as given. It can be limited to just buses by using an alternative tag key, lanes:bus. It does not directly capture the detail that a bus lane is contraflow, but that can be inferred from the simultaneous presence of a oneway=* tag on the way.
  • More recently written pages which are kept up to date, such as lanes=*, favour the lanes:psv scheme.
  • lanes:psv=* is simplier than psv:lanes=* but is not specifying which lanes are bus lanes. And not always it is the lane on outer side of the road.

Cycle lanes

When a bus lane is shared with a cycleway=*, this is denoted with specific values in the cycleway scheme: cycleway=share_busway and cycleway=opposite_share_busway. Opposite carries the meaning that cycle traffic is contraflow, and with [...]_share_busway it implies that the buses also travel in the opposite direction to the bulk of traffic.

Services

See also

  • Buses - the original "buses" topic, from where some of this information was moved.
  • Lanes - the new :lanes suffix, for capturing even more lane-specific information.
  • bus_bay=* - for a (short) lane dedicated to picking up and/or dropping off passengers, compatible with the busway=* scheme but not the lanes:psv=* scheme.