[geos-devel] [GEOS] #833: IsSimple=true for self-touching polygon

GEOS geos-trac at osgeo.org
Thu May 11 08:20:35 PDT 2017


#833: IsSimple=true for self-touching polygon
------------------------+--------------------------
 Reporter:  jratike80   |      Owner:  geos-devel@…
     Type:  defect      |     Status:  new
 Priority:  major       |  Milestone:
Component:  Default     |    Version:  3.6.0
 Severity:  Unassigned  |   Keywords:
------------------------+--------------------------
 Issue was found from PostGIS 2.3 with these tests:


 {{{
 select ST_IsValid(
 ST_GeomFromText(
 'POLYGON (( 320 620, 460 620, 460 500, 320 620, 320 500, 180 500, 180
 620, 320 620 ))'
      ));
 Result: "f".
 }}}




 {{{
 select ST_IsValidReason(
   ST_GeomFromText(
   'POLYGON (( 320 620, 460 620, 460 500, 320 620, 320 500, 180 500, 180
 620, 320 620 ))'
       ));
 Result: "Ring Self-intersection[320 620]"
 }}}



 {{{
 select ST_IsSimple(
   ST_GeomFromText(
   'POLYGON (( 320 620, 460 620, 460 500, 320 620, 320 500, 180 500, 180
 620, 320 620 ))'
       ));
 Result: "t"
 }}}


 JTS IsSimpleOp used to return trivially "true" for all polygons but since
 SVN revision 662 Sept 2012 self-intersecting rings are tested. GEOS should
 do the same.

 See discussion in thread
 https://lists.osgeo.org/pipermail/postgis-users/2017-May/042102.html

--
Ticket URL: <https://trac.osgeo.org/geos/ticket/833>
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