Modify

Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#17652 closed defect (fixed)

Method Geometry.isPolygonInsideMultiPolygon returns wrong result

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

Description

What steps will reproduce the problem?

  1. Load attached osm file
  2. Run validator

What is the expected result?

Maybe a warning for crossing or overlapping buildings

What happens instead?

Warning "Building inside building"

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

It seems the method Geometry.isPolygonInsideMultiPolygon is simply wrong in this case.

URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2019-03-31 21:17:00 +0200 (Sun, 31 Mar 2019)
Build-Date:2019-03-31 20:25:18
Revision:14945
Relative:URL: ^/trunk

Identification: JOSM/1.5 (14945 en) Windows 10 64-Bit
OS Build number: Windows 10 Home 1803 (17134)
Memory Usage: 559 MB / 1820 MB (367 MB allocated, but free)
Java version: 1.8.0_201-b09, 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_20190426_113327.jfr]
Dataset consistency test: No problems found

Plugins:
+ OpeningHoursEditor (34977)
+ apache-commons (34908)
+ buildings_tools
+ continuosDownload (82)
+ ejml (34908)
+ geotools (34908)
+ jaxb (34908)
+ jts (34908)
+ o5m (34908)
+ opendata
+ pbf (34908)
+ poly (34966)
+ reverter
+ undelete (34977)
+ utilsplugin2 (34977)

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

Last errors/warnings:
- W: Warning - <html>Plugin opendata requires JOSM version 14977. The current JOSM version is 14945.<br>You have to update JOSM in order to use this plugin.</html>
- W: No configuration settings found.  Using hardcoded default values for all pools.
- W: Region [TMS_BLOCK_v2] Resetting cache
- W: Warning - <html>Plugin reverter requires JOSM version 14946. The current JOSM version is 14945.<br>You have to update JOSM in order to use this plugin.</html>
- W: Warning - <html>Plugin buildings_tools requires JOSM version 14960. The current JOSM version is 14945.<br>You have to update JOSM in order to use this plugin.</html>

Attachments (1)

bib.osm (2.0 KB ) - added by GerdP 6 years ago.

Download all attachments as: .zip

Change History (5)

by GerdP, 6 years ago

Attachment: bib.osm added

comment:1 by GerdP, 6 years ago

Resolution: fixed
Status: newclosed

In 15021/josm:

fix #17652: Method Geometry.isPolygonInsideMultiPolygon returns wrong result

  • don't allow polygon to cross the outer way
  • performance improvement: only check if inner is inside outer when polygon is inside inner. Matters for complex mp with many inners.
  • add unit test which shows error #17652 with old code

comment:2 by GerdP, 6 years ago

Milestone: 19.04

comment:3 by GerdP, 6 years ago

I've just noticed that r15021 is a very good performance improvement for the case where you select a multipolygon by double clicking into it. For complex multipolygons like https://josm.openstreetmap.de/attachment/ticket/13289/rel1956189.osm.bz2 the old code almost made JOSM unusable while the new code reacts within a second.

comment:4 by Klumbumbus, 6 years ago

Oh yeah, thats huge! With an older version it takes 2 minutes to select the MP with double click on my computer. With JOSM latest less than a second.

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.