Modify

Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#11992 closed defect (fixed)

Joining Overlapping Areas (Shift-J with two closed ways) results in RuntimeException

Reported by: eladner Owned by: team
Priority: major Milestone: 15.10
Component: Core Version:
Keywords: template_report regression Cc: Aurimas, simon04, Klumbumbus

Description

What steps will reproduce the problem?

  1. create two closed overlapping ways (I used the building tool, but any closed ways will do).
  2. Select both ways.
  3. Shift-J (Join Overlapping Areas)

What is the expected result?

Overlapping areas are joined into one closed way.

What happens instead?

One way is not split at all. The second way is split into more pecies than necessary, resulting in more than two ways that need to be combined to form the complete outer way.

Occasionally, it will succeed, but I haven't been able to narrow down what the differences are (I tried different shapes with different starting points, inside, outside, etc for each way. Some would fail while others would not).

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

Revision: 8904
Repository Root: http://josm.openstreetmap.de/svn
Relative URL: ^/trunk
Last Changed Author: Don-vip
Last Changed Date: 2015-10-19 00:46:00 +0200 (Mon, 19 Oct 2015)
Build-Date: 2015-10-19 01:33:25
URL: http://josm.openstreetmap.de/svn/trunk
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last Changed Rev: 8904

Identification: JOSM/1.5 (8904 en) Linux Ubuntu 15.04
Memory Usage: 557 MB / 3641 MB (214 MB allocated, but free)
Java version: 1.8.0_60, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
VM arguments: [-DproxyHost=xxx, -DproxyPort=xxx]
Dataset consistency test: No problems found

Plugins:
- FastDraw (31603)
- buildings_tools (31640)
- download_along (31603)
- ext_tools (31603)
- geotools (31603)
- jts (31603)
- missingRoads (31)
- opendata (31241)
- reltoolbox (31603)
- splinex (31644)
- utilsplugin2 (31603)

Last errors/warnings:
- E: java.lang.RuntimeException: Way not circular

java.lang.RuntimeException: Way not circular
	at org.openstreetmap.josm.actions.JoinAreasAction.markWayInsideSide(JoinAreasAction.java:778)
	at org.openstreetmap.josm.actions.JoinAreasAction.joinAreas(JoinAreasAction.java:580)
	at org.openstreetmap.josm.actions.JoinAreasAction.join(JoinAreasAction.java:474)
	at org.openstreetmap.josm.actions.JoinAreasAction.actionPerformed(JoinAreasAction.java:404)
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1663)
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2882)
	at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:307)
	at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:263)
	at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2974)
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2966)
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2845)
	at java.awt.Component.processEvent(Component.java:6312)
	at java.awt.Container.processEvent(Container.java:2236)
	at java.awt.Component.dispatchEventImpl(Component.java:4891)
	at java.awt.Container.dispatchEventImpl(Container.java:2294)
	at java.awt.Component.dispatchEvent(Component.java:4713)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:806)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1074)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:945)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:771)
	at java.awt.Component.dispatchEventImpl(Component.java:4762)
	at java.awt.Container.dispatchEventImpl(Container.java:2294)
	at java.awt.Window.dispatchEventImpl(Window.java:2750)
	at java.awt.Component.dispatchEvent(Component.java:4713)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.awt.EventQueue$4.run(EventQueue.java:729)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Attachments (4)

shapes.osm (6.3 KB) - added by eladner 4 years ago.
shapes (after join attempt). re-join closed shapes to re-try the operation.
BuildingMerge1.png (114.2 KB) - added by hjart 4 years ago.
BuildingMerge2.png (124.6 KB) - added by hjart 4 years ago.
BuildingMerge3.png (195.5 KB) - added by hjart 4 years ago.

Download all attachments as: .zip

Change History (12)

Changed 4 years ago by eladner

Attachment: shapes.osm added

shapes (after join attempt). re-join closed shapes to re-try the operation.

comment:1 Changed 4 years ago by Don-vip

Ticket #11999 has been marked as a duplicate of this ticket.

comment:2 Changed 4 years ago by Don-vip

Cc: Aurimas added
Keywords: regression added
Milestone: 15.10
Priority: normalmajor

comment:3 Changed 4 years ago by Don-vip

Cc: simon04 Klumbumbus added

Regression of #10730 - r8886

comment:4 Changed 4 years ago by Don-vip

In 8930/josm:

see #10730 - see #11992 - add regression unit test

comment:5 Changed 4 years ago by Don-vip

Ticket #12003 has been marked as a duplicate of this ticket.

Changed 4 years ago by hjart

Attachment: BuildingMerge1.png added

Changed 4 years ago by hjart

Attachment: BuildingMerge2.png added

comment:6 Changed 4 years ago by hjart

The developers most likely already are aware of this, but just in case this is helpfull in any way:

Here's a couple of cases I've seen repeatedly when trying to merge building polygons:

and

  • In the first example both polygons are cut, but the highlighted excess "inner" ways are not removed as they should be.
  • In the second example only one of the polygons are cut and again the highlighted excess way is not removed.

Curiously merging buildings like this:


usually works.

Last edited 4 years ago by hjart (previous) (diff)

Changed 4 years ago by hjart

Attachment: BuildingMerge3.png added

comment:7 Changed 4 years ago by simon04

Resolution: fixed
Status: newclosed

In 8955/josm:

fix #11992 see #10730 - Joining Overlapping Areas results in RuntimeException

JoinAreasAction somehow requires that the first way chunk keeps the id of the split way.
SplitWayAction#Strategy allows to specify how to determine the way chunk which keeps the to id.

comment:8 Changed 4 years ago by Don-vip

Ticket #12020 has been marked as a duplicate of this ticket.

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.