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 station * 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 itself). 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...

Michael

_______________________________________________
Talk-transit mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/talk-transit

Reply via email to