ovviamente la risposta di giovanni è ineccepibile, corretta ed elegante; la soluzione che ho segnalato è proprio da "praticone". :-)
s. Il giorno 30 marzo 2017 09:22, G. Allegri <gioha...@gmail.com> ha scritto: > Buongiorno, > la funzione Processing ->Strumenti geometria vettore -> Dissolve permette > di eseguirlo in base ad un campo di raggruppamento. Se vedi, nella finestra > dello strumento, c'è un "Campo ID univoco". Se deselezioni "Dissolvi tutto" > (flag) e selezioni il campo di raggruppamento, il dissolve sarà fatto in > base al valore di quel campo. Tuttavia lo strumento non ti permette di > ottenere aggregazioni (somme, medie, ecc.) sugli altri campi. > > La strada più versatile è sicuramente l'uso di una query SQL. Per poterla > visualizzare puoi aggiungere un campo geometrico e applicarci una funzione > di aggregazione: > > SELECT > "COD_ISTAT", > sum(R03_indicatori_2011_sezioni_P1) AS somma_p1, > *ST_Union**(geom**) AS geom*, > FROM "R03_11_WGS84" GROUP BY "COD_ISTAT" > > La funzioni collect() crea un multipolygon di tutte le sezioni censuarie > di ogni gruppo "COD_ISTAT". > > A quel punto in fondo alla finestra SQL del DB Manager > > 1) clicca su "Carica come nuovo layer" > 2) Scegli il campo id univoco (es. COD_ISTAT) > 3) Scegli la colonna geometrica (in questo esempio sarebbe geom per come > ho definito l'alias del campo (AS geom) > 4) Clicca su "Carica ora!" > > Ti si caricherà un layer (Querylayer) che conterrà le tue geometrie > aggregate (dalla collect) e, nella tabella attributi, le somme. > > Ovviamente potrai aggiungere altri campi (somma di p2, ecc.) e potrai > anche aggregare per più campi (GROUP BY campo1,campo2,ecc.) > > Nella documentazione delle funzioni di Spatialite le funzioni di > aggregazione sono segnate con la scritta in rosso "aggregate_function" [1]. > Tra queste c'è anche le "collect()" che, a differenza della st_unioni, > semplicemente ti crea una multigeometria invece che l'unione, e quindi è > molto più veloce. > > Giovanni > > [1] http://www.gaia-gis.it/gaia-sins/spatialite-sql-4.2.0.html > > Il giorno 30 marzo 2017 08:56, Aramis <sleeping.ara...@gmail.com> ha > scritto: > >> Ciao e buon giovedì, forza che la settimana sta finendo. >> Stavo provando a lavorare con i dati del censimento istat, scarico i file >> dal sito carico lo shape delle zone censuarie gli faccio un join con la >> tabella contenente i dati tramite i campi che mi indicano le sezioni. tutto >> regolare. >> Vorrei visualizzare i dati raggruppati per comuni, campo cod_istat, ma il >> dissolve group by in qgis non mi pare sia presente. Trovo che è necessario >> passare per il DB manager e fare una query sql. Provo la seguente: >> select COD_ISTAT,sum(R03_indicatori_2011_sezioni_P1)from >> "R03_11_WGS84"group by COD_ISTAT >> Per fargli sommare i valori P1 per ogni comune. >> La query sembra venire ma: >> 1- come visualizzo i risultati graficamente? >> 2- dovendo considerare più campi oltre a P1 ho provato a modificare il >> nome del campo "R03_indicatori_2011_sezioni_P1 in semplicemente P1 e >> così via per fare delle query un po' più comodamente. Non mi accetta il >> cambio di nome... possibile perchè essendo il campo risultante da un join >> fa riferimento a una tabella altra e i nomi devono restare invariati? >> Alla fine si tratterebbe di un dissolve rispetto a un campo, caoistat, e >> che sommi gli altri campi, i vari p1 p2 etc >> Qualcuno sa dirmi come potrei procedere? >> Grazie >> Aramis >> _______________________________________________ >> QGIS-it-user mailing list >> QGIS-it-user@lists.osgeo.org >> https://lists.osgeo.org/mailman/listinfo/qgis-it-user >> > > > _______________________________________________ > QGIS-it-user mailing list > QGIS-it-user@lists.osgeo.org > https://lists.osgeo.org/mailman/listinfo/qgis-it-user > >
_______________________________________________ QGIS-it-user mailing list QGIS-it-user@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/qgis-it-user