Ho un sacco di poligoni sovrapposti e sto cercando di dividere lo spazio per evitare di avere quelli sovrapposti. Penso che il mio problema sia abbastanza semplice. Usando alcuni prodotti ESRI e http://arcscripts.esri.com/details.asp?dbid=16700 il mio collega lo ha calcolato in 48 secondi.
Sto cercando di farlo con Postgis usando http://s3.opengeo.org/postgis-power.pdf#page=24 (indovinando i dettagli, usando http://trac.osgeo.org/postgis/wiki/UsersWikiSimplifyPreserveTopology come ispirazione) ma è così lento che non riesco a farlo con più di 10 polis (ne ho 800 da dividere). La parte lenta è ST_Union, ho provato varie cose, ma nessuna dove ha avuto successo, ecco lo stato attuale delle cose:
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
questo è stato calcolato per 26 minuti (il linemerge () in realtà non lo è). I poligoni sono MultiPoligoni nel caso in cui lo st_dump ti infastidisca.
Hai qualche consiglio? La st_union () del linework è la parte molto lenta.
Grazie,
Nico.
PS: ecco alcuni numeri: 852 multipoligoni, che portano a 14880 poligoni, che portano a 21467 linestring per un totale di 315513 vertici.