[Talk-transit] Help: Bus Stop Data Extraction for Bus Routing Service

Roland Olbricht roland.olbricht at gmx.de
Tue Feb 9 13:28:46 GMT 2010

Dear Grace,

> We would like to extract public transport data for public transit routing
>  service in Sweden.

This will be a difficult, maybe impossible task at the moment. Public 
transport data are a complicated matter. Most important for you might be that 
there is no timetable information in the OSM database. Thus, without a data 
source for the timetable information, it is not useful for public transport 
*routing*. Buses running only a few times a week or only on school days can't 
be discriminated from regular services running every few minutes.

Also, there is not even a standard for a public transport data model for bus 
services in OSM. The best possible approach known to me is
But there might be a quasi-standard for Sweden differing from this one, 
depending on your local community. Please provide some IDs of example 
relations of the data.

I'll try to answer to you based on the data model commonly used in Germany 
(e.g. Wuppertal) or France (e.g. Grenoble).

> What is the difference between the stop nodes within a relation and the
>  nodes tagged as “bus_stop” in highways which are also contained in a
>  relation?
> Do the stop nodes within a relation merely refer to the passenger waiting
>  point, whereas, stops in highway contained in a relation represent the
>  vehicle stopping points?

In general, the node tagged as "highway=bus_stop" indicates the position of 
the road sign or shelter and is off the street. If I find such nodes on the 
street, I move them to their proper position. For the vehicle stop, the node 
on the street might be tagged as "public_transport=stop_position" but they 
rarely exist (almost 500,000 bus stops in the database versus 9000 stop 
positions) or aren't even defined (stop positions in my area depend on the 
vehicle design, not the served line). The stop areas are introduced to group 
all the bus stops having the same name.

A relation can carry one or all directions of a bus line. In the former case, 
I recommend to keep both the itinerary (the way the bus physically takes) and 
the bus stops, usually nodes of type "highway=bus_stop", in the order in which 
they are served. In the latter case, you often find a big mess on both the 
itinerary and the bus stops which are left from former times (API 0.5) when 
there was no defined order on the elements of relations.



More information about the Talk-transit mailing list