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

PostGIS trac at osgeo.org
Fri Apr 6 03:37:57 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):

 I'm still on this.
 {{{
 MULTIPOLYGON(((1725063 4819121, 1725104 4819067, 1725060 4819087,
 1725064.14183882 4819094.70208557,1725064.13656044
 4819094.70235069,1725064.14210359 4819094.70227252,1725064.14210362
 4819094.70227252,1725064.13656043 4819094.70235069,1725055. 4819094,
 1725055 4819094, 1725055 4819094, 1725063 4819121)))
 }}}

 ST_MakeValid chokes with the above input, due to UnaryUnion failing to
 correctly node the boundary of that multipolygon.

 Noding is under testing with the GEOS IteratedNoder which succeeds at
 fully noding the input with 6 iterations:
 {{{
 Iteration 1 # nodes created: 2
 Iteration 2 # nodes created: 3
 Iteration 3 # nodes created: 5
 Iteration 4 # nodes created: 5
 Iteration 5 # nodes created: 5
 Iteration 6 # nodes created: 0
 }}}

 This is (theoretically) because everytime you add a node to a segment
 you're effectively changing the segment shape and the new shape may
 intersect with other segments to which the original segment wasn't
 intersecting. I'd like to confirm this visually with an reduced precision
 model.

-- 
Ticket URL: <http://trac.osgeo.org/postgis/ticket/1735#comment:23>
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