Help!

21 views
Skip to first unread message

giulio....@gmail.com

unread,
Sep 7, 2022, 3:39:50 AM9/7/22
to QGIS_Utenti_FVG
Aiuto! Mi sono impantanato in QGis 3.10!
Sto tentando di collaborare con un mio amico entomologo. Ha un foglio excel (più complicato di quello che allego, ma la base è quella) che riporta in colonna A le specie di insetti e poi, dalla B in poi, una sigla di regione italiana (Ao=Aosta, Pi=Piemonte e così via). Al momento manca una colonna ID, ma gli animali sono univoci e possono fungere da chiave. Nell'incrocio  Specie-regione vi è una crocetta (+) se quell'animale è presente in quel luogo, oppure 2 (++) se ve ne sono molti, naturalmente non vi è nulla se non ce ne sono.
Io dispongo, dunque, della tabella insetti.xls, di quella insetti.csv (già predisposta e qui allegata per comodità) e, naturalmente, di uno shape delle regioni italiane.
Sono riuscito ad importare la tabella, ottenendo un layer senza geometrie (facilmente visualizzabile e filtrabile) e un layer relativo alle regioni.
Dopo vari tentativi e prove mi sono perso fra le relazioni delle tabelle (in effetti sembra essere una relazione molti a molti perché un animale può essere presente in più regioni, e in una regione possono essere presenti più animali). So che la colorazione delle regioni va fatta in proprietà/simbologia/tramite regole, ma più in là non vado. Ho anche pasticciato un po' con le aggregazioni (in "tramite regole") provando con "aggregate" e "relation_aggregate", ma brancolo in maniera penosa!

Il progetto dovrebbe prevedere:
- di poter selezionare un insetto nella tabella delle specie, ottenendo la colorazione delle regioni in cui è presente (magari in due colori a seconda che sia solo presente (+) o molto presente (++)
oppure, viceversa
- di poter selezionare una regione in mappa ottenendo la conseguente selezione nella tabella delle specie (che poi potrà essere vista usando  "mostra solo selezionati" o "selezionati in cima" per vedere quali animaletti sono presenti in quella regione).

Qualche dritta? Grazie!

Giulio

Progetto_insetti.zip

Daniele

unread,
Sep 12, 2022, 12:24:12 PM9/12/22
to QGIS_Utenti_FVG
Buongiorno,
grazie Giulio per il quesito che affronta il tema delle relazioni in QGIS, argomento di cui non avevo mai approfondito troppo le potenzialità.
La buona notizia è che le relazioni molti a molti sono gestite egregiamente da QGIS, invece quella meno buona è che la soluzione non è affatto banale, in quanto richiede la costruzione di una tabella pivot che faccia da "ponte" tra la tabella delle regioni contenente le geometrie e la tabella degli insetti in formato .CSV. Dalla tabella degli insetti che hai preparato ho ricavato due tabelle in formato GPKG (meglio abituarsi subito a lavorare con tale formato molto versatile), la prima contenente solo gli insetti e la loro presenza sul territorio, la seconda, invece, l'ho strutturata come tabella pivot.
Visto che la tabella degli insetti conteneva pochi elementi, l'ho realizzata manualmente con Excel, se invece la tua tabella originale risulta densamente popolata forse ti conviene utilizzare le funzioni avanzate di Excel per automatizzare la creazione della tabella pivot, ma forse esistono anche altri metodi più semplici che non conosco.     
Una volta costruita la struttura corretta delle tabelle, per creare le relazioni e le funzioni d'interrogazione delle stesse, ho seguito il seguente tutorial di Pigrecoinfinito : https://pigrecoinfinito.com/2022/04/01/qgis-e-la-relazione-nm/
In attesa di trovare il tempo materiale per realizzare un tutorial che spieghi più chiaramente il procedimento seguito (ma non sono un esperto di DB relazionali per cui ben vengano altri contributi più competenti), allego il progetto ottenuto (dove trovi tutte le funzioni e le relazioni già impostate e funzionanti) e uno screenshot che illustra come interrogare il progetto.
Per colorarlo bisognerebbe cimentarsi un po' con le funzioni di sovrascrittura definita dei dati, ma penso che nel progetto allegato e sul manuale puoi trovare tutto il materiale didattico necessario . 
Relazione_N_M.qgz
Relazioni_N_M.png
Reply all
Reply to author
Forward
0 new messages