Oxford/Bus Mapping

From OpenStreetMap Wiki
< Oxford(Redirected from Oxford/Bus Route Mapping)
Jump to navigation Jump to search

On the map: local public transport routes in Oxford.

As of late 2023, we are converting old bus routes and stops using the original public transport schema to the newer PTv2 schema for bus routes.

A workflow I find useful:
  1. Find non-PTv2 bus routes around Oxford with an Overpass Turbo query,
  2. Examine good and bad PTv2 routes around Oxford using Geofabrik OSM Inspector,
  3. Edit/extend PTv2 routes quickly in Relatify (have to use JOSM to start them off for now, though)
--achadwick (talk) 21:10, 4 September 2024 (UTC)

Mapping bus stops

A fairly typical bus stop on a city street
Bus stop St Aldates, with local_ref=G1

Bus stops are still somewhat incomplete, but they are one of the easiest bits of data to gather. Please do add them to the map if you notice any missing, and help fill in the details with StreetComplete if you have it on your phone. A lot of them were filled in by the NaPTAN import, and are easy to maintain. Here are a few local specifics:

  • Please use the name exactly as written on the bus stop. If the names are different on each side of the road, then record them as written but consider using a public_transport=stop_area relation to tie the related stops together.
  • If there's a purple Mobile OxonTime sign on the pole, the code on that is a NaptanCode that is designed to be used over SMS for real-time information about departures: see NaPTAN/Tag mappings. Note that the signs use either numeric form (e.g. "69327549") or an uppercase version of the value in the NaPTAN database itself (e.g. "OXFAMJGW"). The UK telephone keypad layout can be used to map between them. The quickest and most portable way to record the information from one of these is on the stop's ref=* tag, but you can fill in the naptan:NaptanCode=* with the lowercase text value if known, or when you can figure it out (see the table below).
  • If there's a green or blue disc on top of the pole with a short reference code like "E2" or "HS4", then the stop is part of a local group of stops. Other public data sources often refer to individual stops using this code and the stop name.
    • Don't put this reference number in the name unless that's really how it's written on the sign.
    • Use the local_ref=* tag to record the reference number on the disc. The main site's Transport layer will use these to make stop areas more informative.
  • We intend to use relations to record the routes fully, but the old route_ref=* tag can still be used for informative purposes. Beware! They don't always keep the little stickers up to date, and many correct ones can quite faded.
  • Many bus stops have a digital display of buses that are due next. Use passenger_information_display=yes on the bus stop node to record this.
Example Record this with Notes
The main sign of a typical Oxford bus stop
Create a node tagged as
highway=bus_stop
public_transport=platform
name=Rupert Road
route_ref=10;U10
Small plate showing the numeric "Oxontime" codes
Add the following tags to the bus stop node:
ref=69328925
naptan:NaptanCode=oxfatwaj

The NaPTAN details are optional if you're just gathering the details quickly.

1:(space) 2:ABC 3:DEF
4:GHI 5:JKL 6:MNO
7:PQRS 8:TUV 9:WXYZ

To map to the textual form from the numeric one, only the first letter is used.

Bus Routes

It is reasonable to use public sources under the Open Government License such as bustimes.org to check for the existence of a live bus route, and to browse the OGL NaPTAN data. For Oxford, start browsing at https://bustimes.org/localities/oxford-oxon. However note that timetable or live departure information may not be covered by OGL: always check against the data sources first (TODO: let's try to give a definitive statement). There is also generally no substitute for getting out and verifying the general movements of buses in the real world.

Please record new bus routes using the newer PTv2 schema for buses, and convert old relations into pairs (most typically) of new route=bus relations inside a route_master=bus relation for all the routes with the same ID. This requires three levels of attention:

  1. Gather bus stop information and put it on the map, as above.
  2. Gather stops and road Ways in order, into a route Relation, one per variant (direction, alternate service in a direction, …)
  3. Put the route Relations into a route master relation containing all the variants.

See Buses for more information about how this is done.

Some local notes:

  • Routes are often called things like "city8" on the buses themselves. Omit the "city" prefix for the ref tag: use "ref=8" in this case.
  • Record the prefixed name as, e.g. "official_name=city8".
  • For route relations we do use the structured naming convention, with official names before the colon. Some of us prefer a typographic "→" instead of "=>". Example: "relation Bus city8: Barton → Oxford Westgate". The names of these higher-level constructs aren't rendered on the map.

TODO: do we need a link to each individual relation and its status here, to help coordinate this effort?