Maßgeschneiderte QGIS-Arbeitsumgebung mittels Python

Thomas Baumann

Playlists: 'fossgis2021' videos starting here / audio

QGIS kommt schon von Hause aus mit einem beachtlichen Funktionsumfang daher. Trotzdem gibt es noch verschiedenste Stellen, an denen man mittels Python die Funktionalitäten von QGIS erweitern oder an eigene Bedürfnisse und Workflows anpassen kann.

Im Rahmen einer Demosession würde ich gerne die verschiedenen Stellen aufzeigen, an denen man mittels Python QGIS anpassen oder erweitern kann.

QGIS kommt schon von Hause aus mit einem beachtlichen Funktionsumfang daher. Trotzdem gibt es noch verschiedenste Stellen, an denen man mittels Python die Funktionalitäten von QGIS erweitern oder an eigene Bedürfnisse und Workflows anpassen kann.

Im Rahmen einer Demosession würde ich gerne die verschiedenen Stellen aufzeigen, an denen man mittels Python QGIS anpassen oder erweitern kann:

- Ad-Hoc-Ausführen von Python Code (Python-Console, Script-Editor und ggf. Scriptrunner):

Ein unkomplizierter und schneller Weg um Python in QGIS auszuführen. In der Regel der Einstiegspunkt für PyQGIS-Newcommer.

- startup.py und PYQGIS_STARTUP:

Bei jedem Start von QGIS wird an einem bestimmten Pfad nach einer Datei startup.py gesucht und deren Inhalt ausgeführt wenn sie gefunden wird. Über die Umgebungsvariable PYQGIS_STARTUP kann man zusätzlich eine Python-Datei beim Start von QGIS ausführen lassen bevor die Initialisierung von QGIS beendet ist.

- Benutzerdefinierte Funktionen:

Benutzerdefinierte Funktionen kann man an verschiedensten Stellen innerhalb von QGIS nutzen: Feldrechner, Datendefinierte Einstellungen („Übersteuerung“), Textfelder im Drucklayout/Atlas

- Attributformular anpassen mit der Python Init-Funktion:

Wem die umfangreichen Einstellungsmöglichkeiten im Reiter „Attributformular“ eines Vektorlayers noch nicht reichen kann mittels Python eigene Logik zur Analyse der Nutzereingaben hinterlegen

- Makros:

QGIS-Makros können beim Öffnen, Speichern und Schließen eines Projektes verwendet werden.
Bsp: Sicherstellen, dass niemand anderes gerade an meinem auf einem Netzlaufwerk abgelegten QGIS-Projekt arbeitet.

- QGIS-Aktionen ("Actions")

Mittels QGIS-Aktionen kann man z.B. mit einem Klick auf ein Geometrieobjekt Python-Code ausführen
Beispiel: Action zum Anzeigen von Kind-Elementen für ein selektiertes Objekt.

- Processing-Toolbox:

Mittels Python kann man eigene Processing-Algorithmen erzeugen oder bestehende Algorithmen an eigene Bedürfnisse anpassen

- „--code“-Parameter beim Aufruf von QGIS:

Über den code-Parameter kann man beim Start von QGIS direkt einen Python-Code übergeben, der direkt nach dem Laden von QGIS ausgeführt wird

- Plugins:

Nicht zuletzt kann man auch über in Python geschriebene Plugins Python in QGIS nutzen.
Ich zeige einen Ausblick darauf, wie man:
- mit Hilfe eines einmal erzeugten Minimal-Plugins in kürzester Zeit eigene Funktionalitäten in QGIS testen und perspektivisch einbetten kann
- Eigene Processing-Algorithmen dauerhaft bereitstellt oder verteilt
- Eigene Locator Provider nutzt, um noch effektiver mit QGIS zu arbeiten

Ausblick: Standalone/ Kommandozeilen- PyQGIS-Scripte, die ausserhalb der QGIS-GUI laufen.
( Ab QGIS 3.14 auch Aufruf eigener Processing-Scripte über „qgis_process run“ außerhalb der GUI)

Download

Embed

Share:

Tags