Geoprocessing as a Service mit Open Source-Werkzeugen in der Cloud

Geodateninfrastrukturen beziehen oft Daten aus externen Quellen oder geben sie an Dritte weiter. Verbunden ist dies in der Regel mit der Aggregierung, Anreicherung oder Zusammenführung von Geodaten. Nicht selten werden dabei klassische Geodaten-Prozessierungsschritte wie (Spatial) Joins, Filter, Geometriekorrekturen, Umbenennungen von Attributen oder Formatumwandlungen vorgenommen. Lokal lassen sich solche Prozesse mit gängigen Desktop-GIS-Softwareprodukten wie QGIS oder ArcGIS Pro mittels grafischer Modellierung, Batch-Processing oder Python-Skripten bereits relativ leicht automatisieren. Handelt es sich um standardisierte und stabile Prozesse, lohnt es sich aber, weiterzudenken und gleich das gesamte Processing an einen automatischen Dienst auszulagern. Genau diesen Weg sind wir bei GeoWerkstatt gegangen, als wir für das Bundesamt für Landwirtschaft (BLW) einen Cloud-basierten Prozessierungsdienst eingerichtet haben. Unser Dienst greift kantonale Landwirtschaftsdaten auf geodienste.ch (der Geodatenplattform der Kantone) ab, formt die Daten automatisch nach einem durch den Kunden spezifizierten Prozess um und versendet bei Fertigstellung einen Downloadlink an ausgewählte Adressaten . Der Prozess an sich ist nicht neu und wurde bisher in einem halbautomatischen Desktop-GIS-Workflow umgesetzt. Dies benötigte einige Nutzerinteraktionen und eine entsprechende Softwareinstallation auf Anwenderseite.

Mit der neuen Lösung wird der Prozess vollständig automatisiert mit den mächtigen Werkzeugen der Open Source-Bibliothek GDAL (Geospatial Data Abstraction Library) ausgeführt.

Konkret hat GeoWerkstatt für das vorliegende Projekt den benötigten Prozess nicht nur in GDAL umgesetzt, sondern die komplette Prozessierung mit In- und Output auf eine Cloud-Umgebung (Microsoft Azure Functions) ausgelagert – selbstverständlich mit Datenhaltung innerhalb der Schweiz.

Täglich fragt der Dienst bei geodienste.ch Updates der gesuchten Datensätze an. Gab es Änderungen an einem oder mehreren Datensätzen während der letzten 24 Stunden, bezieht der Prozessierungsdienst automatisch die betroffenen Daten, prozessiert sie und versendet nach Fertigstellung einen Download-Link zum Produkt. Mittels Logfiles kann nachvollzogen werden, wann und in welchem Umfang der Dienst aktiv war. Auch die Ressourcenallokation in der Cloud erfolgt automatisch: Der Dienst bezieht nur dann Rechenleistung, wenn er sie benötigt.

Damit entsteht gleich ein mehrfacher Effizienzgewinn: Auf Kundenseite werden potenzielle Fehlerquellen eliminiert und der Endpunkt benötigt keine Softwarelizenzen mehr. Die Automatisierung reduziert den Mental Load für die Anwender:innen und die Rückverfolgbarkeit ist durch das Logging jederzeit gewährleistet. Allfällige Fehler können schnell identifiziert und behoben werden. Selbst die potenziellen Fehlerquellen werden eingegrenzt: Die Azure Functions-Umgebung beinhaltet nur Software, die tatsächlich zur Ausführung des Prozesses benötigt wird.

Zurück
Zurück

INTERLIS Constraints #2: Wenn Constraints auf den Prüfstand müssen

Weiter
Weiter

geopilot #2 : Unsere neue Datendrehscheibe aus Nutzersicht