Skip to content

Editing Relation Tags

Ryan Bush edited this page Sep 15, 2026 · 2 revisions

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.

Screenshot 2026-09-12 at 21 49 19

The tag table

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.

roundtrip is a dropdown

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.

How uploads merge

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.

Clone this wiki locally