Modify

Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#19111 closed defect (fixed)

Unglue node shows confusing information when unglueing a tagged roundabout node

Reported by: GerdP Owned by: GerdP
Priority: normal Milestone: 20.05
Component: Core Version:
Keywords: template_report unglue Cc:

Description (last modified by GerdP)

What steps will reproduce the problem?

  1. load attached file
  2. select the node tagged natural=tree
  3. press G to unglue
  4. note that the popup asking where the tags of the new node should be used and at the same time(1) a notification "unglueing affected one relation" is displayed. If ESC is pressed the popup appears again (but only once)

What is the expected result?

1) no warnings about relations before the popup dialag is closed
2) popup should not appear twice asking the same question
3) way should not be opened

What happens instead?

see 4.

Please provide any additional information below. Attach a screenshot if possible.

The special case is that the selected node is also the closing node of the roundabout.

URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2020-04-06 02:17:07 +0200 (Mon, 06 Apr 2020)
Build-Date:2020-04-06 00:18:43
Revision:16239
Relative:URL: ^/trunk

Identification: JOSM/1.5 (16239 en) Windows 10 64-Bit
OS Build number: Windows 10 Home 1903 (18362)
Memory Usage: 883 MB / 1820 MB (188 MB allocated, but free)
Java version: 1.8.0_221-b11, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Screen: \Display0 1920x1080
Maximum Screen Size: 1920x1080
VM arguments: [-XX:StartFlightRecording=name=MyRecording2,settings=d:\dbg\gerd.jfc, -XX:FlightRecorderOptions=defaultrecording=true,dumponexit=true,dumponexitpath=e:\ld\perf_20200418_092140.jfr]
Dataset consistency test: No problems found

Plugins:
+ OpeningHoursEditor (35414)
+ PolygonCutOut (v0.7)
+ apache-commons (35362)
+ buildings_tools (35405)
+ continuosDownload (91)
+ ejml (35313)
+ geotools (35169)
+ jaxb (35092)
+ jts (35122)
+ merge-overlap (35248)
+ o5m (35248)
+ opendata (35405)
+ pbf (35248)
+ poly (35248)
+ reverter (35409)
+ undelete (35405)
+ utilsplugin2 (35405)

Validator rules:
+ c:\josm\core\resources\data\validator\geometry.mapcss

Last errors/warnings:
- W: Unsaved changes - <html>The relation has been changed.<br><br>Do you want to save your changes?</html>

Attachments (3)

19111-sample.osm (3.8 KB ) - added by GerdP 5 years ago.
added upload='never'
19111-sample-v2.osm (7.8 KB ) - added by GerdP 5 years ago.
collection of different unglue cases
19111.patch (24.9 KB ) - added by GerdP 5 years ago.
WIP

Download all attachments as: .zip

Change History (12)

comment:1 by GerdP, 5 years ago

Owner: changed from team to GerdP
Status: newassigned
Summary: Unglue node shows confusing information when unglueing a roundaboutUnglue node shows confusing information when unglueing a tagged roundabout node

comment:2 by GerdP, 5 years ago

Description: modified (diff)
Keywords: unglue added
Milestone: 20.04

by GerdP, 5 years ago

Attachment: 19111-sample.osm added

added upload='never'

comment:3 by GerdP, 5 years ago

The same popup is shown twice because the unglue action first tries to split the closed way. If user cancels this action the popup is shown again because the node is tagged and thus the user may want to unglue the tagged node from the way. I hope there is no user who relies on this strange behaviour.

My proposal:
I think the popup should not ask where the tags should be put when the node is referenced exactly once in only one way. The only possible reason to press G is to create a new node with the tags of the selected node, else we crate a new untagged node which is not connected to anything.

If the popup asks where the tags should be put and the user selects the old node, it is clear that the users wants to unglue a closed or self-intersecting node.

Version 1, edited 5 years ago by skyper (previous) (next) (diff)

comment:4 by GerdP, 5 years ago

It's worse :(
The meaning of the popup is competely different when a you unglue a tagged node that is only referrenced by one way.
This confused me for quite a while now.
See also ticket:16874#comment:6

Last edited 5 years ago by GerdP (previous) (diff)

by GerdP, 5 years ago

Attachment: 19111-sample-v2.osm added

collection of different unglue cases

by GerdP, 5 years ago

Attachment: 19111.patch added

WIP

comment:5 by GerdP, 5 years ago

The patch fixes some issues with Unglue that I found so far:

  • don't ignore user input given in popup
  • report correct number of affected relations (#19105)
  • when unglued (old) node is moved, place it either at the current mouse position (in cursor is in mapview) or 5 pixels above the original position. The old code sometimes placed it somewhere near the edge of the mapview window. The actual position depends on the input device that is used to select the node and to close the popup dialog (keyboard or mouse)
  • various code simplifications

Not yet done:

  • I think the popup should not be shown when a tagged node is selected and the node is referrenced only once by exactly one way. (node tagged crossing=traffic_signals in 19111-sample-v2.osm, also the one with power=tower)
  • Also if only the node tagged crossing=uncontrolled is selected there is no good reason to show the popup as the user doesn't know which way will get the new node.
  • all problems regarding possible incomplete data (node not inside a download area)
Last edited 5 years ago by GerdP (previous) (diff)

comment:6 by GerdP, 5 years ago

In 16362/josm:

see #19111, #19105

  • don't ignore/reverse user input given in popup reg. tags/memberships
  • report correct number of affected relations (#19105)
  • when unglued (old) node is moved, place it either at the current mouse position (in cursor is in mapview) or 5 pixels above the original position. The old code sometimes placed it somewhere near the edge of the mapview window. The actual position depends on the input device that is used to select the node and to close the popup dialog (keyboard or mouse)
  • various code simplifications

comment:7 by GerdP, 5 years ago

Resolution: fixed
Status: assignedclosed

comment:8 by GerdP, 5 years ago

In 16363/josm:

see #19111, #19105
revert one last minute change: if only a way is selected, use all nodes in checkAndConfirmOutlyingUnglue()

comment:9 by Klumbumbus, 5 years ago

Milestone: 20.0420.05

Milestone renamed

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain GerdP.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


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