[postgis-devel] [PostGIS] #1806: Extremely slow and CPU-intensive ST_MakeValid (ST_BuildArea) case
PostGIS
trac at osgeo.org
Sat May 12 12:39:06 PDT 2012
#1806: Extremely slow and CPU-intensive ST_MakeValid (ST_BuildArea) case
----------------------+-----------------------------------------------------
Reporter: strk | Owner: strk
Type: defect | Status: closed
Priority: high | Milestone: PostGIS 2.0.1
Component: postgis | Version: 2.0.x
Resolution: fixed | Keywords:
----------------------+-----------------------------------------------------
Comment(by aperi2007):
One of the main goal of ST_MakeValid is to do not lost any vertex.
This is a strong choice of cocurse, but is the only strategy to allow an
user to have all the vertex in a tabel and allow a posst processing phase
to repair better the geometries.
Infact in a geometry like this:
[[BR]]
{{{
-----------------
| |
| ------- |
| | | |
| ------- |
| |
-----------------
}}}
For some impredictable situations could became like this:
{{{
-----------------
| |
| |
| -------- |
| |
| |
-----------------
}}}
That is surely an invalid Polygon.
A strategy to transform this in a collection with this two parts:
{{{
-----------------
| |
| |
| | + --------
| |
| |
-----------------
}}}
Will allow to load this two geometri parts in two tables and working
because this are both two valid geometries.
After this, a power user could surely analyze the two parts (polygons and
lines ) and rearrange the lines restoring the original size (the hole in
the polygon).
Instead a strategy where the line is lost returning only the external
polygon like this:
{{{
-----------------
| |
| |
| |
| |
| |
-----------------
}}}
Will deny any possibility to restoring the original hole.
A strategy like this don't allow to use the DB as a startup for an editing
of any kind of geometry.
--
Ticket URL: <http://trac.osgeo.org/postgis/ticket/1806#comment:21>
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