Katalog
/
Data Science
/
QGIS-Programmierung mit Python – Fortgeschrittene

QGIS-Programmierung mit Python – Fortgeschrittene

Ein intensiver Aufbaukurs zur professionellen Entwicklung eigener QGIS-Erweiterungen mit Python und PyQGIS. Die Teilnehmenden entwickeln robuste Plugins mit grafischen Benutzeroberflächen, integrieren Datenbanken und externe Python-Bibliotheken und automatisieren Tests, Versionierung und Bereitstellung.

Was werden Sie lernen?

Sie vertiefen Ihre Kenntnisse in PyQGIS und richten eine professionelle Entwicklungsumgebung für die effiziente Plugin-Entwicklung ein. Sie erstellen eigene Erweiterungen mit Qt-basierten Dialogfenstern, verwenden QGIS-spezifische Widgets und steuern Benutzerinteraktionen mithilfe von Signals und Slots.

Darüber hinaus entwickeln Sie performante Anwendungen mit Hintergrundprozessen, integrieren Bibliotheken wie Pandas, NumPy und SciPy und greifen über SQL auf PostGIS-Datenbanken zu. Sie lernen ausserdem die Entwicklung serverseitiger Plugins sowie professionelle Verfahren für Tests, Versionierung und Deployment kennen.

Nach Abschluss des Kurses können Sie eigenständige QGIS-Plugins nach professionellen Entwicklungsstandards konzipieren, implementieren, testen und bereitstellen.

• Eine professionelle Entwicklungsumgebung für PyQGIS einrichten

• Eigene QGIS-Plugins mit Plugin Builder entwickeln

• Grafische Benutzeroberflächen mit Qt Designer erstellen

• QGIS-Widgets sowie Signals und Slots einsetzen

• Benutzerinteraktionen und Anwendungszustände kontrollieren

• Zeitintensive Berechnungen in Hintergrundprozesse auslagern

• Externe Python-Bibliotheken in QGIS-Projekte integrieren

• PostGIS-Datenbanken und Spatial SQL aus Plugins verwenden

• Serverseitige QGIS-Erweiterungen entwickeln

• Automatisierte Unit-Tests für Plugins erstellen

• Eigene Plugin-Repositorien aufbauen

• Plugins versionieren, paketieren und bereitstellen

Voraussetzungen:

• Sichere grundlegende Kenntnisse in QGIS

• Grundkenntnisse in Python

• Erfahrung mit Layern, Attributtabellen, Geoverarbeitung und QGIS-Projekten

• Grundlegendes Verständnis objektorientierter Programmierung ist hilfreich

• Erste Erfahrungen mit PyQGIS oder der QGIS-Python-Konsole sind von Vorteil

Kursübersicht*:

*Wir passen den Kursaufbau und die Inhalte an Ihre spezifischen Anforderungen und relevanten Anwendungsfälle an.

Modul 1: Professionelle PyQGIS-Entwicklungsumgebung

• Anforderungen an eine strukturierte QGIS-Entwicklungsumgebung

• QGIS-, Python- und PyQGIS-Versionen einordnen

• PyCharm für die Entwicklung mit PyQGIS konfigurieren

• Python-Interpreter, Bibliothekspfade und Umgebungsvariablen einrichten

• Automatische Codevervollständigung und Typinformationen verwenden

• Projekte, Quellcode und Ressourcen übersichtlich strukturieren

• Häufige Konfigurationsprobleme erkennen und beheben

Modul 2: Remote Development mit QGIS

• Entwicklungsumgebung und laufende QGIS-Instanz voneinander trennen

• Vorteile einer separaten IDE für umfangreiche Projekte

• Codeänderungen zwischen Entwicklungsverzeichnis und Plugin-Verzeichnis synchronisieren

• Debugging- und Testprozesse vorbereiten

• Pfade und Konfigurationen portabel gestalten

• Mehrere Entwicklungsumgebungen und QGIS-Versionen verwalten

Modul 3: Effiziente Entwicklungsabläufe mit Plugin Reloader

• Plugins während der Entwicklung neu laden

• Manuelle Neustarts von QGIS vermeiden

• Änderungen an Python-Code und Oberflächen schnell testen

• Initialisierung und Bereinigung eines Plugins kontrollieren

• Probleme durch alte Modulzustände erkennen

• Entwicklungszyklen automatisieren und beschleunigen

Modul 4: Aufbau und Architektur eines QGIS-Plugins

• Struktur und Lebenszyklus eines QGIS-Plugins

• Metadaten, Einstiegspunkte und zentrale Plugin-Dateien

• Plugin-Klassen und Initialisierung verstehen

• Aktionen, Menüs und Werkzeugleisten integrieren

• Ressourcen, Icons und Übersetzungsdateien verwalten

• Fachlogik, Benutzeroberfläche und Datenzugriff trennen

• Wartbare Projektstrukturen für grössere Plugins entwickeln

Modul 5: Plugins mit Plugin Builder erstellen

• Plugin Builder installieren und konfigurieren

• Geeignete Plugin-Vorlagen auswählen

• Grundgerüst eines Plugins erzeugen

• Generierte Dateien und Klassen verstehen

• Metadaten und Plugin-Eigenschaften anpassen

• Plugin in QGIS laden und testen

• Erzeugte Strukturen für eigene Anforderungen erweitern

Modul 6: Benutzeroberflächen mit Qt Designer

• Grundlagen der Qt-Oberflächenentwicklung

• Dialogfenster und Dock-Widgets erstellen

• Formulare mit Layouts strukturieren

• Schaltflächen, Eingabefelder, Listen und Tabellen einsetzen

• Ressourcen und Icons einbinden

• Benutzeroberflächen in Python laden

• Responsive und übersichtliche Dialoge gestalten

• Eingaben validieren und verständliches Feedback geben

Modul 7: QGIS-spezifische Widgets

• Vorteile der QGIS-Widgets gegenüber allgemeinen Qt-Elementen

• Layer- und Feld-Auswahlfelder verwenden

• Koordinaten-, Dateipfad- und Projektionselemente einsetzen

• Karten- und Datenbankbezüge über Widgets steuern

• Widgets anhand verfügbarer Layer dynamisch aktualisieren

• Eingaben in QGIS-konforme Parameter überführen

• Eigene Formulare mit GIS-spezifischen Funktionen entwickeln

Modul 8: Signals, Slots und Benutzerinteraktion

• Ereignisgesteuerte Programmierung mit Qt

• Signals und Slots verbinden

• Auf Schaltflächen, Auswahländerungen und Texteingaben reagieren

• Eigene Signals definieren und auslösen

• Benutzeraktionen kontrolliert verarbeiten

• Abhängigkeiten zwischen Oberflächenelementen umsetzen

• Fortschrittsanzeigen, Hinweise und Fehlermeldungen darstellen

• Ungewollte Mehrfachausführungen vermeiden

Modul 9: Zugriff auf QGIS-Projekte und Layer

• Aktuelles QGIS-Projekt über PyQGIS ansprechen

• Layer suchen, auswählen und hinzufügen

• Vektor- und Rasterlayer unterscheiden

• Datenquellen und Layer-Eigenschaften untersuchen

• Attributfelder und Features auslesen

• Selektionen erstellen und ändern

• Bearbeitungssitzungen kontrollieren

• Änderungen sicher speichern oder zurücksetzen

Modul 10: Geoverarbeitung in eigenen Plugins

• QGIS-Processing-Framework aus Python verwenden

• Algorithmen suchen und aufrufen

• Eingabeparameter dynamisch erzeugen

• Temporäre und dauerhafte Ausgaben verwalten

• Mehrere Algorithmen zu Arbeitsabläufen verbinden

• Eigene Processing-Algorithmen entwickeln

• Geoverarbeitung in grafische Plugin-Oberflächen integrieren

• Meldungen und Fehler aus Processing-Abläufen auswerten

Modul 11: Plugin-Architektur und saubere Code-Strukturen

• Verantwortlichkeiten zwischen Komponenten aufteilen

• Model-View-Controller und vergleichbare Strukturmuster einordnen

• Benutzeroberfläche und Fachlogik entkoppeln

• Wiederverwendbare Klassen und Hilfsfunktionen entwickeln

• Konfigurationen und Einstellungen verwalten

• Abhängigkeiten kontrolliert bereitstellen

• Logging und nachvollziehbare Fehlermeldungen integrieren

• Code für Tests und Erweiterungen vorbereiten

Modul 12: Hintergrundprozesse und Multithreading

• Auswirkungen langer Berechnungen auf die QGIS-Oberfläche

• Aufgaben mit QGIS-Tasks in den Hintergrund verschieben

• Fortschritt und Status einer Berechnung melden

• Prozesse abbrechen und Fehler behandeln

• Ergebnisse sicher an die Benutzeroberfläche zurückgeben

• Thread-Sicherheit und Beschränkungen der QGIS-API berücksichtigen

• Mehrere Aufgaben koordinieren

• Geeignete Einsatzbereiche für Hintergrundprozesse identifizieren

Modul 13: Externe Python-Bibliotheken integrieren

• Einsatzmöglichkeiten von Pandas, NumPy und SciPy in GIS-Projekten

• Abhängigkeiten und Python-Umgebungen prüfen

• Tabellarische Daten mit Pandas verarbeiten

• Numerische Berechnungen mit NumPy durchführen

• Wissenschaftliche Funktionen aus SciPy verwenden

• Daten zwischen QGIS-Strukturen und externen Bibliotheken übertragen

• Bibliotheken paketieren oder als Voraussetzung dokumentieren

• Kompatibilitäts- und Lizenzfragen berücksichtigen

Modul 14: Einführung in PostGIS

• Aufgaben und Vorteile räumlicher Datenbanken

• Aufbau einer PostgreSQL-/PostGIS-Datenbank

• Räumliche Tabellen und Geometrietypen verstehen

• Datenbankverbindungen in QGIS konfigurieren

• Tabellen und Views als Layer einbinden

• Datenbankinformationen aus PyQGIS abfragen

• Transaktionen und Mehrbenutzerzugriffe einordnen

Modul 15: SQL-Integration und Spatial SQL

• SQL-Abfragen aus Python ausführen

• Parameterisierte Abfragen sicher verwenden

• Attributdaten filtern, aggregieren und aktualisieren

• Räumliche Funktionen von PostGIS einsetzen

• Entfernungen, Puffer und Überschneidungen berechnen

• Ergebnisse räumlicher SQL-Abfragen in QGIS darstellen

• Abfrageergebnisse als Layer oder Tabellen weiterverarbeiten

• Fehler und Transaktionen kontrollieren

Modul 16: QGIS Server und serverseitige Erweiterungen

• Aufgaben und Architektur von QGIS Server

• Unterschiede zwischen Desktop- und Server-Plugins

• Serverseitige Verarbeitung ohne grafische Benutzeroberfläche

• Requests, Responses und Filter verstehen

• Einstiegspunkte eines Server-Plugins kennenlernen

• Webdienste und Anfragen erweitern

• Serverseitige Logik strukturiert entwickeln

• Server-Plugins in einer geeigneten Testumgebung bereitstellen

Modul 17: Schnittstellen und Zugriffsbeschränkungen

• Eigene Funktionen über serverseitige Schnittstellen bereitstellen

• Request-Parameter auslesen und validieren

• Strukturierte Responses erzeugen

• Fehlercodes und Fehlermeldungen definieren

• Benutzer- und rollenabhängige Zugriffe prüfen

• Authentifizierungsinformationen berücksichtigen

• Daten und Funktionen vor unberechtigtem Zugriff schützen

• Sicherheitsrelevante Ereignisse protokollieren

Modul 18: Automatisierte Tests

• Bedeutung automatisierter Tests für professionelle Plugins

• Unit-Tests für fachliche Funktionen erstellen

• Benutzeroberfläche und Datenzugriffe testbar strukturieren

• QGIS-Testumgebungen initialisieren

• Testdaten und Mock-Objekte verwenden

• Erfolgs-, Fehler- und Grenzfälle prüfen

• Tests automatisiert ausführen

• Fehlerhafte Änderungen frühzeitig erkennen

Modul 19: Versionsverwaltung und kollaborative Entwicklung

• Quellcode mit Git verwalten

• Sinnvolle Commit- und Branch-Strategien verwenden

• Releases und Versionsstände kennzeichnen

• Änderungen nachvollziehbar dokumentieren

• Mehrere Entwicklerinnen und Entwickler koordinieren

• Sensible Konfigurationsdaten vom Quellcode trennen

• Konflikte erkennen und kontrolliert lösen

Modul 20: Eigenes Plugin-Repository

• Aufbau eines QGIS-Plugin-Repositories verstehen

• Plugins korrekt paketieren

• Metadaten und Versionsinformationen pflegen

• Repository-Dateien und Download-Strukturen erzeugen

• Internes Plugin-Repository bereitstellen

• Repository in QGIS konfigurieren

• Neue Plugin-Versionen veröffentlichen

• Zugriffsrechte und interne Verteilung organisieren

Modul 21: Deployment und Veröffentlichung

• Plugin vor der Veröffentlichung technisch prüfen

• Abhängigkeiten, Ressourcen und Metadaten kontrollieren

• Kompatibilität mit unterstützten QGIS-Versionen dokumentieren

• Plugin als ZIP-Paket bereitstellen

• Updates und Migrationshinweise veröffentlichen

• Installations- und Benutzerhinweise erstellen

• Fehlerberichte und Supportprozesse vorbereiten

• Wartung und Weiterentwicklung planen

Modul 22: Praxisprojekt – Professionelles QGIS-Plugin

• Anforderungen für ein eigenes Plugin definieren

• Entwicklungsumgebung und Projektstruktur einrichten

• Plugin-Grundgerüst mit Plugin Builder erstellen

• Eine Qt-basierte Benutzeroberfläche entwickeln

• QGIS-Layer, Processing oder PostGIS integrieren

• Eine zeitintensive Aufgabe im Hintergrund ausführen

• Fehlerbehandlung und Logging ergänzen

• Unit-Tests erstellen

• Plugin versionieren, paketieren und über ein Repository bereitstellen

Praxisnahes Lernen mit erfahrenen Trainern an Ihrem Standort für Organisationen.

6.897€*
Graph Icon - Education X Webflow Template
Niveau:
intermediate
Clock Icon - Education X Webflow Template
Dauer:
35
Stunden (Tage:
5
)
Camera Icon - Education X Webflow Template
Training angepasst an Ihre Bedürfnisse
Star Icon - Education X Webflow Template
Intensive praktische Erfahrung in einer speziellen Umgebung
*Der Preis kann je nach Teilnehmerzahl, Änderung des Programms, Standort usw. variieren.

Neue Fähigkeiten erlernen, angeleitet von erfahrenen Trainern von überall.

4.962€*
Graph Icon - Education X Webflow Template
Niveau:
intermediate
Clock Icon - Education X Webflow Template
Dauer:
35
Stunden (Tage:
5
)
Camera Icon - Education X Webflow Template
Training angepasst an Ihre Bedürfnisse
Star Icon - Education X Webflow Template
Reduzierte Schulungskosten
*Der Preis kann je nach Teilnehmerzahl, Änderung des Programms, Standort usw. variieren.

Starttermine

30.11.-04.12.2026
Stuttgart
07.-11.12.2026
Berlin
04.-08.01.2027
Hamburg
18.-22.01.2027
Stuttgart
08.-12.02.2027
Berlin
08.-12.03.2027
Wien
22.-26.03.2027
Köln

Kein passender Termin dabei? Sprechen Sie uns gerne auf Ihren Wunschtermin an.

Wir verwenden Cookies, um die Navigation zu verbessern, die Nutzung der Website auszuwerten und unser Marketing zu unterstützen. Sie können alle Cookies akzeptieren, nicht notwendige ablehnen oder einzelne Kategorien auswählen. Zum Cookie-Hinweis