In occasione del GFOSS DAY 2013, tenutosi a Bologna, è stata presentata la nuova QGIS 2.0 in cui sono state introdotte molte nuove funzionalità e annunciati i futuri sviluppi di QGIS:

di questi nove punti solo uno non è stato ancora realizzato, cioè il georeferenziatore per vettori; mentre le funzioni di aggregazione sono state introdotte nella QGIS Pisa 2.10 con la funzione ‘Mostra sintesi delle statistiche‘ (icona sommatoria); ma è una funzionalità molto elementare. Nel novembre del 2011 (QGIS 1.7) viene messo nel QGIS Python Plugins Repository un plugin sperimentale dal nome ‘Group Stats’ realizzato da Rajmund Szostok e attualmente fermo al 2013 come plugin non più sperimentale.
In questo articolo parlerò del plugin Group Stats e di come usarlo per creare dei report nel compositore di stampa.
Il plugin si può installate da ‘Gestisci e installa plugin…‘ dal menu Plugins di QGIS:

Avviando il plugin apparirà la seguente finestra:

- riquadro tabella, compariranno i risultati delle analisi;
- layers: è possibile selezionare i layer per l’analisi (shapefile e tabelle);
- Fields: elenco di tutti i campi del layer selezionato più le funzioni di aggregazione come : somma, media, min, max ecc…;
- in questo riquadro è possibile aggiungere, tramite il bottone Filter, dei filtri sui dati da analizzare;
- Columns: in questo riquadro vanno inserite, tramite il ‘drag and drop’, i campi o le funzioni di aggregazione da utilizzare nell’analisi;
- Rows: in questo riquadro vanno inserite, tramite il ‘drag and drop’, i campi o le funzioni di aggregazione da utilizzare nell’analisi;
- Value: in questo riquadro vanno inserite, tramite il ‘drag and drop’, i campi o le funzioni di aggregazione da utilizzare nell’analisi;
- Clear: svuota i riquadri;
- se spuntato permette di analizzare solo le feature selezionate;
- avvia il calcolo.
questo plugin ricorda le tabelle pivot, strumento molto utilizzato nei foglio di calcolo come Excel o LibreOffice Calc.
Carichiamo due strati, lo shapefile dei comuni italiani e quello delle province e ci limitiamo a lavorare con la sola Sicilia.

partendo dal layer comuni, creare una tabella che abbia le seguenti caratteristiche:
- valori raggruppati per provincia (ogni riga una provincia);
- le colonne devono contenere il min, max, media e somma delle aree comunali;
- una colonna che conteggi (count) il numero di comuni per ogni provincia;

otterremmo una tabella (vedi figura di sopra) in cui: nella prima colonna avremo i codici della provincia (Rows) e poi tante altre colonne quante sono i campi inseriti nel riquadro ‘Columns’; nel riquadro ‘Value’ ho inserito il valore secondo cui deve fare i calcoli, cioè l’area.
Dal menu ‘Data’ è possibile esportare (in CSV) o copiare la tabella; esporto in CSV e apro con LibreOffice Calc (per effettuare una modofica):
NB: QGIS ogni volta che esporta qualcosa in CSV utilizza il punto (.) come separatore di decimali quindi occorre, per poter analizzare i dati in Calc, rimettere la virgola (,), per far ciò occorre selezionare tutti i campi (1) e nel tipo colonna selezionare Inglese US (2), ed il gioco è fatto!

Eliminiamo la riga 2 altrimenti ci potrebbe dare dei problemi in futuro. Importiamo il file CSV in QGIS: è possibile seguire due strade diverse spiegate qui:

Creiamo il report con il compositore di stampa:
- creare una nuoca composizione di stampa;
- aggiungere un riquadro mappa;
- aggiungere tabella attributi e selezionare la tabella CSV;
ecco il risultato:

Il file CSV possiamo anche usarlo in un ‘join’ e arricchire la tabella degli attributi dello shapefile province, utilizzando come campo di join ‘cod_pro’:

a questo punto avremo altri cinque campi con cui poter far analisi o tematizzazioni:

Note finali: un primo articolo scritto su questo plugin si trova qui
Buon lavoro.
Ho navigato più di due ore in rete, ma non avevo
ancora trovato un articolo così piacevole da leggere.
Se tutti i siti avessero articoli fatti così bene, il web sarebbe decisamente più piacevole da leggere.
Un caro saluto.
"Mi piace"Piace a 1 persona
Grazie per il messaggio.
Saluti
"Mi piace""Mi piace"
Buongiorno Totò.
Mi sto avvicinando da poco al mondo qgis e molto lo devo ai tuoi video e articoli interessanti e ben fatti.
Vorrei porre un quesito:
ho un layer puntuale, ogni punto rappresenta una famiglia che può essere composta da (n.) uomo, (n.) donna, (n.) figlio, (n.) figlia.
Ho anche un layer poligonale della città suddivisa in diverse zone.
A seconda dei poligoni selezionati, è possibile avere in stile tabella la somma per ogni componente “uomo”, “donna”, “figlio” e “figlia”?
Con “Statistiche” mi dà un campo per volta. Mentre sto provando col plugin “Group Stats” ma senza successo.
Grazie.
Un caro saluto.
"Mi piace"Piace a 1 persona
Ciao Cosimo,
se ho capito bene il tuo quesito la risposta è sì.
Ma per essere più preciso nella risposta mi servirebbe un estratto dei file, se puoi zippali mettili in un cloud e incolla qui il link-
PS: molto probabilmente scriverò, usando il tuo quesito, un blog post.
"Mi piace""Mi piace"
Ciao Totò.
Grazie per la risposta celere.
ecco il link:
http://ovh.to/grfYP82
Un saluto.
"Mi piace"Piace a 1 persona
Ciao,
non so se ho capito bene la tua richiesta; ho modificato il tuo progetto (QGIS 3.4.7) creando un virtual layer con una query (necessaria per fare i raggruppamenti) e poi ho creato una etichetta, che al variare della selezione, visualizza le somme e li posizione nel baricentro degli elementi selezionati.
https://mega.nz/#!wMg3iQLL!R5KlFALTEGdwRuaHvxMebCT8mzNqcl6iXuNzjQfcSVg
saluti
"Mi piace""Mi piace"
Grazie ancora per la tua disponibilità.
Purtroppo non riesco ad importare correttamente il layer virtuale. Non so dove sbaglio…
"Mi piace"Piace a 1 persona
Ciao, non devi importare nulla:
unzippa la mia cartella e poi fai doppio clic sul file di progetto *.qgz
poi se vuoi usarlo nel tuo vero progetto devi ricrearlo.
"Mi piace""Mi piace"
E’ esattamente quello che faccio. Dopo aver scompattato tutto in una cartella apro il tuo file *.qgz e mi dà errore al layer virtuale.
"Mi piace"Piace a 1 persona
Prova a ricreare il virtual layer:
importi i duel layer e poi utilizza questa query
select pl.geometry, count(*) as Familgia,sum (pt.Uomo) as Uomini, sum(pt.Donna) as Donne, sum(pt.Figlio) as Figlio, sum(pt.Figlia) as Figlia
from “Esempio Poligonale” pl, “Esempio Puntuale” pt
where st_intersects (pl.geometry, pt.geometry) =1
group by 1
"Mi piace""Mi piace"
mi dà questo errore:
http://ovh.to/ThfQGXn
PS. nella query è corretto “Familgia”? ma anche se scrivo “Famiglia” mi dà errore lo stesso.
"Mi piace"Piace a 1 persona
ciao,
puoi correggere in famiglia, quello è solo un alias
—
l’errore dovrebbe essere dovuto dal copia incolla: devi cancellare i doppi apici e li riscrivi usando shift 2
"Mi piace""Mi piace"
Ciao Totò.
Ho ricreato il virtual layer ed è andato a buon fine.
Solamente che la regola etichette del virtual layer non c’è.
Puoi vedere il risultato qui: http://ovh.to/FVjZLbq
Con le mie competenze attuali non riesco a creare la regola nel virtual layer.
Potresti mandarmi il testo?
PS Sarebbe bello in fondo alla tabella degli attributi una riga contenente i totali.
Grazie ancora
"Mi piace"Piace a 1 persona
Ciao,
dopo aver creato il virtual layer usa questo file qml : da proprietà => in basso maschera trovi stile e da qui lo carichi.
https://mega.nz/#!ABIF1QQB!QFOT7rPQyRFlQ_5swLMPeX8g0fiEsTuhV8WEhjqDi3w
"Mi piace""Mi piace"
Grazie di tutto.
Funziona. Ma ho dovuto modificare la parte finale dello stile.
qui lo stile che ho modificato: http://ovh.to/X93BwLg
Grazie ancora.
"Mi piace"Piace a 1 persona
Sono contento che funzioni.
Grazie per la donazione.
"Mi piace""Mi piace"
Ciao Totò.
Premetto che il progetto di esempio con le tue modifiche funziona benissimo.
Solo che se voglio crearne uno simile non ci riesco.
Infatti il progetto iniziale c’è da dire che l’ho fatto il più semplice possibile con lo scopo di prenderlo a modello per altri progetti.
Per cui mi sono messo al lavoro. Ma senza successo.
Ho fatto anche la prova a creare da zero lo stesso progetto, uguale e preciso all’iniziale, seguendo passo passo i tuoi suggerimenti. Ma non va a buon fine.
Non riscontro nessun tipo di errore solo che non vedo i risultati quando seleziono i poligoni. Infatti mi chiedo dove vado a dire al progetto come far apparire l’etichetta tonda con i vari totali al centro della selezione?
Please help me!
"Mi piace"Piace a 1 persona
Ciao,
per favore continuiamo in privato.
Vai nella sezione ‘dove mi trovo’ e scrivi una mail.
"Mi piace""Mi piace"