Innovation Day: QGIS, Vector-Tiles, collision detection of vector-labels, GeoServer, SHOGun & Puppeteer

Innovation Days at terrestris are fixed dates in our calendar for several years now. At Innovation Days, employees determine the content of their day themselves – they are free to try out new things or to develop or test new software techniques for which day-to-day business does not leave any time. In short, Innovation Days are project free creative breaks from what we do on any other day. And success confirms this concept: Some of our current workflows, offers and features have their beginnings on one of these days. Today we report on the developments from the last Innovation Day in September.

QGIS, as an Open Source Desktop GIS, is becoming more and more popular. We at terrestris have also handled several QGIS projects in the past. A new version of QGIS (v.3.0) will soon be available – so one question on our Innovation Day was how much effort will be needed to move existing QGIS PlugIns to the new version. Updating to QGIS 3. x also means that all extensions have to be adapted to new Python and QT-versions. One result is that, as we expected, no blanket statement can be made, but that the upgrade should generally be doable. As a small by-product our developer Andreas Schmitz has implemented a QGIS PlugIn, which allows to load our OWS-WMS services into QGIS at the push of a single button. The plugIn is of course available on Github.

labelsAnother topic on which two developers worked on are Vector Tiles. Vector Tiles (MVT) are pre-processed map tiles through which geodata is delivered to a client as vectors in a specific format. After receivng vector tiles, the client is responsible for the layout of the data. Johannes Weskamm dealt with the optimal positioning of labels for street names and developed a collision detection system for labels in OpenLayers. Since we want to provide and use our OWS-WMS also as vector tile server in the future, these developments are an essential building block for this overall project. We are happy to share our findings with the OpenLayers project. Daniel Koch has tested the GeoServer VectorTiles extension in combination with OpenLayers. He investigated how we can most easily make use of the vectror tiles in our new applications (especially those based on react-geo). We focused on our high demands on performance and the implementation possibilities of the sometimes very complex styling regulations.

Andre Henn looked at the GeoServer administration interface and the question of how far the GUI could be customized. His conclusion, also visible in the screenshot below, is that the GUI can be easily adapted to project or customer specific requirements. His example shows a terrestris design.

Marc Jansen has worked on automated tests of our web applications using the Puppeteer software. With Puppeteer you can remotely control a Chrome browser, take screenshots whenever wanted, or run code on the currently opened website. This enabled him to check whether it was possible to log on to the SHOGun backend and whether the authenticated user was assigned to the correct role. The testing-system then checks whether it is possible to open a GIS client from the administration backend. Puppeteer is actively developed and comes along with a very nice API, which can be from Node.js projects. The tests performed proved very promising results, a general use of Puppeteer in our projects is in discussion.