User:Polyglot/Public transport proposal for simplification

From OpenStreetMap Wiki
Jump to navigation Jump to search

I would like us to think about what are the basics we need to map public transport.

route relation with 3 bus stops

Stops

Stops, obviously. And we want the ability to add details all the way to micromapping. But we also need a simple way to declare to which itineraries they belong. AND we don't want to have to duplicate details.

Itineraries

The route relations describe the itineraries. In the accompanying picture it is represented by what's inside the green oval and the ways marked in green.

Lines

The route_master relations bundle all the variations in itineraries in a single relation for a line.

Stops with platforms

The first stop in the itinerary has an actual platform. To get it rendered, we can use highway=platform. And why not stop there?

Stops as nodes

Mapping stops as nodes all the way through their life cycle makes a lot of sense. All the stop's details can be added on those nodes. They can be added to the route relations, once for each stop. If another mapper sees they are in the wrong location, it's easy to move them. They don't influence the geometry of the ways they are next to.

The new scheme wants to add public_transport=platform to objects. If it has to go somewhere, these nodes are the most likely candidate, as they would be present for each and every stop. This doesn't really add information, that wasn't already given by highway=bus_stop, but it doesn't really do much harm either. It might be confusing if there is an actual platform, as I would not add it to that platform anymore then. I had people asking me why add public_transport=platform on 2 objects.

stop_position nodes

There is very little reason to add these for each stop. While developing PT_Assistant, I noticed there is one place where they actually are handy for validation purposes: next to the first and the last stops of the itineraries. That's where I have been adding them all along. PT_Assistant will nicely split the way for you on them, if you use its add stop_position node mapping mode, which was recently renamed to "Split way at end of itinerary".