Relation Editor

A Relation editor handles the members and tags of exactly one source:trunk/resources/images/data/relation.svg relation.

Don't confuse it with the Relations list panel. That Sidebar panel lists all relations.

The Dialog Layout

Buttons on top

Icon Description
source:trunk/resources/images/dialogs/refresh.svg Refresh relation from data layer (see below for more explanation)
source:trunk/resources/images/save.svg Apply the current changes made within the relation editor to the data (see below for more explanation)
source:trunk/resources/images/dialogs/select.svg Select the relation of the relation editor
source:trunk/resources/images/duplicate.svg Clone e.g create a copy of the relation and open it in another relation editor
source:trunk/resources/images/dialogs/delete.svg Delete the currently edited relation

Tags and Members tab

The tags and members tab has an upper half where tags for the relation itself can be entered.

Its lower part has two separate lists. On the left the members of the relation are listed. The list on the right hand side shows the current selection of map objects.

In between the two parts the horizontal separator includes two buttons on the left side with a source:trunk/resources/images/svpUp.svg up and source:trunk/resources/images/svpDown.svg down arrow to move the separator to center, up or down and hide, respectively, display the upper or lower part.

Tags of Relation (upper part)

On top in the upper part are links to presets matching the current tags of the relation and below are the tags in a table.

Presets matching relation can be opened here (they are more suggestive than tags panel). Click respective link to open full preset, as usual.

relation editor screenshot

The three button one the left are:

Icon Description
source:trunk/resources/images/dialogs/add.svg Add a new tag
source:trunk/resources/images/dialogs/delete.svg Delete the current selected boxes of the tag table
source:trunk/resources/images/pastetags.svg Paste tags from buffer

When a tag line is selected, the F1 key links to the tag's OSM wiki page, like in the source:trunk/resources/images/dialogs/propertiesdialog.svg Tags/Memberships panel

Note: In general, it is easier to modify tags with the Tags/Memberships panel.

Members List (bottom half, left side)

In the lower left part is the member table of the relation.


The table shows for each member:

Title Description
Role its role
Refers to the object type as icon plus some identifier like name, ref or simply the id of the object ; Double-clicking on a line with complete relation there will open this Relationship editor for the relation in question
on the right information about neighbor ways' connections useful for consistency checks like checking that the members of a multipolygon form closed ways or that a route is a complete line without missing some ways in the middle
Context menu in table

Gap is indicated as red dot.

Icon Name Description
Zoom to select the topmost element of the currently selected members in source:trunk/resources/images/dialogs/selectionlist.svg selection list panel and zoom to it
Zoom to Gap will zoom to gap (only available when gap is selected)
Select previous gap select the previous member ahead without connection above
Select next gap select the next member behind without connection below
source:trunk/resources/images/dialogs/history.svg History open a History browser for each currently selected member
Currently selected members

Selecting members in the members list table works as usual: hold Ctrl to select multiple items. Left click on the item to add/remove it from the selection.

On the right you can see an example with only one member way selected.


The buttons on the left offer the following actions if appropriate. (Plugins may add additional buttons.):

Icon Shortcut Description
source:trunk/resources/images/dialogs/up.svg Alt+up Move the currently selected members up
source:trunk/resources/images/dialogs/down.svg Alt+down Move the currently selected members down
source:trunk/resources/images/dialogs/edit.svg Open additional relation editors for the currently selected members of object type relation
source:trunk/resources/images/dialogs/delete.svg Alt+Delete Remove the currently selected members from the relation
source:trunk/resources/images/dialogs/sort.svg Alt+End Sort the currently selected members
source:trunk/resources/images/dialogs/sort_below.svg Sort the currently selected members and all members below (expert mode only)
source:trunk/resources/images/dialogs/reverse.svg Reverse the order of the currently selected members
source:trunk/resources/images/dialogs/relation/downloadincomplete.svg Alt+Home Download all incomplete members
source:trunk/resources/images/dialogs/relation/downloadincompleteselected.svg Download selected incomplete members

Note: Besides the listed buttons and shortcuts above, Ctrl+C, Ctrl+V and Ctrl+X work as common in the member list.

Text field below the table can be used to set a role to all Currently selected members

Selection List (bottom half, right side)

In the lower right part is the selection list where currently selected objects in the current data set are shown. The list is basically a mirror of the Selection list. Objects with yellow background color are already member of the relation.

The buttons offer following actions:

Icon Description
source:trunk/resources/images/dialogs/conflict/copystartright.svg Add all objects selected in the current data set before the first member
source:trunk/resources/images/dialogs/conflict/copybeforecurrentright.svg Add all objects selected in the current data set before the first selected member
source:trunk/resources/images/dialogs/conflict/copyaftercurrentright.svg Add all objects selected in the current data set after the last member selected member
source:trunk/resources/images/dialogs/conflict/copyendright.svg Add all objects selected in the current data set after the last member
source:trunk/resources/images/dialogs/relation/selectmembers.svg Select relation members in the member list which refer to objects in the current selection
source:trunk/resources/images/dialogs/relation/selectprimitives.svg Select objects in the current data set for currently selected relation members in the member list
source:trunk/resources/images/dialogs/relation/deletemembers.svg Remove all members referring to one of the selected objects in the current data set

Parent Relations tab

Reload button - will fetch all parent relation from API (parent relations list will be empty if there no parent relations).

Double click at any parent relation will open Relation editor with respective relation.

Note: only one parent relation is shown for relation 51560:

Child Relations tab

This pane recursively shows all child relations, e.g., for a network all of its route master and route relations. Incomplete relations are downloaded when expanding or double-clicking the tree node. A separate relation editor is opened when double-clicking one of the child relations.

Drag and Drop support

The Relation editor has an advanced drag and drop support. You can do the following actions:

  • reorder the members in the members list
  • move an object from the Selection list to the members list in the relation editor (with automatic role suggestion)
  • move an object from the members list of one relation editor instance to another relation editor instance
  • move an object from the members list of one relation editor instance to another relation editor instance from another layer*
  • move an object from the members list of one relation editor instance to another relation editor instance from another JOSM instance*
  • move an object from the members list of the relation editor or from the Selection list to an external text editor

* provided the objects are part of the dataset

Error and Warning Messages

Conflict in data when saving or applying a relation

A relation may be edited concurrently in the relation editor and outside of the relation editor. While the relation editor for a relation is open you may for instance split a way the relation refers to. In this case, the relation is modified but the changes due to the way splitting are not immediately reflected in the relation editor. You need to click on the source:trunk/resources/images/dialogs/refresh.svg refresh button to update the data in the relation editor. Anyhow JOSM keeps track of them and when you close the relation editor or apply changes, without pressing the refresh button before, the following warning message is displayed:

It indicates that JOSM is aware of two incompatible versions of this relation. Since JOSM can't resolve the differences between these versions automatically, it proposes to create a conflict which you can resolve later using the Conflict Dialog.

A similar warning is the following:

It appears when you made changes in the relation and in the data layer and then click on the refresh button.

So the workflow should always be like this (if you want to do changes in the relation editor and the data layer at the same time, i.e. while the relation editor stays open):

  • After doing changes in the relation editor and before doing changes in the data layer press the source:trunk/resources/images/save.svg apply button.
  • After doing changes in the data layer and before doing changes in the relation editor press the source:trunk/resources/images/dialogs/refresh.svg refresh button.

Otherwise you will see the above warnings and end in a conflict.

Unsaved changes

The following warning appears when you make changes in the relation editor and do not press the Apply or OK button, but the Cancel button, the cross or Escape to close the relation editor.

unsaved changes warning

See also

Back to Dialog
Back to Main Help

Last modified 10 months ago Last modified on 2023-04-17T15:15:26+02:00

Attachments (7)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.