-
Notifications
You must be signed in to change notification settings - Fork 0
Editing Relation Tags
Previously the only way to fix a route's name or add an operator was to leave for
another editor. The edit view now shows the relation's tags in a table you can change
in place, add to, and delete from - no separate save step, just type and the change is
staged for the next upload.
A fixed set of keys is always shown, even when blank: name, ref, from, via,
to, network, operator, colour and roundtrip. Every other tag the relation
carries is listed below them, alphabetically, once you click Show all tags (n) -
the table starts collapsed to the featured keys so a relation with a lot of incidental
tagging doesn't swamp the view. The button toggles to Show fewer tags, and
disappears entirely when there's nothing extra to show.
Four tags are shown but locked: type, route, public_transport:version, and
whichever of disused:route / was:route is present. These are the tags the server
uses to decide whether it can load the relation as a route at all, so changing them
here would just break the load next time - if a route needs disused: or was:
adding or removing, that's a job for another editor.
+ Add tag appends a blank row where you can type both the key and the value. A row you leave completely empty is simply dropped; typing the same key into two rows at once is flagged so you don't lose one of them silently.
Rows you've actually changed are highlighted, so before uploading you can see at a glance what's going to be written.
Unlike the other tags, roundtrip is edited as yes / no / (unset) rather than free
text - it's effectively an enum, and a typo here would silently produce an invalid
value. Changing it re-runs the route calculation, since a roundtrip route and an
out-and-back route accept different stop roles at the ends.
Edits are merged, not overwritten. On upload, the relation is fetched fresh from OSM and only the keys you actually touched are applied on top of that fresh copy - a tag someone else changed while you were working is left alone rather than clobbered. Clearing a field's value removes that tag; leaving it untouched leaves it exactly as it was, no matter what else changed on the relation in the meantime.