[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