From OpenStreetMap Wiki
Jump to navigation Jump to search
Public-images-osm logo.svg route = bus
New Routemaster Route 148 to Camberwell.jpg
The route of a public bus service. Show/edit corresponding data item.
Group: routes
Used on these elements
should not be used on nodesshould not be used on waysshould not be used on areasmay be used on relations
Useful combination
Status: de facto
Main article: Buses

This tag is used on relations which map the route of a bus service. For a complete guide on adding a bus routes to OpenStreetMap, see the wiki page Buses.

There are subtle differences between two conventions of mapping bus route:

  • In PTv2, use one relation for each direction, so you generally need 2 relations for a bus line. Don't forget to add these relations to a route_master relation.
  • In the traditional PTv1, each direction can be mapped using 2 separate relations (sharing the same ref=* value); or alternatively, using a single relation.

Other differences will be explained down below in relevant parts.


Key Value Comment
type route (mandatory)
route bus (mandatory)
ref reference The reference by which the route is known. e.g. 4, 4A, X13, etc. (recommended)

individual name

For PTv2 please use: <vehicle type> <reference number>: <initial stop> => <terminal stop>

The name of the route or line.
operator operator Name of the company that operates the route.
from name Start station
to name Destination station
public_transport:version 1 / 2 Used to distinguish between different public transport relation schemes
network local or regional network Name of the network; Can be an abbr. e.g., BVG, RMV.
colour ex: red / #FFEEDD The "official" colour for the bus route. Identifiers in some cities.
via name Important via station if any
opening_hours service hours The service hours of the bus route
duration duration The running time of the bus route as stated in official documents Use HH:MM:SS, H:MM:SS, HH:MM, H:MM, MM, or M format. Example: 00:32, 00:32:00, or 32 for 32 minutes.(optional)
wheelchair yes / no / limited Indicates if the buses on the route are low-floor buses for wheelchairs. (optional)
bicycle yes / no / permissive Indicates if bicycles are permitted on the bus. 'yes' if they are, which could be indicated by racks on the front of the bus. 'permissive' if they could be brought on to the bus, but no amenities for cyclists exist. 'no' if bicycles are banned from the bus.
interval service interval The time between arrivals at any given stop along the route. Use HH:MM:SS, H:MM:SS, HH:MM, H:MM, MM, or M format. Example: 00:32:30 for a route that has buses arriving every 32.5 minutes.(optional)
roundtrip yes/no Whether the bus route is circular (the first and last stop are the same).(optional)
by_night yes / no / only Indicates if the service runs during day and/or nighttime. (optional)


Way/node Role Recurrence? Discussion
way <empty>/route/forward/backward Zero or more The ways making up the route, in order and connected. When mapping with PTv2, the empty role should be used.

However, when following the traditional and less-explicit PTv1, each role could be one of the following:

  • <empty> or route means the route follows this way in both direction.
  • forward means the route follows this way only in the direction of the way.
  • backward means the route runs only against the direction of the way.
way hail_and_ride Zero or more Used on road segments in a public transport route relation where you can stop a vehicle at any point to get on or off. Common in Asian countries.
node stop/stop_exit_only/stop_entry_only Zero or more[1] The stop position of the bus on the route road (public_transport=stop_position). The order of the members in the relation should be identical to the order in the timetable, and added in order at the beginning of the relation.
node way area platform/platform_exit_only/platform_entry_only Zero or more[1] The signpost or platform at a bus stop (public_transport=platform + highway=bus_stop/highway=platform). The order of the members in the relation should be identical to the order of the stops in the timetable, and added in order at the beginning of the relation.
  1. 1.0 1.1 Member objects of type platform or of type stop may themselves be members of a public_transport=stop_area relation.

Order of members

For relations which are tagged as PTv2 scheme there is a strict defined order for the involved relation members, see Route Direction / Variant:

  • Each direction/variant relation contains all available stop_positions, platforms and ways.
  • Each stop is included with two elements (if available): first the stop_position tagged with role stop and immediately followed by the corresponding platform tagged with role platform. The stops (stop_positions and platforms) should be inserted beginning with the initial stop_position/platform and ending with the terminal stop_position/platform.
  • After all the stops all the used ways should be inserted into the relation with an empty role. The ways should be inserted beginning with the way at the initial stop position and ending with the way at the terminal stop position.

Sorting and robustness of member order - editor support

  • For the iD editor there is no automatic member order function, manual sorting of members is tending to impractical for relations with a higher member count.
  • For the iD editor there is an open task to keeping a meaningful order of members after splitting ways for relation with loops, see openstreetmap/iD/issues/4876.

Possible tagging mistakes

See also

  • Relatify - a dedicated bus route editor.
  • route=train - The route of a train service (e.g. London-Paris Eurostar). Not to be confused with a named stretch of railroad track (see route=railway).
  • route=tram - The route of a tram service.
  • route_ref=* - The mark on a bus stop to reference the routes (as signed)