[geos-devel] Re: [GEOS] #488: TopologyException unioning valid geometries [JTS fails]
#488: TopologyException unioning valid geometries [JTS fails] +--- Reporter: sky |Owner: geos-devel@… Type: defect | Status: reopened Priority: major |Milestone: GEOS Future Component: Default | Version: svn-trunk Severity: Unassigned | Resolution: Keywords: jts fails | +--- Comment(by strk): self-unioning an operand becoming invalid after snap fixes this case. Attaching an updated reduced version with expected result (obtained with this heuristic) -- Ticket URL: http://trac.osgeo.org/geos/ticket/488#comment:27 GEOS http://geos.refractions.net/ GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). ___ geos-devel mailing list geos-devel@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/geos-devel
[geos-devel] Re: [GEOS] #488: TopologyException unioning valid geometries [JTS FAILS]
#488: TopologyException unioning valid geometries [JTS FAILS] +--- Reporter: sky | Owner: geos-devel@… Type: defect | Status: new Priority: major | Milestone: 3.4.0 Component: Default | Version: svn-trunk Severity: Unassigned |Keywords: jtsfail +--- Comment(by strk): But hold on a second: the input geometry is invalid: $ ./tests/xmltester/XMLTester --test-valid-input ~/Desktop/Download/bug488.xml /home/strk/Desktop/Download/bug488.xml: case0: test0: : invalid geometry (Geometry A): Self-intersection at or near point 2.4182989742693599 48.878099566078362 What told you they were valid ? -- Ticket URL: http://trac.osgeo.org/geos/ticket/488#comment:11 GEOS http://geos.refractions.net/ GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). ___ geos-devel mailing list geos-devel@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/geos-devel
[geos-devel] Re: [GEOS] #488: TopologyException unioning valid geometries [JTS FAILS]
#488: TopologyException unioning valid geometries [JTS FAILS] +--- Reporter: sky | Owner: geos-devel@… Type: defect | Status: new Priority: major | Milestone: 3.4.0 Component: Default | Version: svn-trunk Severity: Unassigned |Keywords: jtsfail +--- Comment(by strk): Could it be your controls were affected by bug #333 ? Could you double check ? -- Ticket URL: http://trac.osgeo.org/geos/ticket/488#comment:13 GEOS http://geos.refractions.net/ GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). ___ geos-devel mailing list geos-devel@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/geos-devel
[geos-devel] Re: [GEOS] #488: TopologyException unioning valid geometries [JTS FAILS]
#488: TopologyException unioning valid geometries [JTS FAILS] +--- Reporter: sky | Owner: geos-devel@… Type: defect | Status: new Priority: major | Milestone: 3.4.0 Component: Default | Version: svn-trunk Severity: Unassigned |Keywords: jtsfail +--- Comment(by sky): No not this bug, but, effectively, I've a weird behavior. In my test I check the polygon one by one before the creation of my collection. They are all valid. But when I run isValid() on the created collection it fails… Do you have an idea of how it's possible ? -- Ticket URL: http://trac.osgeo.org/geos/ticket/488#comment:14 GEOS http://geos.refractions.net/ GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). ___ geos-devel mailing list geos-devel@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/geos-devel
[geos-devel] Re: [GEOS] #488: TopologyException unioning valid geometries [JTS FAILS]
#488: TopologyException unioning valid geometries [JTS FAILS] +--- Reporter: sky | Owner: geos-devel@… Type: defect | Status: new Priority: major | Milestone: 3.4.0 Component: Default | Version: svn-trunk Severity: Unassigned |Keywords: jtsfail +--- Comment(by strk): A MultiPolygon in which two polygons overlap is not valid. -- Ticket URL: http://trac.osgeo.org/geos/ticket/488#comment:15 GEOS http://geos.refractions.net/ GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). ___ geos-devel mailing list geos-devel@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/geos-devel
[geos-devel] Re: [GEOS] #488: TopologyException unioning valid geometries [JTS FAILS]
#488: TopologyException unioning valid geometries [JTS FAILS] +--- Reporter: sky | Owner: geos-devel@… Type: defect | Status: new Priority: major | Milestone: 3.4.0 Component: Default | Version: svn-trunk Severity: Unassigned |Keywords: jtsfail +--- Comment(by strk): sky: please let me know if you have any really valid input for this, or close it as invalid. Thanks! -- Ticket URL: http://trac.osgeo.org/geos/ticket/488#comment:16 GEOS http://geos.refractions.net/ GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). ___ geos-devel mailing list geos-devel@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/geos-devel
[geos-devel] Re: [GEOS] #488: TopologyException unioning valid geometries [JTS fails]
#488: TopologyException unioning valid geometries [JTS fails] +--- Reporter: sky |Owner: geos-devel@… Type: defect | Status: reopened Priority: major |Milestone: 3.4.0 Component: Default | Version: svn-trunk Severity: Unassigned | Resolution: Keywords: jts fails | +--- Comment(by sky): Ok, thank you. Will you open the bug upstream or am I suppose to do it ? -- Ticket URL: http://trac.osgeo.org/geos/ticket/488#comment:21 GEOS http://geos.refractions.net/ GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). ___ geos-devel mailing list geos-devel@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/geos-devel
[geos-devel] Re: [GEOS] #488: TopologyException unioning valid geometries [JTS fails]
#488: TopologyException unioning valid geometries [JTS fails] +--- Reporter: sky |Owner: geos-devel@… Type: defect | Status: reopened Priority: major |Milestone: GEOS Future Component: Default | Version: svn-trunk Severity: Unassigned | Resolution: Keywords: jts fails | +--- Comment(by mdavis): This issue is caused by the fact that the input geometry has vertices with very high precision, and nearly-coincident line segments. This occurs both internal to and between geometries. Attached is a reduced test case containing only two polygons and using binary union directly. This is a common cause of robustness failure in the current JTS/GEOS overlay algorithm. Fixing this will require some deep design changes in JTS and/or better heuristics for handling failures. A workaround is to reduce the precision of the input geometries. Using 10 decimal places seems to work. -- Ticket URL: http://trac.osgeo.org/geos/ticket/488#comment:24 GEOS http://geos.refractions.net/ GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). ___ geos-devel mailing list geos-devel@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/geos-devel
[geos-devel] Re: [GEOS] #488: TopologyException unioning valid geometries [JTS fails]
#488: TopologyException unioning valid geometries [JTS fails] +--- Reporter: sky |Owner: geos-devel@… Type: defect | Status: reopened Priority: major |Milestone: GEOS Future Component: Default | Version: svn-trunk Severity: Unassigned | Resolution: Keywords: jts fails | +--- Comment(by strk): Don't Union operations already perform precision reduction as an heuristic on topology exception ? -- Ticket URL: http://trac.osgeo.org/geos/ticket/488#comment:25 GEOS http://geos.refractions.net/ GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). ___ geos-devel mailing list geos-devel@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/geos-devel
[geos-devel] Re: [GEOS] #488: TopologyException unioning valid geometries [JTS fails]
#488: TopologyException unioning valid geometries [JTS fails] +--- Reporter: sky |Owner: geos-devel@… Type: defect | Status: reopened Priority: major |Milestone: GEOS Future Component: Default | Version: svn-trunk Severity: Unassigned | Resolution: Keywords: jts fails | +--- Comment(by strk): Enabling some debugging code in GEOS here's what I see: {{{ Trying with original input. Original exception: TopologyException: no outgoing dirEdge found at 2.4121639662098748 48.875557185142789 Trying with Common Bits Remover (CBR) CBR: TopologyException: no outgoing dirEdge found at 0.41216396620987483 0.8755571851427888 Trying with snapping Computed snap tolerance: 7.513087031840282175e-12 Computed common bits: 2 48 SNAP: snapped geom 1 is INVALID: Self-intersection at or near point 0.41216396620987439 0.8755571851427888 (0.41216396620987438837 0.87555718514278879638) SNAP: TopologyException: side location conflict at 0.41216396620987439 0.8755571851427888 EXCEPTION on case 1 test 1: TopologyException: no outgoing dirEdge found at 2.4121639662098748 48.875557185142789 }}} I think the key is in the 'snapped geom 1 is INVALID' message, which means that geometry snapping is _introducing_ an invalidity. I saw this in other cases as well, don't remember if I also filed a bug for JTS about it. Anyway see also #501. If I'm not mistaken the problem is always with snapping making a portion of a polygon collapse to become a line, thus making that part invalid. -- Ticket URL: http://trac.osgeo.org/geos/ticket/488#comment:26 GEOS http://geos.refractions.net/ GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS). ___ geos-devel mailing list geos-devel@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/geos-devel