5.3. Lesson: Moduli
Quando aggiungi nuovi dati con la digitalizzazione, ti viene presentata una finestra di dialogo che ti permette di inserire gli attributi per quegli elementi. Comunque, questo dialogo non è molto bello da vedere. Questo può causare un problema di usabilità, specialmente sei devi creare degli insiemi di dati molto grandi, o se vuoi che altre persone ti aiutino nella digitalizzazione e trovano confuso il modulo predefinito.
Fortunatamente QGIS ti consente di personalizzare i tuoi moduli per un layer. Questa lezione ti mostra come.
Obiettivo di questa lezione: Creare un modulo per un layer.
5.3.1. Follow Along: Usare la funzionalità di progettazione moduli di QGIS
Seleziona il layer
roads
nel pannello LayersEntra in modalità modifica come già fatto
Apri la tabella attributi del layer
roads
Clicca col tasto destro in una cella della tabella. Apparirà un breve menu, che include la voce Apri modulo.
Clicca su di essa per vedere il modulo che QGIS ha generato per questo layer
Ovviamente sarebbe bello poterlo fare guardando la mappa, piuttosto che dover cercare una specifica strada nella :guilabel:`Tabella attributi”.
Seleziona il layer roads nel pannello Layer
Usando lo strumento Informazioni Elementi, clicca su una strada nella mappa.
Si apre il pannello Informazioni Risultati e mostra una vista ad albero dei valori dei campi ed altre informazioni generiche sull’elemento selezionato.
In cima al pannello, nel menu sup:Identify Settings seleziona la casella di controllo Auto open form for single feature results.
Ora, fai di nuovo clic su una qualsiasi strada della mappa. Lungo il precedente finestra Informazioni risultati vedrai il modulo familiare:
Ogni volta che clicchi su un elemento singolo con lo strumento Informazioni, apparirà il suo modulo finché è selezionato Auto open form.
5.3.2. Try Yourself Usare il modulo per modificare i valori
Se sei in modalità di modifica, puoi utilizzare questo modulo per modificare gli attributi di un elemento.
Attiva la modalità di modifica (se non è già attivata).
Usando lo strumento Informazioni Elementi, clicca sulla strada principale che attraversa Swellendam:
Modifica il suo valore highway in
secondary
Esci dalla modalità modifica e salve le modifiche
Apri la Tabella Attributi è nota che il valore è stato modificato nella tabella attributi e perciò nei dati originali
5.3.3. Follow Along: Impostazione dei tipi di campo del modulo
È più facile modificare le cose usando un modulo, ma devi comunque inserire tutto a mano. Fortunatamente, i moduli hanno diversi tipi di cosiddetti widget che consentono di modificare i dati in vari modi.
Apri Proprietà… del layer roads
Passa alla scheda Campi. Vedrai questo:
Vai alla scheda Modulo Attributi. Vedrai questo:
Clicca sulla riga
oneway
e scegli Casella di controllo per Tipo Widget nella lista delle opzioni:Fai clic su OK
Entra in modalità modifica (se il layer
roads
non è già in modifica)Clicca sulla strumento Informazioni Elementi
Clicca sulla stessa strada scelta prima
Vedrai che l’attributo oneway ha un casella di controllo vicino ad indicare Vero
(spuntato) o False
(non spuntato).
5.3.4. Try Yourself
Imposta nel modulo un widget più appropriato per il campo highway.
5.3.5. Try Yourself Creare dati di prova
Puoi anche progettare il tuo modulo personalizzato completamente da zero.
Crea un semplice layer di punti chiamato
test-data
con due attributi:name (text)
age (integer)
Disegna alcuni punti sul tuo nuovo livello usando gli strumenti di digitalizzazione in modo da avere un po” di dati con cui lavorare. Dovrebbe apparire il modulo di acquisizione degli attributi predefinito generato da QGIS ogni volta che disegni un nuovo punto.
Nota
Devi disabilitare l’aggancio se ancora abilitato da attività precedenti.
5.3.6. Follow Along: Creare un nuovo modulo
Ora vogliamo creare il nostro modulo personalizzato per la fase di cattura degli attributi. Per fare questo devi avere QT Designer installato (necessario solo per la persona che crea i moduli).
Esegui QT Designer.
Nella finestra di dialogo che appare, crea una nuova finestra di dialogo:
Guarda Widget Box sulla sinistra del tuo schermo (predefinito). Contiene un oggetto Line Edit.
Clicca e trascina questo oggetto nel tuo modulo. Questo crea una nuova Line Edit nel modulo.
Con il nuovo elemento line edit selezionato, vedrai le sue proprietà lungo il lato dello schermo (sulla destra per impostazione predefinita):
Imposta il suo nome a
name
.Usando lo stesso metodo, crea una nuova Casella e imposta il suo nome a
age
.Aggiungi una Label con testo
Aggiungi una nuova persona
in grassetto (guarda nelle proprietà dell’oggetto per trovare come impostarlo). Oppure potresti voler impostare il titolo del dialogo (invece di aggiungere un’etichetta).Aggiungi una Etichetta per la tua Line Edit e la tua Casella.
Disponi gli elementi secondo il tuo gradimento
Fai clic in qualsiasi punto della finestra di dialogo.
Trova il pulsante Lay Out in a Form Layout (in una barra degli strumenti lungo il bordo superiore dello schermo, di default). Questo disporrà la tua finestra di dialogo automaticamente.
Imposta la dimensione massima della finestra di dialogo (nelle sue proprietà) a
200
(larghezza) per150
(altezza).Il tuo modulo dovrebbe ora avere un aspetto simile a questo:
Salva il tuo nuovo modulo in
exercise_data/forms/add_people.ui
Quando hai salvato, puoi chiudere Qt Designer
5.3.7. Follow Along: Associare il modulo con il tuo Layer
Torna a QGIS
Fai doppio clic sul layer test-data nella legenda per accedere alle sue proprietà.
Clicca sulla scheda Modulo Attributi nel dialogo Proprietà vettore
Nel menu a tendina Attribute editor layout, seleziona Fornisci file UI.
Clicca sul pulsante con i tre punti e scegli il file
add_people.ui
appena creato:Clicca OK nel dialogo Proprietà vettore
Entra in modalità modifica e cattura un nuovo punto
Quando lo fai, ti verrà presentata la finestra di dialogo personalizzata (invece di quella generica che QGIS crea abitualmente).
Se clicchi su uno dei tuoi punti usando lo strumento Informazioni Elementi, puoi prendere il modulo clicca col tasto destro nella finestra informazioni risultati e scegliendo dal menu contestuale.
Se sei in modalità modifica su questo layer, il menu contestuale mostrerà invece
, e puoi modificare gli attributi nel nuovo modulo anche dopo la cattura iniziale.
5.3.8. In Conclusion
Usando i moduli, puoi semplificarti la vita durante la modifica o la creazione di dati. Modificando i tipi di widget o creando un modulo completamente nuovo da zero, puoi facilitare chi digitalizza nuovi dati per quel layer, riducendo al minimo incomprensioni ed errori non necessari.
5.3.9. Further Reading
Se hai completato la sezione avanzata precedente e conosci Python, potresti voler controllare questa voce del blog sulla creazione di attributi personalizzati per i moduli con la logica di Python, che permette funzionalità avanzate come la verifica dei dati, l’auto completamento, ecc.
5.3.10. What’s Next?
Aprire un modulo con l’identificazione di un elemento è una delle azioni che QGIS può eseguire. Tuttavia, puoi anche indirizzarlo per eseguire azioni personalizzate definite dall’utente. Questo è l’argomento della prossima lezione.