Eu tenho vários polígonos sobrepostos e estou tentando particionar o espaço para evitar os sobrepostos. Eu acho que meu problema é bastante simples. Usando algum produto ESRI e http://arcscripts.esri.com/details.asp?dbid=16700, meu colega de trabalho calculou em 48s.
Estou tentando fazer isso com o postgis usando http://s3.opengeo.org/postgis-power.pdf#page=24 (adivinhando os detalhes, usando http://trac.osgeo.org/postgis/wiki/UsersWikiSimplifyPreserveTopology como inspiração), mas é tão lento que não posso fazer isso com mais de 10 polys (tenho 800 deles para dividir). A parte lenta é a ST_Union, tentei várias coisas, mas nenhuma foi bem-sucedida, aqui está o estado atual:
select geom from
(select st_linemerge(st_union(geom)) as geom from
(select st_exteriorring((st_dumprings((st_dump(t.geom)).geom)).geom) as geom from
(SELECT geometry AS geom, id
FROM tt
WHERE campaign_id = 204
ORDER BY id limit 200) t) t2) t3
isso calcula há 26 minutos (o linemerge () na verdade não é). As polys são MultiPolygons, caso o st_dump o incomode.
Você tem alguma dica? O st_union () do trabalho de linha é a parte muito lenta.
Obrigado,
Nico.
PS: aqui estão alguns números: 852 multipolígonos, levando a 14880 polígonos, levando a 21467 cadeias de linhas, totalizando 315513 vértices.