[Gfoss] Postgres/Postgis: trasformare un layer Polygo in MultiPolygon

Luca Mandolesi mandoluca a gmail.com
Mer 1 Giu 2011 10:34:30 CEST


Grazie Luca

2011/6/1 Luca Sigfrido Percich <sigfrido at tiscali.it>

>
> 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.
>

Diciamo che le regole le ho, ma gli errori umani di inserimento dati ancora
di più, quindi devo ricontrollare per forza 450 entità ripetute una ad una
(per la cronaco parlo di US archeologiche, strati che dovrebbero essere di
tipo polygon, ma che per ragioni pratiche alla fine sono disegnate come
Multipolygon).

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
>

Perfetto, grazie mille!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20110601/6774a017/attachment.html>


Maggiori informazioni sulla lista Gfoss