[postgis-devel] [PostGIS] #1735: ST_MakeValid: exception on geometry

PostGIS trac at osgeo.org
Fri Mar 30 06:42:01 PDT 2012


#1735: ST_MakeValid: exception on geometry
-----------------------+----------------------------------------------------
 Reporter:  aperi2007  |       Owner:  strk         
     Type:  defect     |      Status:  assigned     
 Priority:  medium     |   Milestone:  PostGIS 2.0.1
Component:  postgis    |     Version:  trunk        
 Keywords:             |  
-----------------------+----------------------------------------------------

Comment(by strk):

 So, GEOSSymDifference is called by BuildArea and passed the outer rings of
 polygons returned by Polygonize. Supposedly these polygons should all be
 already noded so there would be no reason for the geos noder to complain.

 The offending input to BuildArea is this:
 {{{
 0105000000050000000102000000050000000000000087523A41000000402C62524100000000B0523A41000000C01E6252410000000084523A41000000C023625241858C4F2488523A4151F8EEAC2562524111A0F52288523A414F50F3AC2562524101020000000300000011A0F52288523A414F50F3AC2562524100A0F52288523A414F50F3AC25625241A871502388523A4158FEF2AC25625241010200000004000000A871502388523A4158FEF2AC25625241A0E6602488523A417108F2AC2562524121E7602488523A417108F2AC25625241A871502388523A4158FEF2AC25625241010200000002000000A871502388523A4158FEF2AC2562524111A0F52288523A414F50F3AC2562524101020000000400000011A0F52288523A414F50F3AC25625241D59FF52288523A414F50F3AC25625241000000007F523A4100000080256252410000000087523A41000000402C625241
 }}}

 Which is a multilinestring composed by 5 short lines.

 Surprising enough, ST_Relate of the geometry to self has NO BOUNDARY
 INTERSECTION !!

 {{{
 with inp as ( select
 '0105000000050000000102000000050000000000000087523A41000000402C62524100000000B0523A41000000C01E6252410000000084523A41000000C023625241858C4F2488523A4151F8EEAC2562524111A0F52288523A414F50F3AC2562524101020000000300000011A0F52288523A414F50F3AC2562524100A0F52288523A414F50F3AC25625241A871502388523A4158FEF2AC25625241010200000004000000A871502388523A4158FEF2AC25625241A0E6602488523A417108F2AC2562524121E7602488523A417108F2AC25625241A871502388523A4158FEF2AC25625241010200000002000000A871502388523A4158FEF2AC2562524111A0F52288523A414F50F3AC2562524101020000000400000011A0F52288523A414F50F3AC25625241D59FF52288523A414F50F3AC25625241000000007F523A4100000080256252410000000087523A41000000402C625241'::geometry
 as a ) select st_relate(a, a) from inp;

  1FFFFFFF2

 }}}

 That's surely a problem !

-- 
Ticket URL: <http://trac.osgeo.org/postgis/ticket/1735#comment:12>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.


More information about the postgis-devel mailing list