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 classi principali delle API Qt

    • il modulo QtCore (QObject, QString, QAction, QFile, ...)
    • il modulo QtGui (QWidget, QDialog, QMessageBox, QFileDialog, ...)
    • accedere alla API QT tramite Python: PyQt (tipi Qt mappati da tipi nativi Python, parametro di uscita)
    • gestione del sistema di segnali/slot di PyQt
  • Le principali classi API QGIS e le loro relazioni

    • classi di base e impostazioni: classi Qgis, QgsProject
    • area mappa, strati e legenda: QgsMapCanvas, QgsMapLayer, QgsProject, QgsLayerTree
    • strati vettoriali: QgsVectorLayer, QgsField, QgsFeature, QgsGeometry
    • classi dei sistemi di riferimento: QgsCoordinateReferenceSystem, QgsCoordinateTransform
    • ottimizzazione iterazioni e indici spaziali: QgsFeatureRequest, QgsSpatialIndex
    • strati 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

Prossime date

Corso online: prossime date

Costi

430 € per i privati, 410 € + IVA per aziende/partite IVA, 450 € IVA esclusa per gli enti pubblici

Eccezionalmente 370€ per i privati, 350€ + IVA per aziende/partite IVA, 390€ IVA esclusa per gli enti pubblici

Iscrizione

Iscriviti al corso

Pagamenti

Il saldo totale del corso deve essere effettuato prima dell'inizio del corso al seguente IBAN: IT30W0523271131000000013294, indicando nella causale nome e cognome dell'iscritto e nome del corso; si raccomanda di inviare tutti i dati necessari per la fatturazione tramite il modulo di iscrizione.

Orari

Gli orari del corso sono dalle 9 alle 13 con una pausa caffè intermedia.