[geos-devel] [GEOS] #1072: Setting precision of topologically invalid polygon returns incomplete results when preserving topology

GEOS geos-trac at osgeo.org
Mon Nov 23 13:39:51 PST 2020


#1072: Setting precision of topologically invalid polygon returns incomplete
results when preserving topology
--------------------------+--------------------------
 Reporter:  Brendan Ward  |      Owner:  geos-devel@…
     Type:  defect        |     Status:  new
 Priority:  major         |  Milestone:
Component:  Default       |    Version:  3.5.1
 Severity:  Unassigned    |   Keywords:
--------------------------+--------------------------
 Used via C API GEOSGeom_setPrecision_r.


 Given an invalid input polygon (bowtie): "POLYGON((0 0, 2.1 2.1, 2.1 0, 0
 2.1, 0 0))" and a gridSize of 1.

 If flag is set to not preserve topology, a topologically invalid polygon
 is emitted as expected: "POLYGON((0 0, 2 2, 2 0, 0 2, 0 0))"

 If flag is set to preserve topology, only one of the expected polygons is
 emitted: "POLYGON ((1 1, 2 2, 2 0, 1 1))"

 The expected result is a multi polygon: "MULTIPOLYGON (((1 1, 0 0, 0 2, 1
 1)), ((1 1, 2 2, 2 0, 1 1)))"

-- 
Ticket URL: <https://trac.osgeo.org/geos/ticket/1072>
GEOS <http://trac.osgeo.org/geos>
GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).


More information about the geos-devel mailing list