Modify

Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#20007 closed defect (worksforme)

Unglue node with tags from another element (area or way) + put on new node, not working

Reported by: sharcrash Owned by: team
Priority: normal Milestone:
Component: Core Version:
Keywords: template_report Cc:

Description

What steps will reproduce the problem?

  1. select node with tags (part also of an area
  2. press shortcut g to detach it
  3. select "new node" on the new window
  4. press "unglue"

What is the expected result?

New node with the tags from the node to unglue

What happens instead?

New node without any tags

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

Also i noticed that when we want to unglue a way from a node with tags but with the function "improve way accuracy" via alt+click, the way or area cannot be unglued from that node, it says "cannot delete node with tags" whereas the point is not to delete the node but just unglue it.

URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2020-10-03 13:42:38 +0200 (Sat, 03 Oct 2020)
Build-Date:2020-10-04 01:30:47
Revision:17084
Relative:URL: ^/trunk

Identification: JOSM/1.5 (17084 en) Windows 7 64-Bit
OS Build number: Windows 7 Professional (7601)
Memory Usage: 1069 MB / 1820 MB (268 MB allocated, but free)
Java version: 1.8.0_271-b09, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1280x1024 (scaling 1.0x1.0), \Display1 1280x1024 (scaling 1.0x1.0)
Maximum Screen Size: 1280x1024
Best cursor sizes: 16x16 -> 32x32, 32x32 -> 32x32
Dataset consistency test: No problems found

Plugins:
+ ImageWayPoint (35248)
+ SimplifyArea (35405)
+ alignways (35474)
+ apache-commons (35524)
+ areaselector (368)
+ austriaaddresshelper (1597341117)
+ buildings_tools (35563)
+ continuosDownload (91)
+ contourmerge (v0.1.6)
+ ejml (35313)
+ geochat (35405)
+ imagery_offset_db (35405)
+ log4j (35092)
+ photo_geotagging (35499)
+ photoadjust (35405)
+ reltoolbox (35529)
+ reverter (35556)
+ turnrestrictions (35515)
+ undelete (35521)
+ utilsplugin2 (35487)
+ wikipedia (1.1.4)

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Fixme&zip=1
- https://github.com/bastik/mapcss-tools/raw/osm/mapnik2mapcss/osm-results/mapnik.zip
- https://josm.openstreetmap.de/josmfile?page=Styles/Surface&zip=1
+ https://github.com/gmgeo/osmic-josm-style/archive/master.zip
- https://josm.openstreetmap.de/josmfile?page=Styles/Enhanced_Lane_and_Road_Attributes&zip=1

Last errors/warnings:
- 00033,872 W: No default layer selected, choosing first layer.
- 09198,242 E: Handled by bug report queue: org.openstreetmap.josm.data.osm.DataIntegrityProblemException: identified sequence of equal nodes in a node list, illegal sequence starts a position 27
- 11270,679 W: java.net.SocketTimeoutException: Read timed out. Cause: java.net.SocketTimeoutException: Read timed out
- 11270,691 W: java.net.SocketTimeoutException: Read timed out. Cause: java.net.SocketTimeoutException: Read timed out

Attachments (0)

Change History (19)

comment:1 Changed 3 years ago by GerdP

I cannot reproduce this. After your steps you should find a new tagged node glued to area and the old (unglued) node at the position of the mouse cursor.

comment:2 Changed 3 years ago by sharcrash

I get an empty unglued node and the node (or let's say POI) connected to the way has still the tags.

Previously, I had tried to unglue on the this position https://www.openstreetmap.org/node/8063228339 and as you can see it is still has the tags. The function unglued this node https://www.openstreetmap.org/node/1629994428 which holds the OSM's history, but the function has emptied it.

comment:3 Changed 3 years ago by GerdP

Yes, I think that's what you get when you say that the new node should get the tags. The old node is unglued has has no tags.

comment:4 Changed 3 years ago by GerdP

Maybe you are used to the behaviour before r16362?

comment:5 Changed 3 years ago by skyper

Unglue behaves inconsistent.
If the node has only one parent way, the existing (old) node is moved. But with more than one parent way new and old seem to be the opposite. At least when I select the way. I did not understand how to predict new and old without a selected way, yet, e.g. have three ways share a child node and only select the node. Then unglue. Two nodes are new and one is old but which is which?

comment:6 Changed 3 years ago by GerdP

Two nodes are new and one is old but which is which?

There is a relative complex sort to find this. See https://josm.openstreetmap.de/browser/josm/trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java line 373

comment:7 Changed 3 years ago by sharcrash

I tried on a new situation:

  • I have a node A (holding the tags) part of a way A and connected it to another node B being part of 3 other ways B C D.
  • hit the unglue function, selected "tags on new node" then "unglue"
  • the function just unglued all nodes whereas it should have placed the tags and its node identity (OSM history) on a separate node.
  • I move them all apart
  • node A' part of way A does not have tags, all others nodes B C and D got the tags copied.
  • node A' part of way A got the identity/history of another node part of B C D ways.

Hope this helps.

comment:8 Changed 3 years ago by GerdP

Is anything wrong with that?

comment:9 Changed 3 years ago by sharcrash

Well yeah in my opinion, as i said the function should have placed the tags and its node identity (OSM history) on a separate node. That's what this function exists for, otherwise i could just copy/paste the tags to a new node and erase the tags on the original node, but the OSM history would be "lost", or i should rather say that the identity of that original node has lost its feature. Contributors may wonder why or whatever...

Last edited 3 years ago by sharcrash (previous) (diff)

comment:10 Changed 3 years ago by GerdP

No, when the node glues two or more ways the ways are unglued.
You should also consider to use the default "tags on old node".
Or maybe you mean Alt+J (Disconnect Node from Way) instead?

comment:11 in reply to:  6 ; Changed 3 years ago by skyper

Replying to GerdP:

Two nodes are new and one is old but which is which?

There is a relative complex sort to find this. See https://josm.openstreetmap.de/browser/josm/trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java line 373

Ok, I understand that the way with lower id is not changed but I do not understand why less parents are a criteria. In my eyes, it should be the opposite (most parents) and additionally we might have a look at the memberships of the node. E.g. if the node and its parent way are member of the same relation like turn-restrictions.

comment:12 in reply to:  10 Changed 3 years ago by sharcrash

Replying to GerdP:

No, when the node glues two or more ways the ways are unglued.

In my opinion, it's doesn't seem right for the reason i epxlained. So, how do we unglue the tags (and its OSM identity/history) from a multi-way or even from a single way node?

You should also consider to use the default "tags on old node".

It also keeps the tags glued to the ways.

Or maybe you mean Alt+J (Disconnect Node from Way) instead?

I did not consider it, i never used it in my workflow (rather use "improve way accuracy"). It works as a substitute on a node from a single way parent. Thanks!

comment:13 Changed 3 years ago by skyper

To completely unglue from multiple ways, at once, the "extract Node" action from utilsplugin2 is the solution (ALt+Shift+J).

Is there an option to highlight the way which won`t be changed similar to the selection in "Split way"? I do not like the unpredictable result for old vs new, atm, when more than one way is involved.

comment:14 in reply to:  13 Changed 3 years ago by sharcrash

Replying to skyper:

To completely unglue from multiple ways, at once, the "extract Node" action from utilsplugin2 is the solution (ALt+Shift+J).

That works! Thanks!

comment:15 Changed 3 years ago by GerdP

Resolution: worksforme
Status: newclosed

Is there an option to highlight the way which won`t be changed similar to the selection in "Split way"? I do not like the unpredictable result for old vs new, atm, when more than one way is involved.

If you know the way that should be changed (get the new node) you can select it in addition to the node.

comment:16 in reply to:  11 ; Changed 3 years ago by skyper

Replying to GerdP:

Is there an option to highlight the way which won`t be changed similar to the selection in "Split way"? I do not like the unpredictable result for old vs new, atm, when more than one way is involved.

If you know the way that should be changed (get the new node) you can select it in addition to the node.

I know that. I was talking about the situation with only the node selected. Gonna take a closer look and will come up with a new ticket.

Replying to skyper:

Replying to GerdP:

Two nodes are new and one is old but which is which?

There is a relative complex sort to find this. See https://josm.openstreetmap.de/browser/josm/trunk/src/org/openstreetmap/josm/actions/UnGlueAction.java line 373

Ok, I understand that the way with lower id is not changed but I do not understand why less parents are a criteria. In my eyes, it should be the opposite (most parents) and additionally we might have a look at the memberships of the node. E.g. if the node and its parent way are member of the same relation like turn-restrictions.

Do you understand why less and not more parents is a criteria for the way?

comment:17 Changed 3 years ago by GerdP

Do you understand why less and not more parents is a criteria for the way?

No, but I am not sure if the code matches the comment.

comment:18 Changed 3 years ago by GerdP

I think the comment should be something like

// first way should not be changed, preferring older ways and those with more parents 
// or ways where the node is the closing node
Last edited 3 years ago by GerdP (previous) (diff)

comment:19 in reply to:  16 Changed 3 years ago by skyper

Replying to skyper:

Replying to GerdP:

Is there an option to highlight the way which won`t be changed similar to the selection in "Split way"? I do not like the unpredictable result for old vs new, atm, when more than one way is involved.

If you know the way that should be changed (get the new node) you can select it in addition to the node.

I know that. I was talking about the situation with only the node selected. Gonna take a closer look and will come up with a new ticket.

See #20052.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.