Ein praxisorientierter Einführungskurs zur Automatisierung von GIS-Arbeitsabläufen mit Python und PyQGIS. Die Teilnehmenden lernen, QGIS über die Python-Konsole und den integrierten Editor zu steuern, Geodaten programmgesteuert zu verarbeiten und bestehende QGIS-Werkzeuge zu automatisierten Abläufen zu verbinden.
Sie lernen die grundlegenden Schnittstellen und Objekte der QGIS-Python-API kennen und verwenden das iface-Objekt für den Zugriff auf Karten, Layer, die Kartenansicht und weitere Bestandteile der Anwendung. Sie laden und verwalten Vektorlayer, lesen und verändern Attribute und führen geometrische Berechnungen durch.
Darüber hinaus rufen Sie bestehende QGIS- und Processing-Werkzeuge aus Python auf, automatisieren mehrstufige Arbeitsabläufe und entwickeln erste eigene Processing-Skripte. Grundlagen der Fehlerbehandlung, Dokumentation und sauberen Codegestaltung unterstützen Sie dabei, zuverlässige und nachvollziehbare Skripte zu erstellen.
Nach Abschluss des Kurses können Sie einfache bis mittelkomplexe PyQGIS-Skripte entwickeln und wiederkehrende Aufgaben in QGIS effizient automatisieren.
• Die QGIS-Python-Konsole und den integrierten Editor sicher verwenden
• Mit dem iface-Objekt auf zentrale QGIS-Funktionen zugreifen
• Layer programmgesteuert laden, suchen, organisieren und entfernen
• Attribute von Vektordaten lesen, berechnen und verändern
• Features auswählen und deren Symbolisierung anpassen
• Flächen, Entfernungen und Schwerpunkte mit Python berechnen
• Bestehende QGIS- und Processing-Werkzeuge aus Skripten aufrufen
• Mehrere Verarbeitungsschritte zu automatisierten Workflows verbinden
• Temporäre Layer und Batch-Prozesse verwenden
• Eigene Processing-Skripte entwickeln
• Fehler erkennen, behandeln und systematisch untersuchen
• Lesbaren, dokumentierten und wartbaren Python-Code erstellen
• Grundlegende Kenntnisse in QGIS
• Grundkenntnisse in Python
• Erfahrung mit Layern, Attributtabellen und einfachen Geoverarbeitungswerkzeugen
• Grundlegendes Verständnis von Vektor- und Geometriedaten
*Wir passen den Kursaufbau und die Inhalte an Ihre spezifischen Anforderungen und relevanten Anwendungsfälle an.
Modul 1: Einführung in die QGIS-Programmierung
• Einsatzmöglichkeiten von Python innerhalb von QGIS
• PyQGIS als Programmierschnittstelle zu QGIS
• Unterschiede zwischen manuellen, modellbasierten und skriptgesteuerten Arbeitsabläufen
• Typische Automatisierungsaufgaben in GIS-Projekten
• Aufbau eines einfachen QGIS-Python-Skripts
• Wiederkehrende Prozesse in einzelne Programmschritte zerlegen
• Möglichkeiten und Grenzen der Automatisierung
Modul 2: Entwicklungsumgebung und Python-Konsole
• QGIS-Python-Konsole öffnen und verwenden
• Einzelne Befehle interaktiv ausführen
• Befehlsverlauf und automatische Vervollständigung nutzen
• Den integrierten Skripteditor kennenlernen
• Skriptdateien erstellen, speichern und erneut ausführen
• Code schrittweise entwickeln und testen
• Ausgaben und Meldungen in der Konsole kontrollieren
• Skriptdateien und Übungsdaten strukturiert organisieren
Modul 3: Python-Grundlagen für PyQGIS auffrischen
• Variablen und wichtige Datentypen verwenden
• Zeichenketten, Zahlen und boolesche Werte verarbeiten
• Listen, Tupel und Dictionaries einsetzen
• Bedingungen mit if, elif und else formulieren
• Wiederholungen mit for- und while-Schleifen umsetzen
• Funktionen definieren und aufrufen
• Module und Klassen importieren
• Einrückung und grundlegende Python-Syntax sicher anwenden
Modul 4: Das iface-Objekt als Schnittstelle zu QGIS
• Aufgabe und Funktionsweise des iface-Objekts
• Auf das aktuelle QGIS-Projekt zugreifen
• Aktive Layer und ausgewählte Objekte ermitteln
• Kartenansicht und aktuellen Kartenausschnitt ansprechen
• Mit Layer-Legende und Layer-Baum arbeiten
• Kartenansicht aktualisieren und auf Layer zoomen
• Nachrichten und Hinweise in der QGIS-Oberfläche ausgeben
• Benutzeraktionen über Skripte unterstützen
Modul 5: QGIS-Projekte und Layer verwalten
• Aktuelles Projekt über PyQGIS ansprechen
• Layer aus dem Projekt auslesen
• Layer anhand von Namen oder IDs suchen
• Vektor- und Rasterlayer unterscheiden
• Layer hinzufügen und aus dem Projekt entfernen
• Sichtbarkeit und Reihenfolge von Layern steuern
• Layer in Gruppen organisieren
• Projekteigenschaften und Datenquellen untersuchen
Modul 6: Vektorlayer laden und prüfen
• Shapefiles und GeoJSON-Dateien laden
• Geodatabase- und weitere Vektordatenquellen einbinden
• Speicherbasierte Layer erzeugen
• Gültigkeit eines Layers kontrollieren
• Geometrietyp und Koordinatensystem auslesen
• Felder und Attributstrukturen untersuchen
• Anzahl und räumliche Ausdehnung von Features bestimmen
• Datenquellen und Provider-Eigenschaften abfragen
Modul 7: Features und Attribute auslesen
• Durch Features eines Vektorlayers iterieren
• Feature-IDs und Attributwerte auslesen
• Gezielt auf einzelne Felder zugreifen
• Nullwerte und unterschiedliche Datentypen behandeln
• Features anhand von Bedingungen filtern
• Attributinformationen strukturiert ausgeben
• Daten in Listen oder Dictionaries übernehmen
• Ergebnisse für weitere Berechnungen vorbereiten
Modul 8: Attribute erstellen und verändern
• Bearbeitungsmodus eines Layers kontrollieren
• Neue Attributfelder hinzufügen
• Feldwerte für einzelne Features ändern
• Mehrere Attributwerte automatisiert aktualisieren
• Berechnungen ähnlich dem Feldrechner durchführen
• Standardwerte und bedingte Berechnungen umsetzen
• Änderungen speichern oder verwerfen
• Bearbeitungsschritte sicher und nachvollziehbar gestalten
Modul 9: Features auswählen und filtern
• Features anhand von IDs auswählen
• Attributbasierte Ausdrücke verwenden
• Räumliche und fachliche Auswahlbedingungen kombinieren
• Bestehende Selektionen auslesen und verändern
• Auswahl aufheben oder erweitern
• Ausgewählte Objekte für weitere Verarbeitungsschritte verwenden
• Ergebnisse in der Kartenansicht hervorheben
• Auswahlprozesse automatisieren
Modul 10: Geometrien mit PyQGIS verarbeiten
• Geometrieobjekte von Features auslesen
• Punkt-, Linien- und Flächengeometrien unterscheiden
• Koordinaten und Stützpunkte untersuchen
• Längen und Flächen berechnen
• Schwerpunkte von Flächen bestimmen
• Entfernungen zwischen Objekten messen
• Bounding Boxes und räumliche Ausdehnungen verwenden
• Geometrische Ergebnisse in Attributfelder schreiben
Modul 11: Neue Features und Geometrien erstellen
• Einfache Punktgeometrien mit Python erzeugen
• Linien aus Koordinatenlisten erstellen
• Flächengeometrien aufbauen
• Neue Features mit Geometrien und Attributen versehen
• Features zu bestehenden Layern hinzufügen
• Temporäre Ergebnislayer erzeugen
• Koordinatensysteme bei der Geometrieerstellung berücksichtigen
• Ergebnisse speichern und kontrollieren
Modul 12: Symbolisierung mit Python steuern
• Renderer und Symbole eines Layers untersuchen
• Farbe, Grösse und Kontur von Symbolen verändern
• Einfache Symbolisierung programmgesteuert erstellen
• Kategorisierte Darstellungen konfigurieren
• Abgestufte Symbolisierung vorbereiten
• Darstellungen anhand von Attributwerten steuern
• Layer-Darstellung nach Änderungen aktualisieren
• Symbolisierungsabläufe für mehrere Layer automatisieren
Modul 13: QGIS-Werkzeuge aus Python aufrufen
• Bestehende QGIS-Funktionen programmgesteuert verwenden
• Verfügbare Processing-Anbieter und Algorithmen untersuchen
• Algorithmus-IDs und erforderliche Parameter ermitteln
• Eingabe- und Ausgabeparameter definieren
• Werkzeuge über Python aufrufen
• Resultate und Rückgabewerte auswerten
• Fehlermeldungen und Verarbeitungshinweise kontrollieren
• Manuelle Werkzeugabläufe in Skripte übertragen
Modul 14: Arbeiten mit dem Processing-Modul
• Aufbau und Funktionsweise des Processing-Frameworks
• Werkzeuge wie Clip, Buffer, Dissolve und Export verwenden
• Datenformate konvertieren
• Layer nach Attributen oder räumlichen Bedingungen verarbeiten
• Mehrere Werkzeuge zu einem Ablauf verbinden
• Ausgaben eines Werkzeugs als Eingaben weiterer Schritte verwenden
• Processing-Kontexte und Feedback-Objekte kennenlernen
• Ergebnisse automatisch zum Projekt hinzufügen
Modul 15: Temporäre Layer und Zwischenergebnisse
• Temporäre und permanente Ausgaben unterscheiden
• Verarbeitungsergebnisse im Arbeitsspeicher erzeugen
• Zwischenergebnisse für nachfolgende Werkzeuge verwenden
• Temporäre Layer programmgesteuert untersuchen
• Ergebnisse bei Bedarf dauerhaft speichern
• Speicherbedarf und Lebensdauer temporärer Daten berücksichtigen
• Unnötige Zwischendaten vermeiden
• Skriptgesteuerte Arbeitsabläufe übersichtlich halten
Modul 16: Workflow-Automatisierung
• Einen manuellen GIS-Arbeitsablauf analysieren
• Eingabedaten, Verarbeitungsschritte und Ausgaben definieren
• Mehrere Processing-Werkzeuge sequenziell ausführen
• Dateinamen und Pfade dynamisch erzeugen
• Zwischenergebnisse kontrollieren
• Unterschiedliche Abläufe anhand von Bedingungen steuern
• Fortschrittsmeldungen und Ergebnisse ausgeben
• Automatisierte Prozesse reproduzierbar gestalten
Modul 17: Batch Processing mit Python
• Mehrere Dateien oder Layer automatisiert verarbeiten
• Verzeichnisse und Datensammlungen durchsuchen
• Geeignete Eingabedaten anhand von Namen oder Dateitypen auswählen
• Schleifen für wiederkehrende Werkzeugaufrufe verwenden
• Ausgaben automatisch benennen und speichern
• Ungeeignete oder fehlerhafte Datensätze überspringen
• Fortschritt und Verarbeitungsergebnisse protokollieren
• Batch-Prozesse testen und optimieren
Modul 18: Eigene Processing-Skripte entwickeln
• Aufbau eines Processing-Skriptalgorithmus
• Eingabe- und Ausgabeparameter definieren
• Vektorlayer, Felder, Zahlen und Dateipfade als Parameter verwenden
• Programmlogik in der Prozessmethode umsetzen
• Fortschritts- und Statusinformationen ausgeben
• Ergebnisse an das Processing-Framework zurückgeben
• Skripte in der Processing-Toolbox bereitstellen
• Eigene Werkzeuge dokumentieren und wiederverwenden
Modul 19: Fehleranalyse und Debugging
• Syntax-, Laufzeit- und Datenfehler unterscheiden
• Python- und QGIS-Fehlermeldungen lesen
• Variablen und Zwischenergebnisse kontrolliert ausgeben
• Fehlerquellen durch schrittweises Testen eingrenzen
• Kritische Codebereiche mit try und except absichern
• Aussagekräftige eigene Fehlermeldungen erstellen
• Fehlerhafte Layer, Felder und Dateipfade erkennen
• Skripte mit unterschiedlichen Eingabedaten testen
Modul 20: Best Practices für PyQGIS-Skripte
• Aussagekräftige Variablen- und Funktionsnamen verwenden
• Code in übersichtliche Abschnitte und Funktionen gliedern
• Kommentare gezielt und verständlich einsetzen
• Docstrings für Funktionen und Skripte erstellen
• Python-Codekonventionen berücksichtigen
• Wiederholten Code vermeiden
• Eingaben vor der Verarbeitung validieren
• Abhängigkeiten und Annahmen dokumentieren
• Skripte für spätere Anpassungen wartbar gestalten
Modul 21: Praxisprojekt – Automatisierter QGIS-Workflow
• Einen typischen GIS-Arbeitsablauf auswählen und strukturieren
• Eingabedaten programmgesteuert laden und prüfen
• Features und Attribute auslesen oder verändern
• Geometrische Berechnungen durchführen
• Mehrere Processing-Werkzeuge miteinander verbinden
• Temporäre und dauerhafte Ergebnisse verwalten
• Fehlerbehandlung und Statusmeldungen ergänzen
• Den Ablauf als eigenes Processing-Skript bereitstellen
• Ergebnisse testen, dokumentieren und gemeinsam auswerten
Praxisnahes Lernen mit erfahrenen Trainern an Ihrem Standort für Organisationen.
Neue Fähigkeiten erlernen, angeleitet von erfahrenen Trainern von überall.
Kein passender Termin dabei? Sprechen Sie uns gerne auf Ihren Wunschtermin an.