Hi Jukka,

If your geometries are valid, this is probably a robustness issue.
It seems that SimplifyPolygonCoveragePlugIn makes use of 
Geometry.difference operator, which,
AFAIK, is one of the most sensitive to robustness problems.

Fix : It is probably hard to solve the problem in a clean way (maybe 
worth sending a test case to
Martin if you can isolate the two geometries involved in the difference).

Hack : For a generalisation plugin, it may be acceptable to catch the 
exception and to retry the operation
with a slightly modified input geometry (depends on the algorithm though).

Repair : From a practical point of view, I often localize the problem 
thanks to the linestring coordinates
of the message, then I discover two geometries which are neaaaaaaarly 
equals... In this case, fixing the
bad topology (for example with the snap vertices tool) may solve the 
problem.

Michaël

Le 24/03/2015 12:59, Rahkonen Jukka (MML) a écrit :
> Hi,
>
>   I wonder what is is causing these errors and how to get rid of those when 
> trying to generalize a polygon layer. Source data is passing all the QA tests.
>
> com.vividsolutions.jts.geom.TopologyException: found non-noded intersection 
> between LINESTRING ( 564808.0140000008 7321057.019999999, 564808.014 
> 7321057.019999999 ) and LINESTRING ( 564808.0140000005 7321057.019999999, 
> 564808.0140000008 7321057.019999999 ) [ (564808.0140000005, 
> 7321057.019999999, NaN) ]
>       at 
> com.vividsolutions.jts.noding.FastNodingValidator.checkValid(FastNodingValidator.java:130)
>       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:237)
>       at 
> com.vividsolutions.jts.operation.overlay.OverlayOp.getResultGeometry(OverlayOp.java:189)
>       at 
> com.vividsolutions.jts.operation.overlay.OverlayOp.overlayOp(OverlayOp.java:92)
>       at 
> com.vividsolutions.jts.operation.overlay.snap.SnapIfNeededOverlayOp.getResultGeometry(SnapIfNeededOverlayOp.java:96)
>       at 
> com.vividsolutions.jts.operation.overlay.snap.SnapIfNeededOverlayOp.overlayOp(SnapIfNeededOverlayOp.java:58)
>       at com.vividsolutions.jts.geom.Geometry.difference(Geometry.java:1419)
>       at 
> org.openjump.core.graph.polygongraph.PolygonGraphNode.getNonSharedBoundariesAsFeature(PolygonGraphNode.java:82)
>       at 
> org.openjump.core.graph.polygongraph.PolygonGraph.getNonSharedBoundaries(PolygonGraph.java:194)
>       at 
> org.openjump.core.ui.plugin.tools.generalization.SimplifyPolygonCoveragePlugIn.run(SimplifyPolygonCoveragePlugIn.java:166)
>       at 
> com.vividsolutions.jump.workbench.ui.task.TaskMonitorManager$TaskWrapper.run(TaskMonitorManager.java:152)
>       at java.lang.Thread.run(Thread.java:724)
>
>
> -Jukka Rahkonen-
> ------------------------------------------------------------------------------
> Dive into the World of Parallel Programming The Go Parallel Website, sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for all
> things parallel software development, from weekly thought leadership blogs to
> news, videos, case studies, tutorials and more. Take a look and join the
> conversation now. http://goparallel.sourceforge.net/
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>


------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to