Unioning linestrings is in fact useless here... Splitting initial polygon
ring with duplicate points generates the linestrings used by st_buildArea:

with duplicates as (
    select st_collect(point) as points from (
select distinct (st_dumppoints(geometry)).geom as point
        from test_polygon
        group by (st_dumppoints(geometry)).geom
        having count((st_dumppoints(geometry)).geom)>1
) as foo
) select st_buildArea(
st_difference(st_exteriorRing(t.geometry), points)
)
from duplicates dup, test_polygon t;

Nicolas

On 10 March 2012 21:49, Nicolas Ribot <nicolas.ri...@gmail.com> wrote:

> (sorry for all these spelling mistakes, I should have reread my mail)
_______________________________________________
postgis-users mailing list
postgis-users@postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users

Reply via email to