Innovation Day: QGIS, Vector-Tiles, Kollisionsdetektion von Vektorlabeln, GeoServer, SHOGun & Puppeteer

Innovation Days bei terrestris, intern auch einfach „Spieltage“ genannt, sind schon seit mehreren Jahren feste Termine in unserem Kalender. An Innovation Days bestimmen die Mitarbeiter den Inhalt Ihres Tages selber – dies vor dem Hintergrund Neues auszuprobieren oder auch einfach nur Software oder Techniken zu entwickeln bzw. zu testen. Dinge also, für die das Tagesgeschäft manchmal keinen Raum lässt. Kurz gesagt sind Innovation Days also projektbefreite Kreativpausen von dem, was wir sonst machen. Der Erfolg bestätigt dieses Konzept: einige unserer Arbeitsweisen, Angebote oder auch Features, haben ihre Anfänge an einem dieser Tage. Wir berichten heute von den Entwicklungen des letzten Innovation Days im September.

QGIS als Open Source Desktop GIS wird immer populärer und auch wir haben rund um QGIS in der Vergangenheit Projekte abgewickelt. In Kürze wird mit QGIS 3.0 eine neue Version verfügbar sein – eine Frage am Innovation Day war, mit welchem Aufwand sich bestehende QGIS PlugIns für QGIS 2.x auf die neue Version umziehen lassen, denn der Umzug auf QGIS 3.x bedeutet auch, das diese zumindest angepasst werden müssen. Ein Ergebnis war, dass sich wie zu erwarten keine pauschale Aussage treffen lässt, dass ein Umzug aber grundsätzlich zu bewerkstelligen ist. Als kleines Nebenprodukt hat unser Entwickler Andreas Schmitz ein QGIS PlugIn entwickelt, welches per Knopfdruck das Hinzuladen unserer OWS-WMS Dienste in QGIS erlaubt. Das PlugIn steht natürlich auf Github zur Verfügung.

labelsEin anderes Thema, dem sich gleich zwei Entwickler gewidmet haben sind Vector Tiles. Vector Tiles (MVT) sind vorprozessierte Kartenkacheln, in denen Geodaten als Vektoren in einem spezifischen Format an einen Client ausgeliefert werden. Jener ist dann für die Ausgestaltung der Daten verantwortlich. Johannes Weskamm setzte sich mit der optimalen Positionierung von Beschriftungen für Straßennamen auseinander und entwickelt dabei unter anderem eine Kollisionsdetektion für Labels in OpenLayers. Da wir in Zukunft unseren OSM-WMS auch in diesem Format bereitstellen und selber nutzen wollen, sind diese Entwicklungen ein essentieller Baustein für dieses Gesamtvorhaben. Wir hoffen hier unsere Erkenntnisse mit dem OpenLayers-Projekt teilen zu können. Daniel Koch hat diese Technologie auf Basis der GeoServer VectorTiles-Extension in Kombination mit OpenLayers auf mögliche Verwendung in unseren neuen Applikationen (v.a. solche die auf react-geo basieren) geprüft. Hierbei lag der Fokus auf unseren hohen Ansprüchen an Performance und den Umsetzungsmöglichkeiten der zum Teil sehr komplexen Stilvorschriften.

Andre Henn bechäftigte sich mit der GeoServer-Administrationsoberfläche und der Frage, inwieweit sich diese Individualisieren lässt. Sein Fazit, auch sichtbar im Screenshot unten ist, das sich die GUI relativ leicht projekt- bzw. kundepspezifisch anpassen lässt. Das Beispiel unten zeigt ein Design im terrestris-Stil.

 

Marc Jansen schließlich hat sich mit automatisierten Tests von unseren Webanwendungen mittels der Software Puppeteer befasst. Mit Puppeteer kann man einen Chrome-Browser fernsteuern, und etwa an beliebigen Stellen Screenshots machen, aber auch Code auf der jeweilige Webseite ausführen. So konnte er prüfen, ob eine Anmeldung im SHOGun-Backend möglich ist und ob dem angemeldeten Benutzer die korrekte Rolle zugewiesen wird. Anschließend wird geprüft, ob man aus dem Administrationsbackend einen GIS-Client aufrufen kann. Puppeteer wir aktiv entwickelt und hat eine sehr schöne API, die man von Node.js Projekten wunderbar verwenden kann. Die Tests lieferten sehr vielversprechende Ergebnisse, eine generelle Verwendung von Puppeteer wird seitdem intern diskutiert.