Plugins e pyqgis

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 Phyton. È 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, QApplication
    • area mappa, strati e legenda: QgsMapCanvas, QgsMapLayer, QgsProject, QgsMapLayerRegistry, QgsLayerTree
    • strati vettoriali: QgsVectorLayer, QgsField, QgsFeature, QgsGeometry
    • strati raster: QgsRasterLayer
    • strumenti di mappa e banda elastica: QgsMapTool, QgsMapToolEmitPoint
    • elementi della mappa: QgsMapCanvas
    • classi dei sistemi di riferimento: QgsCoordinateReferenceSystem, QgsCoordinateTransform
  • Creazione di un plugin

    • uso delle classi e dei metodi principali per la creazione in un plugin
    • Plugin Builder e Plugin Reloader
    • 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 di git e gestione dei conflitti
    • pubblicazione del plugin su un hosting remoto (github, gitlab, ...)
    • corretta gestione di un issue/bug tracker

Durata

Tre giorni full time

Prossime date

Consulta il calendario

Iscrizione

Clicca per iscriviti al corso