There is some talk about a new scheme for mapping public transport on the German forum.
I'll try to list some requirements such a scheme should have:
- It should be easier to map than the mess v2 has become.
- Simple for simple cases
- Scalable to more complex cases, without the need to convert nodes to ways or relations.
- Details like ref, route_ref, operator, network, zone should only appear on a single object.
- By looking at this object it is immediately clear on which side of the road the stop is located.
- The object that represents a stop for a single direction of travel only appears once in the route relations.
- easy to understand, for anybody who bothers to look inside the relation
- straightforward to process for map rendering
- This means that a scheme with 'hints' about the routes, using reference points along the way, is not suitable.
- one route relation per variation of the itinerary
It doesn't really matter that highway=bus_stop, railway=*, highway/railway=platform are used in combination with public_transport tags. Rendering doesn't seem to be able to go without the 'deprecated' tags. Mapping (using JOSM) is more convenient when using public_transport style tags (roles are set automatically for example).
From the above requirements the only logical solution is to use a node to represent the bus stops. highway=bus_stop / railway=tram_stop bus=yes / tram=yes public_transport=platform
If an actual platform is present where passengers can wait, it can be mapped as a way/area using highway=platform and/or railway=platform. No need for public_transport=platform on these areas, lest someone might say we're mapping platforms twice. And no need for adding these objects to the route relations. They can be added to stop_area relations. My personal preference would be one such stop_area relation per direction of travel, or per platform in bus stations.
I'm preparing a proposal here: https://wiki.openstreetmap.org/wiki/User:Polyglot/Bus_stops_and_routes