Changes between Version 32 and Version 103 of Help/Dialog/RelationEditor


Ignore:
Timestamp:
(multiple changes)
Author:
(multiple changes)
Comment:
(multiple changes)

Legend:

Unmodified
Added
Removed
Modified
  • Help/Dialog/RelationEditor

    v32 v103  
    1 [[TranslatedPages(outdated=This page is outdated. Parent and Child tabs are not explained at all and the tags-and-members tab needs more information and the context menu. Also the first paragraph needs rework or even some parts moved to other pages.)]]
     1[[TranslatedPages]]
    22[[PageOutline(2-10,Table of Contents)]]
    33
    4 = Relation Editor Dialog =
     4= Relation Editor =
    55
    6 JOSM has three visible features to allow working with [[Image(source:trunk/images/data/relation.png,middle)]] [Concepts/Object#Relations relations]: this relation editor, a relation list, and a modified tag/membership dialog.
    7 
    8 The relation editor dialog is the most powerful option and can be used to create, modify, and delete relations.
    9 
    10 In the [[Image(source:trunk/images/dialogs/propertiesdialog.svg,15,middle)]] [Dialog/TagsMembership Tags/Memberships Dialog] below the listed keys and values there is a list that any relations of which the selected object is a member of is listed together with its "role" in that relation. Double-clicking on a line there will open this relationship editor for the relation in question.
    11 
    12 The [[Image(source:trunk/images/dialogs/relationlist.png,15,top)]] [Dialog/RelationList Relation List] is just another toggle dialog which can be activated using the gear icon [[Image(source:trunk/images/dialogs/relationlist.png,15,top)]] on the left panel. It shows a list of all relations loaded and you can add or delete relations there as well.
     6A Relation editor handles the members and [wikitr:/Help/Concepts/Object#Tags1 tags] of exactly one [[JOSMImage(data/relation)]] [wikitr:/Help/Concepts/Object#Relations relation]. \\
     7\\
     8Don't confuse it with the [wikitr:/Help/Dialog/RelationList Relations list panel]. That [wikitr:/Help/ToggleDialogs Sidebar] panel lists all relations.
    139
    1410
    15 == Relation Editor ==
    16 The relation editor consists of three tabs and the three buttons on top to:
     11== The Dialog Layout ==
     12=== Buttons on top ===#Buttonsontop
     13||= **Icon** =||= **Description** =||
     14||  [[JOSMImage(dialogs/refresh)]]  || Refresh relation from data layer (see [#RelationChangedOutsideOfEditor below] for more explanation) ||
     15||  [[JOSMImage(save)]]  || Apply the current changes made within the relation editor to the data (see [#RelationChangedOutsideOfEditor below] for more explanation) ||
     16||  [[JOSMImage(dialogs/select)]]  || Select the relation of the relation editor ||
     17||  [[JOSMImage(duplicate)]]  || Clone e.g create a copy of the relation and open it in another relation editor ||
     18||  [[JOSMImage(dialogs/delete,24,link=,middle)]]  || Delete the currently edited relation ||
    1719
    18 || [[Image(source:trunk/images/dialogs/refresh.png)]] || Refresh relation from data layer (see [#RelationChangedOutsideOfEditor below] for more explanation) ||
    19 || [[Image(source:trunk/images/save.png)]] || Apply the current changes made within the relation editor to the data ||
    20 || [[Image(source:trunk/images/duplicate.png)]] || Clone e.g create a copy of the relation and open it in another relation editor dialog ||
    21 || [[Image(source:trunk/images/dialogs/delete.png)]] || delete the current relation ||
     20=== Tags and Members tab ===#TagMember
     21The tags and members tab has an upper half where tags for the relation itself can be entered.
     22
     23Its 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.
     24
     25In between the two parts the horizontal separator includes two buttons on the left side with a [[JOSMImage(svpUp,link=,middle,16)]] up and [[JOSMImage(svpDown,link=,middle,16)]] down arrow to move the separator to center, up or down and hide, respectively, display the upper or lower part.
     26
     27==== Tags of Relation (upper part) ====#TagsRelation
     28On top in the upper part are links to presets matching the current ''**tags of the relation**'' and below are the tags in a table.
     29
     30Presets matching relation can be opened here (they are more suggestive than tags panel). [wikitr:/Introduction#Leftmouseclickonrespectivepresetheadingwillopencompletepresetview Click respective link to open full preset], as usual.
     31
     32[[Image(relation_editor.png,right,margin-left=15,link=)]]
     33
     34The three button one the left are:
     35||= **Icon** =||= **Description** =||
     36||  [[JOSMImage(dialogs/add)]]  || Add a new tag ||
     37||  [[JOSMImage(dialogs/delete,24,link=,middle)]]  || Delete the current selected boxes of the tag table ||
     38||  [[JOSMImage(pastetags)]]  || Paste tags from buffer ||
     39
     40When a tag line is selected, the `F1` key links to the tag's OSM wiki page, like in the [[JOSMImage(dialogs/propertiesdialog)]] [wikitr:/Help/Dialog/TagsMembership Tags/Memberships panel]
     41
     42**Note**: In general, it is easier to modify tags with the Tags/Memberships panel.
     43
     44==== Members List (bottom half, left side) ====#MembersList
     45In the lower left part is the member table of the relation.
     46
     47===== Table =====#Table
     48The table shows for each member:
     49||= **Title** =||= **Description** =||
     50||  Role  || its role || 
     51||  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 ||
     52|| || on the right information about neighbor ways' connections useful for consistency checks like checking that the members of a [wikitr:/Help/Concepts/Object#typemultipolygon multipolygon] form closed ways or that a route is a complete line without missing some ways in the middle ||
     53
     54====== Context menu in table ======
     55Gap is indicated as red dot.
     56
     57||= **Icon** =||= **Name** =||= **Description** =||
     58||  || Zoom to || select the topmost element of the [#Currentlyselectedmembers currently selected members] in [[JOSMImage(dialogs/selectionlist)]] [wikitr:/Help/Dialog/SelectionList selection list panel] and zoom to it ||
     59||||
     60||  || Zoom to Gap || will zoom to gap (only available when gap is selected) ||
     61||||
     62||  || Select previous gap || select the previous member ahead without connection above ||
     63||  || Select next gap || select the next member behind without connection below ||
     64||  [[JOSMImage(dialogs/history)]]  || History || open a [wikitr:/Help/Action/ObjectHistory History browser] for each [#Currentlyselectedmembers currently selected member] ||
     65
     66===== Currently selected members =====#Currentlyselectedmembers
     67Selecting members in the [#Table members list table] works as usual: hold `Ctrl` to select multiple items. Left click on the item to add/remove it from the selection.
     68
     69On the right you can see an example with only one member way selected.
     70
     71===== Buttons =====
     72The buttons on the left offer the following actions if appropriate. (''Plugins may add additional buttons.)'':
     73
     74||= **Icon** =||= **Shortcut** =||= **Description** =||
     75||  [[JOSMImage(dialogs/up)]]  ||  **`Alt+up`**  || Move the [#Currentlyselectedmembers currently selected members] up ||
     76||  [[JOSMImage(dialogs/down)]]  ||  **`Alt+down`**  || Move ''the currently selected members'' down ||
     77||||
     78||  [[JOSMImage(dialogs/edit)]]  ||  || Open additional relation editors for ''the currently selected members'' of object type relation ||
     79||  [[JOSMImage(dialogs/delete,24,link=,middle)]]  ||  **`Alt+Delete`**  || Remove ''the currently selected members'' from the relation ||
     80||||
     81||  [[JOSMImage(dialogs/sort)]]  ||  **`Alt+End`**  || Sort ''the currently selected members'' ||
     82||  [[JOSMImage(dialogs/sort_below)]]  ||  || Sort ''the currently selected members'' and all members below ([wikitr:/Help/ExpertMode expert mode] only) ||
     83||  [[JOSMImage(dialogs/reverse)]]  ||  || Reverse the order of the currently selected members ||
     84||||
     85||  [[JOSMImage(dialogs/relation/downloadincomplete)]]  ||  **`Alt+Home`**  || Download all incomplete members ||
     86||  [[JOSMImage(dialogs/relation/downloadincompleteselected)]]  ||  || Download selected incomplete members ||
     87
     88**Note**: Besides the listed buttons and shortcuts above, `Ctrl+C`, `Ctrl+V` and `Ctrl+X` work as common in the member list.
     89
     90Text field below the table can be used to set a role to all [#Currentlyselectedmembers Currently selected members]
    2291
    2392
    24 === Tags and Members ===#TagMember
    25 The tags and members tab has an upper part similar to the [Dialog/TagsMembership Tags/Memberships Dialog] where tags for the relation can be entered and a lower part that contains the list of members of the relation on the left side and a list of the current selection on the right.
    26 
    27 [[Image(relation_editor.png,right,margin-left=15)]]
    28 
    29 ==== Tags ====
    30 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. The three button one the left are:
    31 
    32 || [[Image(source:trunk/images/dialogs/add.png)]] || Add a new tag ||
    33 || [[Image(source:trunk/images/dialogs/delete.png)]] || Delete the current selected boxes of the tag table ||
    34 || [[Image(source:trunk/images/pastetags.png)]] || Paste tags from buffer ||
    35 
    36 Note: In general it is easier to modify tags with the [Dialog/TagsMembership Tags/Memberships Dialog].
    37 
    38 ==== Members ====
    39 In the lower left part is the member list of the relation. The list shows each member with its role on the left, in the middle the object type as icon plus some identifier like name, ref or simply the id of the object and 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.
    40 
    41 Selecting members in this list works as usual and changing the role of a member is possible by clicking on the role. Alternatively, the apply role text field at the bottom allows to set a role to all currently selected members.
    42 
    43 The buttons on the left offer the following actions if appropriate:
    44 
    45 || [[Image(source:trunk/images/dialogs/moveup.png)]] || Move the currently selected members up (**`Alt+up`**) ||
    46 || [[Image(source:trunk/images/dialogs/movedown.png)]] || Move the currently selected members down (**`Alt+down`**) ||
    47 || || ||
    48 || [[Image(source:trunk/images/dialogs/edit.png)]] || Open additional relation editors for the currently selected members of object type relation ||
    49 || [[Image(source:trunk/images/dialogs/delete.png)]] || Remove the currently selected members from the relation (**`Alt+Delete`**) ||
    50 || || ||
    51 || [[Image(source:trunk/images/dialogs/sort.png)]] || Sort the currently selected members (**`Alt+End`**) ||
    52 || [[Image(source:trunk/images/dialogs/sort_below.png)]] || Sort the currently selected members and all members below ([ExpertMode expert mode] only) ||
    53 || [[Image(source:trunk/images/dialogs/relation/reverse.png)]] || Reverse the order of the currently selected members ||
    54 || || ||
    55 || [[Image(source:trunk/images/dialogs/relation/downloadincomplete.png)]] || Download all incomplete members (**`Alt+Home`**) ||
    56 || [[Image(source:trunk/images/dialogs/relation/downloadincompleteselected.png)]] || Download selected incomplete members ||
    57 
    58 ==== Selection ====
    59 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 [Dialog/SelectionList selection list toggle dialog]. Objects with yellow background color are already member of the relation.
     93==== Selection List (bottom half, right side) ====#SelectionList
     94In 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 [wikitr:/Help/Dialog/SelectionList Selection list]. Objects with yellow background color are already member of the relation.
    6095
    6196The buttons offer following actions:
    6297
    63 || [[Image(source:trunk/images/dialogs/conflict/copystartright.svg)]] || Add all objects selected in the current data set before the first member ||
    64 || [[Image(source:trunk/images/dialogs/conflict/copybeforecurrentright.svg,)]] || Add all objects selected in the current data set before the first selected member ||
    65 || [[Image(source:trunk/images/dialogs/conflict/copyaftercurrentright.svg)]] || Add all objects selected in the current data set after the last member selected member ||
    66 || [[Image(source:trunk/images/dialogs/conflict/copyendright.svg)]] || Add all objects selected in the current data set after the last member ||
    67 || || ||
    68 || [[Image(source:trunk/images/dialogs/relation/selectmembers.svg)]] || Select relation members in the member list which refer to objects in the current selection ||
    69 || [[Image(source:trunk/images/dialogs/relation/selectprimitives.svg)]] || Select objects in the current data set for currently selected relation members in the member list ||
    70 || || ||
    71 || [[Image(source:trunk/images/dialogs/relation/deletemembers.svg)]] || Remove all members referring to one of the selected objects in the current data set
     98||= **Icon** =||= **Description** =||
     99||  [[JOSMImage(dialogs/conflict/copystartright)]]  || Add all objects selected in the current data set before the first member ||
     100||  [[JOSMImage(dialogs/conflict/copybeforecurrentright,)]]  || Add all objects selected in the current data set before the first selected member ||
     101||  [[JOSMImage(dialogs/conflict/copyaftercurrentright)]]  || Add all objects selected in the current data set after the last member selected member ||
     102||  [[JOSMImage(dialogs/conflict/copyendright)]]  || Add all objects selected in the current data set after the last member ||
     103||||
     104||  [[JOSMImage(dialogs/relation/selectmembers)]]  || Select relation members in the member list which refer to objects in the current selection ||
     105||  [[JOSMImage(dialogs/relation/selectprimitives)]]  || Select objects in the current data set for currently selected relation members in the member list ||
     106||||
     107||  [[JOSMImage(dialogs/relation/deletemembers)]]  || Remove all members referring to one of the selected objects in the current data set ||
    72108
    73 === Parent Relations ===
    74 === Child Relations ===
     109
     110=== Parent Relations tab ===#ParentRelations
     111Reload button - will fetch all parent relation from API (parent relations list will be empty if there no parent relations).
     112
     113Double click at any parent relation will open ''Relation editor'' with respective relation.
     114
     115Note: only one parent relation is shown for [osmwww:relation/51560 relation 51560]:
     116
     117[[Image(relation 51560.png,link=,600)]]
     118
     119
     120=== Child Relations tab ===#ChildRelations
     121This pane recursively shows all child relations, e.g., for a [osmwiki:Relation:network network] all of its [osmwiki:Relation:route_master route master] and [osmwiki:Relation:route 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.
     122
     123[[Image(children of 6016064.png,link=,600)]]
     124
    75125
    76126== Drag and Drop support ==
    77 The relation editor has an advanced drag and drop support. You can do the following actions:
     127The Relation editor has an advanced drag and drop support. You can do the following actions:
    78128* reorder the members in the members list
    79 * move an object from the [wiki:Help/Dialog/SelectionList Selection List Dialog] to the members list in the relation editor (with automatic role suggestion)
     129* move an object from the [wikitr:/Help/Dialog/SelectionList Selection list] to the members list in the relation editor (with automatic role suggestion)
    80130* move an object from the members list of one relation editor instance to another relation editor instance
    81131* move an object from the members list of one relation editor instance to another relation editor instance from another layer*
    82132* move an object from the members list of one relation editor instance to another relation editor instance from another JOSM instance*
    83 * move an object from the members list of the relation editor or from the Selection List Dialog to an external text editor
     133* move an object from the members list of the relation editor or from the Selection list to an external text editor
    84134
    85135^^* provided the objects are part of the dataset
    86136
     137
    87138== Error and Warning Messages ==
    88139=== Conflict in data when saving or applying a relation ===#RelationChangedOutsideOfEditor
    89 {{{
    90 #!html
    91 <a name="RelationChangedOutsideOfEditor">
    92 }}}
    93 A relation may be edited concurrently in the relation editor dialog ''and'' outside of the relation editor dialog. While the relation editor dialog 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 dialog. You need to click on the [[Image(source:trunk/images/dialogs/refresh.png)]] refresh button to update the data in the relation editor. Anyhow JOSM keeps track of them and when you close the relation editor dialog or apply changes, without pressing the refresh button before, the following warning message is displayed:
     140A 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 [[JOSMImage(dialogs/refresh)]] 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:
    94141
    95 [[Image(warning-conflict-in-data.png)]]
     142[[Image(warning-conflict-in-data.png,link=)]]
    96143
    97 It indicates that JOSM is aware of two incompatible [Concepts/Object#Objectversions versions] of this relation. Since JOSM can't resolve the differences between these versions automatically, it proposes to create a [Concepts/Conflict conflict] which you can [Concepts/Conflict#Resolvingconflicts resolve] later using the [Dialog/Conflict Conflict Dialog].
     144It indicates that JOSM is aware of two incompatible [wikitr:/Help/Concepts/Object#Objectversionsandhistory versions] of this relation. Since JOSM can't resolve the differences between these versions automatically, it proposes to create a [wikitr:/Help/Concepts/Conflict conflict] which you can [wikitr:/Help/Concepts/Conflict#Resolvingconflicts resolve] later using the [wikitr:/Help/Dialog/Conflict Conflict Dialog].
    98145
    99146A similar warning is the following:
    100147
    101 [[Image(relation_conflict.png)]]
     148[[Image(relation_conflict.png,link=)]]
    102149
    103150It appears when you made changes in the relation and in the data layer and then click on the refresh button.
    104151
    105 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):
    106 * After doing changes in the relation editor and before doing changes in the data layer press the [[Image(source:trunk/images/save.png)]] apply button.
    107 * After doing changes in the data layer and before doing changes in the relation editor press the [[Image(source:trunk/images/dialogs/refresh.png)]] refresh button.
     152**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):
     153* **After doing changes in the relation editor** and **before doing changes in the data layer** press the [[JOSMImage(save)]] apply button.
     154* **After doing changes in the data layer** and **before doing changes in the relation editor** press the [[JOSMImage(dialogs/refresh)]] refresh button.
    108155
    109156Otherwise you will see the above warnings and end in a conflict.
    110157
    111158=== Unsaved changes ===
    112 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 to close the window or `Escape`.
    113 [[Image(relation_editor_unsaved_changes_warning.png,900)]]
     159The 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.
     160
     161[[Image(relation_editor_unsaved_changes_warning.png,link=)]]
     162
    114163
    115164== See also ==
    116 * [[Image(source:trunk/images/dialogs/relationlist.png,20,middle)]] [Dialog/RelationList Relation list dialog]
    117 * [Concepts/Conflict Conflict]
    118 * [Concepts/Object Object]
    119 * A more elaborate example can be found on the OSM wiki: [osmwiki:JOSM_Relations_and_Turn_Based_Restrictions JOSM Relations and Turn Based Restrictions]
     165* [[JOSMImage(dialogs/relationlist)]] [wikitr:/Help/Dialog/RelationList Relations list] - all loaded relations are listed here
     166* [wikitr:/Help/Concepts/Object#Relations Concepts Object] - detailed explanation what ''relation'' is
     167* [wikitr:/Help/Relations Relations] - steps how to create parent relations, edit parent/child relations and so on
     168* [wikitr:/Help/Concepts/Conflict Concepts Conflict] - explanation of conflicts
     169* Relations can be also edited using [wikitr:/Help/Menu/TagsMembershipMenu#Rightclickonaparentrelationinmembershipspart simple right click menu] in [wikitr:/Help/Dialog/TagsMembership Tags/Membership panel]
     170* Some of [wikitr:/Plugins plugins] can simplify [wikitr:/Help/Relations editing of relations], namely [wikitr:/Help/Plugin/TurnRestrictions turnrestrictions], [osmwiki:Relations/Proposed/turn_lanes#Plugin turnlanes] or [osmwiki:JOSM/Plugins/PT_Assistant pt_assistant]
    120171
    121172----
    122 Back to [wiki:/Help Main Help]
     173Back to [wikitr:/Help/Dialog Dialog] \\
     174Back to [wikitr:/Help Main Help]