This is likely due to lines in the input which are almost, but not quite
coincident. This would be caused by two polygons which have similar,
but not identical, line(s) along a portion of their boundaries. These
might be in a single layer, or they might be in different input layers.
Unfortunately in general these are not easy to recover from. One thing
you can try is to reduce the precision of your input geometries.
I think the ultimate technical solution to this is to snap-round the
datasets individually and together. Unfortunately I don't have code or
an API for doing this at this point.
The coordinates in the error message are not useful - they are in a
translated coordinate system used internally.
I'd be interested to see the input dataset, if you can provide it.
Martin
Stefan Steiniger wrote:
Hei Martin and others,
I get the exception below while intersecting two layers of polygons
(in OpenJUMP >Tools>two Layers>intersect polygon layers).
Is there a way to proceed despite the exception?
Could it be that the problem is within one layer of polygons? i.e.
overlapping polygons in one layer?
The coordinates are also not useful [1] - not sure what coordinate
system they are in???
stefan
[1]
bbox(677104.8683854531,228446.29622920923,687118.4247461993,237423.31161814026)
com.vividsolutions.jts.geom.TopologyException: found non-noded
intersection between LINESTRING ( 5453.300000000047 32281.0,
5454.177554877591 32280.11017162766 ) and LINESTRING (
5454.177554877578 32280.110171627675, 5452.379085899257
32281.844875321825 ) [ (5454.177554877563, 32280.11017162769, NaN) ]
at
com.vividsolutions.jts.noding.FastNodingValidator.checkValid(FastNodingValidator.java:109)
at
com.vividsolutions.jts.geomgraph.EdgeNodingValidator.checkValid(EdgeNodingValidator.java:94)
at
com.vividsolutions.jts.geomgraph.EdgeNodingValidator.checkValid(EdgeNodingValidator.java:59)
at
com.vividsolutions.jts.operation.overlay.OverlayOp.computeOverlay(OverlayOp.java:170)
at
com.vividsolutions.jts.operation.overlay.OverlayOp.getResultGeometry(OverlayOp.java:127)
at
com.vividsolutions.jts.operation.overlay.OverlayOp.overlayOp(OverlayOp.java:66)
at
com.vividsolutions.jts.operation.overlay.snap.SnapOverlayOp.getResultGeometry(SnapOverlayOp.java:67)
at
com.vividsolutions.jts.operation.overlay.snap.SnapOverlayOp.overlayOp(SnapOverlayOp.java:24)
at
com.vividsolutions.jts.operation.overlay.snap.SnapIfNeededOverlayOp.getResultGeometry(SnapIfNeededOverlayOp.java:76)
at
com.vividsolutions.jts.operation.overlay.snap.SnapIfNeededOverlayOp.overlayOp(SnapIfNeededOverlayOp.java:25)
at com.vividsolutions.jts.geom.Geometry.union(Geometry.java:1173)
at
org.openjump.core.geomutils.algorithm.IntersectGeometries.nodeLines(IntersectGeometries.java:471)
at
org.openjump.core.ui.plugin.tools.IntersectPolygonLayersPlugIn.runIntersectionNew(IntersectPolygonLayersPlugIn.java:179)
at
org.openjump.core.ui.plugin.tools.IntersectPolygonLayersPlugIn.run(IntersectPolygonLayersPlugIn.java:112)
at
com.vividsolutions.jump.workbench.ui.task.TaskMonitorManager$TaskWrapper.run(TaskMonitorManager.java:149)
at java.lang.Thread.run(Thread.java:619)
_______________________________________________
jts-devel mailing list
[email protected]
http://lists.refractions.net/mailman/listinfo/jts-devel
--
Martin Davis
Senior Technical Architect
Refractions Research, Inc.
(250) 383-3022
_______________________________________________
jts-devel mailing list
[email protected]
http://lists.refractions.net/mailman/listinfo/jts-devel