{"guid":"df124a31-9080-53a8-a542-9351a5b26c3e","title":"Maßgeschneiderte QGIS-Arbeitsumgebung mittels Python","subtitle":null,"slug":"fossgis2021-9032-mageschneiderte-qgis-arbeitsumgebung-mittels-python","link":"https://pretalx.com/fossgis2021/talk/PNGTBU/","description":"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.\n\nIm Rahmen einer Demosession würde ich gerne die verschiedenen Stellen aufzeigen, an denen man mittels Python QGIS anpassen oder erweitern kann.\n\nQGIS 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.\n\nIm Rahmen einer Demosession würde ich gerne die verschiedenen Stellen aufzeigen, an denen man mittels Python QGIS anpassen oder erweitern kann:\n\n- Ad-Hoc-Ausführen von Python Code (Python-Console, Script-Editor und ggf. Scriptrunner): \n\nEin unkomplizierter und schneller Weg um Python in QGIS auszuführen. In der Regel der Einstiegspunkt für PyQGIS-Newcommer.\n\n- startup.py und PYQGIS_STARTUP:\n\nBei 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.\n\n- Benutzerdefinierte Funktionen:\n\nBenutzerdefinierte Funktionen kann man an verschiedensten Stellen innerhalb von QGIS nutzen: Feldrechner, Datendefinierte Einstellungen („Übersteuerung“), Textfelder im Drucklayout/Atlas\n\n-\tAttributformular anpassen mit der Python Init-Funktion: \n\nWem die umfangreichen Einstellungsmöglichkeiten im Reiter „Attributformular“ eines Vektorlayers noch nicht reichen kann mittels Python eigene Logik zur Analyse der Nutzereingaben hinterlegen\n\n- Makros:\n\nQGIS-Makros können beim Öffnen, Speichern und Schließen eines Projektes verwendet werden.\nBsp: Sicherstellen, dass niemand anderes gerade an meinem auf einem Netzlaufwerk abgelegten QGIS-Projekt arbeitet.\n\n- QGIS-Aktionen (\"Actions\")\n\nMittels QGIS-Aktionen kann man z.B. mit einem Klick auf ein Geometrieobjekt Python-Code ausführen\nBeispiel: Action zum Anzeigen von Kind-Elementen für ein selektiertes Objekt.\n\n- Processing-Toolbox:\n\nMittels Python kann man eigene Processing-Algorithmen erzeugen oder bestehende Algorithmen an eigene Bedürfnisse anpassen\n\n- „--code“-Parameter beim Aufruf von QGIS: \n\nÜ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\n\n- Plugins:\n\nNicht zuletzt  kann man auch über in Python geschriebene Plugins Python in QGIS nutzen.\nIch zeige einen Ausblick darauf, wie man:\n   - mit Hilfe eines einmal erzeugten Minimal-Plugins in kürzester Zeit eigene Funktionalitäten in QGIS testen und perspektivisch einbetten kann\n   - Eigene Processing-Algorithmen dauerhaft bereitstellt oder verteilt\n   - Eigene Locator Provider nutzt, um noch effektiver mit QGIS zu arbeiten\n\n\n\nAusblick: Standalone/ Kommandozeilen- PyQGIS-Scripte, die ausserhalb der QGIS-GUI laufen.\n( Ab QGIS 3.14 auch Aufruf eigener Processing-Scripte über „qgis_process run“ außerhalb der GUI)","original_language":"deu","persons":["Thomas Baumann"],"tags":["fossgis2021","9032","2021","Daten und Datenprozessierung","Geo","OpenStreeetMap","FOSS","Online"],"view_count":738,"promoted":false,"date":"2021-06-07T11:00:00.000+02:00","release_date":"2021-06-08T00:00:00.000+02:00","updated_at":"2026-04-02T09:45:04.291+02:00","length":3119,"duration":3119,"thumb_url":"https://static.media.ccc.de/media/events/fossgis/2021/9032-df124a31-9080-53a8-a542-9351a5b26c3e.jpg","poster_url":"https://static.media.ccc.de/media/events/fossgis/2021/9032-df124a31-9080-53a8-a542-9351a5b26c3e_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/fossgis/2021/9032-df124a31-9080-53a8-a542-9351a5b26c3e.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/fossgis/2021/9032-df124a31-9080-53a8-a542-9351a5b26c3e.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/fossgis2021-9032-mageschneiderte-qgis-arbeitsumgebung-mittels-python","url":"https://api.media.ccc.de/public/events/df124a31-9080-53a8-a542-9351a5b26c3e","conference_title":"FOSSGIS 2021","conference_url":"https://api.media.ccc.de/public/conferences/fossgis2021","related":[],"recordings":[{"size":239,"length":3119,"mime_type":"video/webm","language":"deu","filename":"fossgis2021-9032-deu-Massgeschneiderte_QGIS-Arbeitsumgebung_mittels_Python_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2021-06-08T11:15:24.396+02:00","recording_url":"https://cdn.media.ccc.de/events/fossgis/2021/webm-hd/fossgis2021-9032-deu-Massgeschneiderte_QGIS-Arbeitsumgebung_mittels_Python_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/53441","event_url":"https://api.media.ccc.de/public/events/df124a31-9080-53a8-a542-9351a5b26c3e","conference_url":"https://api.media.ccc.de/public/conferences/fossgis2021"},{"size":112,"length":3119,"mime_type":"video/webm","language":"deu","filename":"fossgis2021-9032-deu-Massgeschneiderte_QGIS-Arbeitsumgebung_mittels_Python_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2021-06-08T10:33:35.868+02:00","recording_url":"https://cdn.media.ccc.de/events/fossgis/2021/webm-sd/fossgis2021-9032-deu-Massgeschneiderte_QGIS-Arbeitsumgebung_mittels_Python_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/53440","event_url":"https://api.media.ccc.de/public/events/df124a31-9080-53a8-a542-9351a5b26c3e","conference_url":"https://api.media.ccc.de/public/conferences/fossgis2021"},{"size":82,"length":3119,"mime_type":"video/mp4","language":"deu","filename":"fossgis2021-9032-deu-Massgeschneiderte_QGIS-Arbeitsumgebung_mittels_Python_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2021-06-08T09:53:43.855+02:00","recording_url":"https://cdn.media.ccc.de/events/fossgis/2021/h264-sd/fossgis2021-9032-deu-Massgeschneiderte_QGIS-Arbeitsumgebung_mittels_Python_sd.mp4","url":"https://api.media.ccc.de/public/recordings/53439","event_url":"https://api.media.ccc.de/public/events/df124a31-9080-53a8-a542-9351a5b26c3e","conference_url":"https://api.media.ccc.de/public/conferences/fossgis2021"},{"size":34,"length":3109,"mime_type":"audio/opus","language":"deu","filename":"fossgis2021-9032-deu-Massgeschneiderte_QGIS-Arbeitsumgebung_mittels_Python_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2021-06-08T09:50:43.214+02:00","recording_url":"https://cdn.media.ccc.de/events/fossgis/2021/opus/fossgis2021-9032-deu-Massgeschneiderte_QGIS-Arbeitsumgebung_mittels_Python_opus.opus","url":"https://api.media.ccc.de/public/recordings/53438","event_url":"https://api.media.ccc.de/public/events/df124a31-9080-53a8-a542-9351a5b26c3e","conference_url":"https://api.media.ccc.de/public/conferences/fossgis2021"},{"size":47,"length":3109,"mime_type":"audio/mpeg","language":"deu","filename":"fossgis2021-9032-deu-Massgeschneiderte_QGIS-Arbeitsumgebung_mittels_Python_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2021-06-08T09:49:29.872+02:00","recording_url":"https://cdn.media.ccc.de/events/fossgis/2021/mp3/fossgis2021-9032-deu-Massgeschneiderte_QGIS-Arbeitsumgebung_mittels_Python_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/53437","event_url":"https://api.media.ccc.de/public/events/df124a31-9080-53a8-a542-9351a5b26c3e","conference_url":"https://api.media.ccc.de/public/conferences/fossgis2021"},{"size":166,"length":3119,"mime_type":"video/mp4","language":"deu","filename":"fossgis2021-9032-deu-Massgeschneiderte_QGIS-Arbeitsumgebung_mittels_Python_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2021-06-08T09:47:29.639+02:00","recording_url":"https://cdn.media.ccc.de/events/fossgis/2021/h264-hd/fossgis2021-9032-deu-Massgeschneiderte_QGIS-Arbeitsumgebung_mittels_Python_hd.mp4","url":"https://api.media.ccc.de/public/recordings/53436","event_url":"https://api.media.ccc.de/public/events/df124a31-9080-53a8-a542-9351a5b26c3e","conference_url":"https://api.media.ccc.de/public/conferences/fossgis2021"}]}