Modify

Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#18051 closed defect (fixed)

Validator shows warning 'Way end node near other highway' for ways on different layers

Reported by: Luvot Owned by: team
Priority: normal Milestone: 19.09
Component: Core validator Version:
Keywords: template_report Cc:

Description (last modified by Klumbumbus)

What steps will reproduce the problem?

  1. Run validation on Way: Via ferrata dell'Infernone (osmwww:way/224887680)

What is the expected result?

No 'Way end node near other highway' warnings.

What happens instead?

Warning 'Way end node near other highway' is shown for
Way: Via ferrata dell'Infernone (224887680)
Node: 940690037

The node is the end point of a bridge over the way. The bridge is marked as layer=1.
The way is not marked as layer=0, because the tag is unnecessary.
If I mark the way as layer=0, then the 'Way end node near other highway' warning is not shown, but I get a new warning saying 'Unnecessary tag - layer=0 is unnecessary'

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

URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2019-07-10 00:52:47 +0200 (Wed, 10 Jul 2019)
Build-Date:2019-07-10 01:30:51
Revision:15238
Relative:URL: ^/trunk

Identification: JOSM/1.5 (15238 en) Linux Debian GNU/Linux 9.9 (stretch)
Memory Usage: 839 MB / 1820 MB (390 MB allocated, but free)
Java version: 1.8.0_212-8u212-b01-1~deb9u1-b01, Oracle Corporation, OpenJDK 64-Bit Server VM
Screen: :0.0 1920x1080
Maximum Screen Size: 1920x1080
Java package: openjdk-8-jre:amd64-8u212-b01-1~deb9u1
WebStart package: icedtea-netx:amd64-1.6.2-3.1+deb9u1
Java ATK Wrapper package: libatk-wrapper-java:all-0.33.3-13+deb9u1
libcommons-compress-java: libcommons-compress-java:all-1.13-1
libcommons-logging-java: libcommons-logging-java:all-1.2-1
fonts-noto: fonts-noto:all-20161116-1
liboauth-signpost-java: liboauth-signpost-java:all-1.2.1.2-1.5
VM arguments: [-Dicedtea-web.bin.name=javaws, -Dicedtea-web.bin.location=/usr/bin/javaws, -Djava.security.manager, -Djava.security.policy=/etc/icedtea-web/javaws.policy]
Dataset consistency test: No problems found

Last errors/warnings:
- E: Region [TMS_BLOCK_v2] Failure getting from disk, key = Bing aerial imagery:https://www.bing.com/maps/19/273745/187411
- E: Region [TMS_BLOCK_v2] Failure getting from disk, key = Bing aerial imagery:https://www.bing.com/maps/19/273746/187409
- E: Region [TMS_BLOCK_v2] Failure getting from disk, key = Bing aerial imagery:https://www.bing.com/maps/19/273747/187409
- E: Region [TMS_BLOCK_v2] Failure getting from disk, key = Bing aerial imagery:https://www.bing.com/maps/19/273746/187411
- E: Region [TMS_BLOCK_v2] Failure getting from disk, key = Bing aerial imagery:https://www.bing.com/maps/19/273745/187409
- E: Region [TMS_BLOCK_v2] Failure getting from disk, key = Bing aerial imagery:https://www.bing.com/maps/19/273744/187410
- E: Region [TMS_BLOCK_v2] Failure getting from disk, key = Bing aerial imagery:https://www.bing.com/maps/19/273744/187409
- E: Region [TMS_BLOCK_v2] Failure getting from disk, key = Bing aerial imagery:https://www.bing.com/maps/19/273747/187410
- E: Region [TMS_BLOCK_v2] Failure getting from disk, key = Bing aerial imagery:https://www.bing.com/maps/19/273746/187410
- E: Region [TMS_BLOCK_v2] Failure getting from disk, key = Bing aerial imagery:https://www.bing.com/maps/19/273744/187411

Attachments (3)

bug-infernone.osm (2.7 MB ) - added by Luvot 5 years ago.
.osm file for repro
bug-infernone_screenshot.png (224.2 KB ) - added by Luvot 5 years ago.
screenshot
18051.patch (16.3 KB ) - added by GerdP 5 years ago.

Change History (13)

comment:1 by Klumbumbus, 5 years ago

Description: modified (diff)

in reply to:  description comment:2 by Klumbumbus, 5 years ago

Replying to Luvot:

Warning 'Way end node near other highway' is shown for
Way: Via ferrata dell'Infernone (224887680)
Node: 940690037

Not for me, it seems you edited the area as there is no ending way near that bridge anymore.
Could you please (locally in JOSM only) revert to the state before your edit, save as osm file and attach it here?

by Luvot, 5 years ago

Attachment: bug-infernone.osm added

.osm file for repro

comment:3 by Luvot, 5 years ago

The warning was shown after I edited the area, while I was uploading the change.
If I run the validator now, no warning is shown for me either.

Attached an .osm file where I have:

  • reverted my change
  • redone one of the edits, i.e. split Way: Via ferrata dell'Infernone (224887680) at Node: 2337318224

I can repro with these steps:

  1. open bug-infernone.osm
  2. click 'Upload data'

A 'Suspicious data found' window with the warning opens, and afterwards the warning is also shown in the validation results. See also attached screenshot.

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

by Luvot, 5 years ago

screenshot

comment:4 by GerdP, 5 years ago

Yes, irritating. The reason is that - during upload - the validator checks only the updated objects. Maybe it would be better to disable this test when only partial data is tested.

comment:5 by skyper, 5 years ago

Test makes no sense with partial data as references. As it is useful on upload, we need to have it run on modified objects on upload but always use the full data as reference.

comment:6 by GerdP, 5 years ago

I agree. The current code only works with full data, so one approach would be to always check full data and filter results if upload or a selection was tested. That would add a rather big delay when you try to upload a small change made to a large dataset. I am looking for a better algorithm...

comment:7 by GerdP, 5 years ago

Hmm, there is a lot of code which cannot work since r4058: Changing preference validator.UnconnectedWays.way_way_distance has no effect. Seems that nobody missed the results of that test?
I tried to fix the code to make it work again but I am not sure if the results are useful, lot's of informational messages about nodes which are close to another way, e.g. two closed landuse ways with a small gap between them.

by GerdP, 5 years ago

Attachment: 18051.patch added

comment:8 by GerdP, 5 years ago

Work in progress:
The attached patch changes the data flow so that the test is always run against full data. If partial data is tested (selected objects or on upload) the found errors are filtered.
The patch improves throughput and thus performs much better on full data. I think there is still room for more improvements, and I'd like to add some more unit tests. It also fixes the problemms regarding validator.UnconnectedWays.way_way_distance.

I am not yet sure about nodes outside the download area. The unpatched version ignores them, the patched version complains when the node is modified or new.

comment:9 by GerdP, 5 years ago

Resolution: fixed
Status: newclosed

In 15335/josm:

fix #18051 and #18106
This is more or less a rewrite of the code, I hope I didn't introduce too many new problems.

  • always consider all ways with matching tag when calculating unconnected nodes
  • for partial tests filter the calculated errors (this means a small additional delay for this test when uploading data)
  • fix recursion problem in isConnectedTo so that it doesn't stop too early
  • remove code which excluded eg. ways with highway=cycleway + railway=abandoned or waterway=river + boundary=administrative
  • improve performance, esp. use HashSet when calculating types of nodes in method addNode() and QuadBuckets only when searching is done. Together with other changes this reduces runtime by ~50%, so I hope the delay for the upload is not too high.

comment:10 by GerdP, 5 years ago

Milestone: 19.09

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. 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.