openstreetmap / iD

🆔 The easy-to-use OpenStreetMap editor in JavaScript.
https://www.openstreetmap.org/edit?editor=id
ISC License
3.37k stars 1.21k forks source link

Route relation member sorting #7498

Open tomasokol opened 4 years ago

tomasokol commented 4 years ago

Hi, as Wiki says, a Bus route should have relation members in this order: 1) bus stops (in the direction the bus is going) 2) roads (in the direction of the bus)

So iD should keep bus stops at the top of the list. That should be relatively easy, i suppose. Options are: 1) still just one “window” for all members; 2) splitting the existing “window” into two, one containing stops, the other containing roads.

It would be really nice to have the stops ordered automatically by the iD. If it could analyze the route and sort the bus stops that sit along. And again, two options: 1) supporting all types of mapping (the simple one, with just public_transport=platform beside the road; 2) supporting only routes that are mapped by public_transport=platform along with public_transport=stop_position.

Also, there is a name for route=bus “Bus Route.” But there is none for “route=trolleybus,” as it is just a “Route” in iD.

quincylvania commented 4 years ago

Also, there is a name for route=bus “Bus Route.” But there is none for “route=trolleybus,” as it is just a “Route” in iD.

Okay, I added a Trolleybus Route preset.

It would be really nice to have the stops ordered automatically by the iD.

iD could definitely be smarter about placing new members when adding them to route relations. But I'm not sure if it should be reordering existing members or not.

tomasokol commented 4 years ago

But I'm not sure if it should be reordering existing members or not.

Validator could suggest, that lines are not in order (there is a gap / members are not in the right order). If it should be automatically sorted, I don't know.

Though it could be automatically putting all the stops and stopping positions above lines/roads, in the list. I don't see any situation when somebody would not want that to happen or wanted to keep it sorted differently.