[QGIS-it-user] dissolve Group by o simile

Stefano Campus skampus a gmail.com
Gio 30 Mar 2017 00:26:02 PDT


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 <giohappy a 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.aramis a 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 a lists.osgeo.org
>> https://lists.osgeo.org/mailman/listinfo/qgis-it-user
>>
>
>
> _______________________________________________
> QGIS-it-user mailing list
> QGIS-it-user a lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/qgis-it-user
>
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.osgeo.org/pipermail/qgis-it-user/attachments/20170330/7a67f71e/attachment-0001.html>


Maggiori informazioni sulla lista QGIS-it-user