Plugins e pyqgis
Per capire come potenziare QGIS con il linguaggio di programmazione Python. La
finalità principale è quella di fornire gli strumenti e i concetti base per
sviluppare script in Python e creare plugins. Dopo una breve introduzione a
Python, i partecipanti saranno guidati passo a passo nella creazione di script e
di un plugin.
È preferibile, ma non obbligatoria, una conoscenza di base di Python. È
necessaria una conoscenza di base dei principi di programmazione.
Argomenti principali
-
Introduzione alla programmazione python in QGIS
- la sintassi Python (variabili, cicli, funzioni e classi)
- importazione moduli esterni
-
Le principali classi API QGIS e le loro relazioni
- classi di base e impostazioni: classi Qgis, QgsProject
- area mappa, layer e legenda: QgsMapCanvas, QgsMapLayer, QgsProject, QgsLayerTree
- layer vettoriali: QgsVectorLayer, QgsField, QgsFeature, QgsGeometry
- classi dei sistemi di riferimento: QgsCoordinateReferenceSystem, QgsCoordinateTransform
- ottimizzazione iterazioni e indici spaziali: QgsFeatureRequest, QgsSpatialIndex
- layer raster: QgsRasterLayer
- elementi della mappa: QgsMapCanvas
-
Utiizzo di pyqgis "fuori dagli schemi"
- macro di progetto
- funzioni personalizzate nel calcolatore di campo
- aggiungere azioni a un layer in python
- python e moduli di inserimento dati personalizzati
-
Processing e pyqgis
- lanciare un algoritmo di Processing da console
- scrittura di script di Processing
-
Creazione di un plugin standalone
- uso delle classi e dei metodi principali per la creazione in un plugin
- Plugin Builder e Plugin Reloader
- trasformazione di script di Processing in un plugin
- creare interfacce utente con QtDesigner (.ui)
- gestione dei metadati per la pubblicazione del plugin
- corretti metodi di gestione di un plugin
-
Utilizzo di software di controllo versione (git)
- introduzione a git
- vantaggi di un sistema di versionamento
- comandi principali di git (git add, git commit, git pull, git push)
- utilizzare i branch per lo sviluppo e il bug fixing
- releases e tag
- pubblicazione del plugin su un hosting remoto (github, gitlab)
- corretta gestione di un issue/bug tracker
Durata
5 mezze giornate da 4 ore