Metodo utilizzato nel caso si vogliano unire più oggetti di uno stesso strato PostGIS (stessa tabella PotgreSQL) che hanno valori uguali di un certo campo. Es. unire tutte le aste fluviali denominate “Adige”.
Ho seguito questo splendido post di Paolo Corti per completare la procedura.
La tabella unione deve essere create a priori inserendo, in seconda battuta, anche una colonna per memorizzare le informazioni geometriche (the_geom). Nel nostro caso:
SELECT AddGeometryColumn(”,’nome_tabella_unione’,’the_geom’,’-1′,’MULTILINESTRING’,2);
E’ importante impostare lo SRID a “-1” altrimenti viene riportato un errore di constraints (enforce_srid); inoltre lo strato viene caricato in Qgis ma non viene visualizzato.
Infine popoliamo la nuova tabella unione con i dati:
INSERT INTO nome_tabella_unione (the_geom,nome_campo1) SELECT astext(multi(ST_Union(the_geom))) AS the_geom,nome_campo1 FROM nome_tabella_originale GROUP BY nome_campo1;