Joining Overlapping Areas (Shift-J with two closed ways) results in RuntimeException
What steps will reproduce the problem?
- create two closed overlapping ways (I used the building tool, but any closed ways will do).
- Select both ways.
- 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).
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)
Change History
(12)
Cc: |
Aurimas added
|
Keywords: |
regression added
|
Milestone: |
→ 15.10
|
Priority: |
normal → major
|
Cc: |
simon04 Klumbumbus added
|
Resolution: |
→ fixed
|
Status: |
new → closed
|
shapes (after join attempt). re-join closed shapes to re-try the operation.