^

Development of the QGIS plugin “SHOGun-Editor” by our intern Jonas Grieb

An internship report by our intern Jonas Grieb:

After completing my bachelor’s degree in geography at the University of Bonn last year, where I focused on courses in GIS and geomatics from the beginning, I completed an internship at terrestris from May to August. My expectations were to gain a better insight into professional life and to expand my knowledge and skills in the field of (Web)GIS.

At the end of the internship, I can say that these expectations have been met in every respect. Since terrestris generally works with open source software, I was able to learn a lot in the daily handling of Linux systems, as well as git and other development tools. In addition, I worked on many smaller tasks in which I dealt with the architecture of the in-house GIS solution SHOGun, as well as with web development based on react and the libraries react-geo and OpenLayers. I also had a main task, which was to develop a QGIS plugin as an interface to SHOGun. More information about the plugin can be found below.

At terrestris, I experienced a very positive working atmosphere. The interaction with each other was always friendly and I could turn to all employees with questions and problems. This allowed me to benefit from the company’s many years of experience in the development of open source WebGIS systems. In addition, during lunch breaks and at events such as the summer festival “Bratwurst, Bier und GIS” (Sausage, Beer and GIS), there was the opportunity for nice conversations with employees who came from various directions into the “Geo-World”, including with the employees of the partner company mundialis.

As already mentioned, my main task during the internship was the development of a plugin for the popular and free desktop GIS software QGIS. This plugin will be explained in more detail below. It is intended to serve as an interface to SHOGun. This means that it should give SHOGun users the ability to connect QGIS to the SHOGun web client and administer it within QGIS.

There are many ways users can benefit from this: Due to its diverse application possibilities, QGIS is already installed on the PCs of many users and is often integrated into everyday work processes. With the help of the plugin, layers and their styles can now be published directly in SHOGun without accidents and do not have to be exported and imported again at great expense. In addition, users can benefit from the detailed styling options of QGIS. It is also conceivable that users can carry out the entire administration of applications and layers in SHOGun from QGIS, where they are already accustomed to the working environment.

To create the plugin, I first had to familiarize myself with the functionality of the SHOGun web app and the REST interface. Then I started programming the plugin. This is connected both to the interface of QGIS and its map view, and it also addresses the interfaces of SHOGun via HTTP request after corresponding user input.

Like most QGIS plugins, the plugin is written in Python and is based on the QT library for the GUI. This makes it easy to integrate into the QGIS interface. It has already been uploaded to the official QGIS plugin repository, so it can be installed on any QGIS workstation. The source code is also completely visible at https://github.com/terrestris/qgis-shogun-editor. At the moment, the plugin is released in version 0.2, as not all functions have been implemented and fully tested yet. However, it was designed from the outset to be compatible with both the older Long-Term-Release of QGIS (2.18) and the new QGIS 3.

The following three video clips are intended to exemplify the functionality of the plugin in connection with a local installation of SHOGun.

  1. Installing the plugin and connecting to SHOGun

  2. Editing SHOGun elements from the QGIS interface

  3. Styling and creation of new layers and applications

In conclusion, I can say that I learned a lot during my internship at terrestris and I enjoyed the independent development of the QGIS plugin. I noticed the advantages of open source software: I was able to download all the developer tools I needed for free on the Internet and, in case of problems, I quickly found help in the corresponding forums of the large community. The fact that I noticed a bug in the new version of QGIS during my work, which I ultimately reported to the QGIS developers, also allowed me to actively contribute to the further development of this free GIS software. I would also like to remain active in this community beyond my internship at terrestris. I would like to thank all terrestris employees for the internship and can recommend the internship to anyone who is enthusiastic about development in the open source “Geo-World”.

Development of the QGIS plugin “SHOGun-Editor” by our intern Jonas Grieb