Opened 4 months ago
Last modified 4 months ago
#23808 reopened defect
Cannot align nodes in circle on a specific way segment
Reported by: | jfd553 | Owned by: | team |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Core | Version: | |
Keywords: | template_report | Cc: | taylor_smock |
Description
What steps will reproduce the problem?
- split a specific way (1301600687) to align nodes of a circular segment.
- select the segment to align nodes in circle (O).
- Error/warning message: "One or more nodes involved in this action may have additional referrers".
What is the expected result?
Align nodes in circle as it does for all other features I tried.
What happens instead?
Doesn't do anything - because of error/warning message
Please provide any additional information below. Attach a screenshot if possible.
Relative:URL: ^/trunk Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b Last:Changed Date: 2024-07-02 17:10:50 +0200 (Tue, 02 Jul 2024) Revision:19128 Build-Date:2024-07-03 01:31:15 URL:https://josm.openstreetmap.de/svn/trunk Identification: JOSM/1.5 (19128 en) Windows 11 64-Bit OS Build number: Windows 10 Pro 23H2 (22631) Memory Usage: 3064 MB / 8140 MB (880 MB allocated, but free) Java version: 21.0.3+9-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel Screen: \Display0 1920x1080x32bpp@60Hz (scaling 1.00×1.00) Maximum Screen Size: 1920×1080 Best cursor sizes: 16×16→32×32, 32×32→32×32 System property file.encoding: UTF-8 System property sun.jnu.encoding: Cp1252 Locale info: en_US Numbers with default locale: 1234567890 -> 1234567890 VM arguments: [-Dicedtea-web.bin.location=%UserProfile%\AppData\Local\Programs\OpenWebStart\javaws, -Djava.util.Arrays.useLegacyMergeSort=true, --add-reads=java.base=ALL-UNNAMED,java.desktop, --add-reads=java.desktop=ALL-UNNAMED,java.naming, --add-reads=java.naming=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/sun.awt=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/javax.jnlp=ALL-UNNAMED,java.desktop, --add-exports=java.base/com.sun.net.ssl.internal.ssl=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.action=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.provider=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.util=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.validator=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.security.x509=ALL-UNNAMED,java.desktop, --add-exports=java.base/jdk.internal.util.jar=ALL-UNNAMED,java.desktop, --add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/sun.awt.X11=ALL-UNNAMED,java.desktop, --add-exports=java.desktop/sun.applet=ALL-UNNAMED,java.desktop,jdk.jsobject, --add-exports=java.naming/com.sun.jndi.toolkit.url=ALL-UNNAMED,java.desktop, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, --add-exports=java.desktop/com.apple.eawt=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=javafx.graphics/com.sun.javafx.application=ALL-UNNAMED, --add-exports=jdk.deploy/com.sun.deploy.config=ALL-UNNAMED, --add-opens=java.base/java.lang=ALL-UNNAMED, --add-opens=java.base/java.nio=ALL-UNNAMED, --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED, --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED, --add-opens=java.desktop/javax.imageio.spi=ALL-UNNAMED, --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED, --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED, -Djava.security.manager=allow] Dataset consistency test: No problems found Plugins: + ImportImagePlugin (36184) + PicLayer (1.0.3) + apache-commons (36273) + ejml (36176) + geotools (36273) + jackson (36273) + jaxb (36118) + jts (36004) + measurement (36256) + reverter (36256) + tageditor (36258) + turnlanes-tagging (0.0.5) + turnrestrictions (36226) + utilsplugin2 (36241) Last errors/warnings: - 00000.280 W: extended font config - overriding 'filename.Malgun_Gothic=malgun.ttf' with 'MALGUN.TTF' - 00000.282 W: extended font config - overriding 'filename.Myanmar_Text=mmrtext.ttf' with 'MMRTEXT.TTF' - 00000.283 W: extended font config - overriding 'filename.Mongolian_Baiti=monbaiti.ttf' with 'MONBAITI.TTF' - 00002.723 W: Unable to request certificate of https://roottest-g3.pkioverheid.nl - 00003.179 W: Unable to request certificate of https://roottest-g3.pkioverheid.nl - 00008.843 E: unable to find dependency jaxb for plugin geotools - 00835.317 W: java.net.SocketTimeoutException: Read timed out. Cause: java.net.SocketTimeoutException: Read timed out - 02504.357 W: java.net.SocketTimeoutException: Read timed out. Cause: java.net.SocketTimeoutException: Read timed out
Attachments (4)
Change History (22)
by , 4 months ago
Attachment: | WayThatDoesNot Work.png added |
---|
comment:1 by , 4 months ago
Resolution: | → worksforme |
---|---|
Status: | new → closed |
You're trying to change an object which isn't fully downloaded. Simply download the object and it's sub elements (nodes) completely (i.e. re-download around the object or select the elements (including nodes) and call "update selected" or use similar methods.
If you are sure that you have all referrers downloaded and can reproduce this, reopen the report with details needed for us to reproduce the issue.
by , 4 months ago
Attachment: | WayIdThatDoesNot Work.txt added |
---|
Description of the way I can't work with: Yellowhead Highway (1301600687) before being split to align nodes in circle for a segment.
comment:2 by , 4 months ago
Cc: | added |
---|---|
Resolution: | worksforme |
Status: | closed → reopened |
@Taylor:
"Download object..." with "download referrers" enabled does not set the correct bits, so any element downloaded that way will be incorrectly flagged.
@jfd553:
Update selected wont work, it does not download additional referrers. Best solution is to view the whole object and download the area around it (show it completely and go to download which has the view preselected) until "download object" gets fixed.
comment:3 by , 4 months ago
When I download the way 1301600687 with referrers the way has the status "all-referrers-downloaded".
The nodes don't because their other referrers are not known.
comment:4 by , 4 months ago
If it helps...
The way/nodes were downloaded using two successive overlapping windows (a delineation of the coverage I used follows).
If I expand the download area to cover both initial windows, the problem is solved.
Daniel
<?xml version='1.0' encoding='UTF-8'?>
<osm version='0.6' generator='JOSM'>
<node id='-25377' action='modify' visible='true' lat='53.54562098946' lon='-117.14543482645' />
<node id='-25378' action='modify' visible='true' lat='53.53298868095' lon='-117.14543685846' />
<node id='-25379' action='modify' visible='true' lat='53.53297352862' lon='-116.87874874767' />
<node id='-25380' action='modify' visible='true' lat='53.52795146212' lon='-116.87874955534' />
<node id='-25381' action='modify' visible='true' lat='53.52794756955' lon='-116.81024667517' />
<node id='-25382' action='modify' visible='true' lat='53.54223741572' lon='-116.81024437677' />
<node id='-25383' action='modify' visible='true' lat='53.54224095545' lon='-116.87255887036' />
<node id='-25384' action='modify' visible='true' lat='53.54560549015' lon='-116.87255832909' />
<way id='-615' action='modify' visible='true'>
<nd ref='-25377' />
<nd ref='-25378' />
<nd ref='-25379' />
<nd ref='-25380' />
<nd ref='-25381' />
<nd ref='-25382' />
<nd ref='-25383' />
<nd ref='-25384' />
<nd ref='-25377' />
</way>
</osm>
comment:5 by , 4 months ago
"Download object..." with "download referrers" enabled does not set the correct bits, so any element downloaded that way will be incorrectly flagged.
I think this depends upon what "download referrers" is supposed to do. The download window (to me) indicates that it will go up to relations, but not down and then back up.
So way -> relation instead of way -> node -> (way|relation).
But we should have a way for users to select and update data; I thought Update modified
did that, but I guess not.
I believe we have to make two calls per node with the current API; one to /node/:id/ways, and one to /node/:id/relations. This isn't particularly efficient.
comment:6 by , 4 months ago
Please don't change the current logic. If I chose to download a (list of) specific object(s) I really don't want unrelated objects.
Typically it is much faster to download the area around the nodes which should be moved. If that is not feasable the user can use "Download parent ways/relations" before moving the nodes.
comment:7 by , 4 months ago
I agree, that's a new action (which we probably already have somewhere). Maybe we can add this to the error message. Like "Load all references"?
comment:8 by , 4 months ago
follow-up: 10 comment:9 by , 4 months ago
Sounds ok, we could test what users think. Thought it should be more generic. If we use this, we'll need it at many places.
comment:10 by , 4 months ago
Generic would be nice, I just don't want to generify it until I know the various places where it might be used.
For example, instead of doing what I did inside a specific action, we could, for example, add a new method to Notification
which takes a list of primitives that need to be updated.
However, that will only work for items that use notifications. If something uses a JOptionPane instead, we would have to do something a little different there.
comment:11 by , 4 months ago
For split ways, see #23810.
Of note, it uses a dialog instead of a notification.
comment:12 by , 4 months ago
I think the question is if we want to discourage any action which moves a node that is known in OSM when it is not clear if parents are downloaded. Also with the patch the behaviour is inconsequent. You can drag, distribute or align nodes, but "Align in circle" complains. I see no good reason for this.
comment:13 by , 4 months ago
The problem is that without all parent ways downloaded you can easily change the geometry of the invisible ways unintentionally.
In the past, we were checking if the node is in a downloaded area which had the disadvantage that no download area at all was interpreted as inside a download area. Now, with the flag, we have the concrete info for each node.
Moving a node only for a few centimeters is usually no problem but a few meters can already lead to major changes in geometry. Working with incomplete data like route relations, where I only download the members without any download area, I still have to remind me that I have to download the parent objects of a node which is part of a way before I move it. I can see only one disadvantage in downloading many relations with e.g. bus stops or guideposts.
So, yes, I would prefer a warning for all these actions moving nodes without all referrer downloaded, but we should offer an option to download the parent objects with the common settings do it automatically for the action, for the session and for ever.
comment:14 by , 4 months ago
As GerdP wrote, I don't see why I can drag, distribute or align nodes in the segment I am working with, but "Align to Circle" is forbidden. In any case, I would prefer a warning (with reference to a full explanation) rather than being prevented from acting.
The warning message "One or more nodes involved in this action may have additional referrers" made no sense to me – as a user.
The entire way was downloaded, no relation were attached to the nodes, and it wouldn't make sense to have to download hundreds of Km of highway (the only relation involved) to move a few nodes in the (downloaded) segment with which I worked.
Thanks, and keep doing your great job.
comment:15 by , 4 months ago
If you download a way you can't be sure that the nodes of the way are only used by that way. In some areas of the world it is very likely that a highway is connected to landuse or building ways. These other ways are referrers of the shared node(s).
comment:16 by , 4 months ago
I can understand that, but I still can't figure out what the problem was with the case I submitted. It's probably something that's happening under the hood that the user doesn't see :-)
comment:18 by , 4 months ago
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Print screen of JOSM when getting the error/warning message.