[Gfoss] Postgres/Postgis: trasformare un layer Polygo in MultiPolygon
Luca Sigfrido Percich
sigfrido a tiscali.it
Mer 1 Giu 2011 10:22:58 CEST
Ciao Luca,
puoi usare direttamente gli operatori di aggregazione delle geometrie
insieme ad un group by sui campi che identificano l'oggetto a cui i
singoli poligoni appartengono per esempio:
select cod_provincia, st_multi(st_union(geom)) from comuni group by
cod_provincia.
La chiamata a ST_Multi() garantisce di ottenere sempre un multipolygon,
infatti se tutti i poligoni che combini sono adiacenti dovresti ottenere
un polygon.
Se invece non hai un codice che identifichi i gruppi di poligoni e vuoi
farlo a mano su dei multipoligoni, allora devi prima fare
update miolayer set geom = st_multi(geom)
Probabilmente devi disabilitare/modificare i constraint creati da
addgeometrycolumn(), tipicamente su un layer poligonale avrai
CONSTRAINT enforce_geotype_geom CHECK (geometrytype(geom) =
'MULTIPOLYGON'::text
in caso contrario l'update a MultiPolygon fallirebbe.
Sig
Il giorno mer, 01/06/2011 alle 10.00 +0200, Luca Mandolesi ha scritto:
> Ciao a tutti,
>
>
> ho un layer in postgis di tipo Polygon, che ha una serie di geometrie
> in realtà appartenenti alla medesima entità, ma che sono disegnate
> separatamente in quanto il livello è di tipo Polygon.
>
>
> E' possibile trasformare da dentro postgres il layer da Polygon a
> Multipolygon? Successivamente andrei a prendere una ad una quelle
> geometrie che afferiscono ad una medesima entità, e le mergerei con lo
> strumento di Qgis "Unisci le geometrie selezionate".
Maggiori informazioni sulla lista
Gfoss