#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?
- 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).
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)
Change History (12)
by , 9 years ago
Attachment: | shapes.osm added |
---|
comment:2 by , 9 years ago
Cc: | added |
---|---|
Keywords: | regression added |
Milestone: | → 15.10 |
Priority: | normal → major |
by , 9 years ago
Attachment: | BuildingMerge1.png added |
---|
by , 9 years ago
Attachment: | BuildingMerge2.png added |
---|
comment:6 by , 9 years ago
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:
- 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.
by , 9 years ago
Attachment: | BuildingMerge3.png added |
---|
shapes (after join attempt). re-join closed shapes to re-try the operation.