Modify

Opened 2 years ago

Last modified 2 years ago

#22384 new enhancement

splitting ways in route relation when relation editor is open can be improved

Reported by: dieterdreist Owned by: team
Priority: normal Milestone:
Component: Core Version:
Keywords: relation, route, split Cc:

Description (last modified by dieterdreist)

Previously, you would get a conflict when clicking on OK of the relation editor, after you have been splitting a way that is inside a route relation for which you had the editor open.
Currently, it will not cause a conflict but will remove one of the parts and keep the other. In principle, this is the desired behaviour. but unfortunately JOSM often chooses the wrong part to be kept (It takes the one that keeps the id, which for me results in the longer one, as I have decided not to bother which of the parts gets the id to speed up editing). It would be feasible to keep the part that keeps the route continuous, rather than creating a hole (i.e. check which part is connected to the rest, if any, and keep this part if possible).
As a second best behaviour, it could simply keep both, i.e. add the newly created way (resulting from the split) along with the part that has the existing id.

Attachments (2)

Screen Recording 2022-09-20 at 10.07.59.mov (4.1 MB ) - added by dieterdreist 2 years ago.
splitting a way which is part of a route, with the relation editor open, removes one of the resultant parts
josm-screencast_split-way.mov (1.6 MB ) - added by dieterdreist 2 years ago.

Change History (9)

comment:1 by dieterdreist, 2 years ago

Description: modified (diff)

in reply to:  description comment:2 by skyper, 2 years ago

Replying to dieterdreist:

Previously, you would get a conflict when clicking on OK of the relation editor, after you have been splitting a way that is inside a route relation for which you had the editor open.
Currently, it will not cause a conflict but will remove one of the parts and keep the other. In principle, this is the desired behaviour. but unfortunately JOSM often chooses the wrong part to be kept (It takes the one that keeps the id, which for me results in the longer one, as I have decided not to bother which of the parts gets the id to speed up editing). It would be feasible to keep the part that keeps the route continuous, rather than creating a hole (i.e. check which part is connected to the rest, if any, and keep this part if possible).

Note, the relation editor is independent.
Only if there are no changes in the relation editor no conflict is created and no changes of the relation are made closing the editor. (Unfortunately, the relation editor is not representing the modification unless you refresh it from the data layer.) The changes of the relation are solely result of the changes outside of the relation editor. In your case, splitting the way with membership of a route relation the new way is added to the memberlist as suggested under second, below. I was not able to reproduce the situation with only one part remaining member.

As a second best behaviour, it could simply keep both, i.e. add the newly created way (resulting from the split) along with the part that has the existing id.

by dieterdreist, 2 years ago

splitting a way which is part of a route, with the relation editor open, removes one of the resultant parts

comment:3 by skyper, 2 years ago

You example shows a new relation which has not been saved for the first time, e.g. the relation is not part of the data layer, yet, and the split way action does not know about it. Please, save the relation (second button on top) in advance.

comment:4 by dieterdreist, 2 years ago

it is the same with a saved relation, I have made another screencast so you can see it.

by dieterdreist, 2 years ago

comment:5 by GerdP, 2 years ago

In fact an open relation editor more or less guarantees problems when you split or combine objects which are members in the relation.
I wonder if we should simply disable those actions when a relation editor window is open.

in reply to:  5 comment:6 by skyper, 2 years ago

Replying to dieterdreist:

it is the same with a saved relation, I have made another screencast so you can see it.

Almost, but this time the button to refresh from data layer (first button on top) is activated and both parts are members if you refresh or close the relation editor.

Replying to GerdP:

In fact an open relation editor more or less guarantees problems when you split or combine objects which are members in the relation.
I wonder if we should simply disable those actions when a relation editor window is open.

The only problem I have is forgetting either to refresh from data layer or to apply the current changes to data layer and then later get conflicts. Closing and reopening the relation editor cannot be the solution for that.

Last edited 2 years ago by skyper (previous) (diff)

comment:7 by skyper, 2 years ago

Duplicate of #11599?

Modify Ticket

Change Properties
Set your email in Preferences
Action
as new The owner will remain team.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team to the specified user.
Next status will be 'needinfo'. The owner will be changed from team to dieterdreist.
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from team to anonymous. Next status will be 'assigned'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.