

Descrizione
Il corso si indirizza a chi desidera apprendere a sviluppare plugins (estensioni) per Quantum GIS, utilizzando il linguaggio di programmazione Python. La finalità principale è fornire i concetti fondamentali e l'esperienza pratica per lo sviluppo di plugins. Dopo una breve introduzione al linguaggio di programmazione, i partecipantisaranno guidati passo a passo nella creazione di un plugin.
Il docente è uno sviluppatore ufficiale di QGIS, con grande esperienza nella scrittura di plugins.
Temi principali del corso
- Come creare un plugin Python per QGIS
- la sintassi Python (indentazione, punto e virgola, ...)
- il mio primo plugin in python: mostra un messaggio in un riquadro
- creare interfacce utente con QtDesigner (.ui)
- secondo plugin: aggiungere un layer all’area di mappa di QGis
- creare un file di risorse (.qrc)
- 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)
- Le principali classi API QGIS e le loro relazioni
- costanti e impostazioni: classi QGis e QgsApplication
- l’interfaccia del plugin: QgisInterface e metodi comuni usati nei plugins
- area mappa, strati e legenda: QgsMapCanvas, QgsMapLayer, QgsLegendInterface, QgsMapLayerRegistry
- strati vettoriali: QgsVectorLayer, QgsVectorDataProvider, QgsField, QgsFeature, QgsGeometry
- strati raster: QgsRasterLayer, QgsRasterDataProvider
- strumenti di mappa e banda elastica: QgsMapTool, QgsMapToolEmitPoint, QgsRubberBand
- elementi della mappa e snap: QgsMapCanvasItem, QgsVertexMarker, QgsSnapper
- classi dei sistemi di riferimento: QgsCoordinateReferenceSystem, QgsCoordinateTransform
- classi di utilità: QgsDataSourceURI
- Usiamo pyQGIS
- esempi di codice
Esperienza necessaria
È preferibile, ma non obbligatoria, una conoscenza di base di Phyton. È necessaria una conoscenza di base dei principi di programmazione,e di Quantum GIS.
Durata
Tre giorni (24 ore)
Ulteriori informazioni
Calendario ed ulteriori informazioni per i corsi standard. Contattateci per corsi personalizzati in base alle vostre esigenze specifiche.



