Entwicklung des QGIS-Plugins „SHOGun-Editor“ durch unseren Praktikanten Jonas Grieb

Ein Praktikumsbericht von unserem Praktikanten Jonas Grieb:

Nachdem ich im letzten Jahr meinen Bachelor-Abschluss in Geographie an der Universität Bonn erreicht habe, bei dem ich von Anfang an schwerpunktmäßig Veranstaltungen im Bereich GIS und Geomatik belegt hatte, absolvierte ich von Mai bis August ein Praktikum bei der Firma terrestris. Meine Erwartungen waren, darüber einen besseren Einblick in das Berufsleben zu gewinnen und meine Kenntnisse und Fähigkeiten im Bereich (Web)GIS zu erweitern.

Am Ende des Praktikums kann ich sagen, dass sich diese Erwartungen in jeder Hinsicht erfüllt haben. Da bei terrestris grundsätzlich mit Open Source Software gearbeitet wird, konnte ich viel im alltäglichen Umgang mit Linux-Systemen, sowie git und weiteren Entwicklungs-Tools lernen. Darüber hinaus arbeitete ich an vielen kleineren Aufgaben, bei denen ich mich mit der Architektur der hauseigenen GIS-Lösung SHOGun, sowie mit der Webentwicklung auf Basis von react und den Bibliotheken react-geo und OpenLayers beschäftigte. Außerdem hatte ich eine Hauptaufgabe, die darin bestand ein QGIS-Plugin als Schnittstelle zu SHOGun zu entwickeln. Mehr Infos zu dem Plugin gibt es weiter unten.

Bei terrestris nahm ich eine sehr positive Arbeitsatmosphäre war. So war der Umgang miteinander stets freundlich und bei Fragen und Problemen konnte ich mich an alle Mitarbeiter wenden. Dadurch konnte ich von der langjährigen Erfahrung mit der Entwicklung von Open Source WebGIS-Systemen in der Firma profitieren. Darüber hinaus gab es in den Mittagspausen und bei Events wie dem Sommerfest „Bratwurst, Bier und GIS“ die Gelegenheit zu netten Gesprächen mit Mitarbeitern, die aus den verschiedensten Richtungen in die „Geo-Welt“ gefunden haben, auch mit den Mitarbeitern der Partnerfirma mundialis.

Wie bereits erwähnt, bestand meine Hauptaufgabe während der Praktikumszeit in der Entwicklung eines Plugins für die populäre und freie Destkop-GIS-Software QGIS. Dieses Plugin soll im Folgenden näher erklärt werden. Es soll als Schnittstelle zu SHOGun dienen. Das heißt, es soll Nutzern von SHOGun die Möglichkeit geben, QGIS mit dem Webclient von SHOGun zu verbinden und dieses innerhalb von QGIS zu administrieren. 

Es gibt viele Möglichkeiten, wie Nutzer davon profitieren können: Aufgrund seiner vielfältigen Einsatzmöglichkeiten ist QGIS bereits auf den PCs vieler Nutzer installiert und wird oft in alltägliche Arbeitsprozesse eingebunden. Mit Hilfe des Plugins können Layer und deren Styles nun direkt auf unfallfreiem Wege in SHOGun veröffentlicht und müssen nicht aufwendig exportiert und wieder importiert werden. Darüber hinaus kann von den detaillierten Styling-Möglichkeiten von QGIS profitiert werden. Auch ist es mit Hilfe denkbar, dass Nutzer die gesamte Administration der Applikationen und Layer in SHOGun von QGIS aus durchführen, wo sie bereits an die Arbeitsoberfläche gewöhnt sind.

Um das Plugin zu erstellen, musste ich mich zuerst in die Funktionsweise der SHOGun-Webapp und in die REST-Schnittstelle hineinarbeiten. Anschließend begann ich mit der Programmierung des Plugins. Dieses ist sowohl mit dem Interface von QGIS und dessen Kartenansicht verbunden, als auch spricht es nach entsprechender Nutzereingabe per HTTP-Request die Schnittstellen von SHOGun an.

Das Plugin ist wie die meisten QGIS-Plugins in Python geschrieben und basiert von der GUI her auf der QT-Bibliothek. Dadurch lässt es sich leicht in die Oberfläche von QGIS integrieren. Es ist bereits in das offizielle QGIS-Plugin-Repository hochgeladen, sodass es an jedem QGIS-Arbeitsplatz installiert werden kann. Außerdem ist der Quellcode komplett einsehbar auf https://github.com/terrestris/qgis-shogun-editor. Im Moment ist das Plugin in der Version 0.2 veröffentlicht, da noch nicht alle Funktionen implementiert und fertig getestet sind. Allerdings wurde es direkt so konzipiert, dass es sowohl mit dem älteren Long-Term-Release von QGIS (2.18), als auch mit dem neuen QGIS 3 kompatibel ist.

Die folgenden drei Videoclips sollen exemplarisch die Funktionsweise des Plugins in Verbindung mit einer lokalen Installation von SHOGun darstellen.

  1. Installieren des Plugins und Verbindung mit SHOGun

  2. Editieren von SHOGun-Elementen vom QGIS-Interface aus

  3. Styling und Erstellung von neuen Layern und Applikationen

Abschließend kann ich sagen, dass ich beim Praktikum bei terrestris sehr viel gelernt habe und mir die eigenständige Entwicklung des QGIS-Plugins Spaß gemacht hat. Dabei fielen mir die Vorteile von Open Source Software auf: So konnte ich alle Entwickler-Tools, die ich benötigte, im Internet frei herunterladen und bei Problemen fand man sehr schnell Abhilfe in den entsprechenden Foren der großen Community. Dadurch, dass mir während der Arbeit ein Bug in der neuen Version von QGIS auffiel, den ich letztlich bei den QGIS-Entwicklern meldete, konnte ich auch aktiv zur Weiterentwicklung dieser freien GIS-Software beitragen. Auch über mein Praktikum bei terrestris hinaus möchte ich in dieser Community weiter aktiv bleiben. Ich möchte mich bei allen Mitarbeitern von terrestris für die Praktikumszeit bedanken und kann das Praktikum jedem, der sich für die Entwicklung in der Open Source „Geo-Welt“ begeistert, weiterempfehlen.