[Talk-transit] Summary of Public Transport Proposal Criticism -> a real example from Zürich

Michael von Glasow michael at vonglasow.com
Wed Feb 9 18:37:58 GMT 2011

On 02/08/2011 09:17 PM, Dominik Mahrer (Teddy) wrote:
>> Here we're getting into one of the uglier parts of transport mapping -
>> large terminals (amenity=bus_station) with multiple stop positions and
>> platforms. I deliberately left that out of the proposal I presented (my
>> plan is to present that as a later extension).
> Do you have an idea how it will look like?
Well, a rough one: So far we've had amenity=bus_station tagged as a node 
or area for the whole thing - I think this makes sense to keep.

In many cases buses have a fixed platform at which they stop. Hence, we need
* a node/area for each platform/boarding position
* a tag which designates it as such (some candidates are already in use)
* a name or ref (where one exists on the ground)

Then, we need some way to associate the platforms with the bus station:
* if the bus station is mapped as an area, platforms must be within the 
* if the bus station is mapped as a point, take the point which is 
closest to the platform
* as an alternative, just use a relation - then we might as well drop 
the extra node/area for the bus station and apply the type=amenity; 
amenity=bus_station tags to the relation instead; renderers could then 
display an icon on the centroid and/or draw the convex hull of all members

Not sure about this one yet, though, especially about the third 
alternative. Representing the whole bus station as a relation, in 
combination with being able to add the bus station as a whole to a route 
relation (see below), would introduce nested relations, which I realize 
some people don't like...

Finally we need a way to add bus stations to route relations:
* If the bus line has a designated platform (which may also be used by 
other buses, but the line in question may not stop at another), and you 
know it, add that with role=stop.
* If the bus stops at different platforms depending on the time of the 
day or other factors, add the whole bus station with role=stop.
* If you just don't know at which platform the bus stops, add the whole 
bus station (like above). If you've found out the details for a bus 
route, replace the bus station with the platform in the route relation.

If the platform is a member of the relation, there is no need to add the 
bus station as well - in the best case this is "convenience tagging", in 
the worst case it may actually confuse renderers (two members for one 
and the same stop).

Line sketch renderers should use a combination of bus station and 
platform name/ref, where available: Assuming name=Terminal West for the 
bus station and ref=D for the platform, this could be rendered as:
Terminal West, Platform D
(note that the string "Platform" would be supplied by the application 
If the platform has no name or ref, or the relation contains the whole 
bus station, just use the name of the bus station (as with an ordinary 
bus stop).

But that's still a rough idea in my mind...


More information about the Talk-transit mailing list