13.03.2019 –, Mathe Z211
Beim Amt für Geoinformation des Kantons Solothurn steht seit 2018 das Datenmanagement-Tool GRETL im Einsatz für den Datenimport und -export in die bzw. aus der PostGIS-Datenbank, aber auch für Datenumbauten von einem Datenmodell in ein anderes. GRETL ist ein Plugin für das Gradle Build Tool, wodurch die volle Power eines Build-Tools neu für Geodatenflüsse zur Verfügung steht.
Anlässlich der kompletten Erneuerung der Geodateninfrastruktur des Amts für Geoinformation des Kantons Solothurn mussten auch diverse veraltete Geodatenimport- und -exportskripte abgelöst werden. Der Vortrag beschreibt das dabei entstandene Datenmanagement-Tool GRETL, das seit Frühjahr 2018 im Einsatz ist. GRETL ist ein Plugin für das Gradle Build Tool; dadurch können verschiedene Steps zu einem Job aneinandergereiht werden. Ein Job kann so z.B. zuerst eine Datei von einem Server herunterladen, die Daten in eine PostGIS-Datenbank importieren, danach die Daten per Datenumbau in ein anderes Datenmodell umbauen und zum Schluss die umgebauten Daten in eine weitere Datenbank kopieren oder in eine Datei exportieren. Und falls einer der Steps fehlschlägt, wird der komplette Job abgebrochen und dies entsprechend geloggt.
GRETL erweitert Gradle um folgende Steps, die für das Geodatenmanagement zentral sind:
* SQL-Executor-Step: Erlaubt es, beliebiges SQL auf einer Datenbank auszuführen; damit kann innerhalb einer Datenbank z.B. ein Datenumbau von einem Datenmodell in ein anderes umgesetzt werden.
* Db2Db-Step: Erlaubt es, Daten von einer Datenbank in eine andere zu kopieren, ohne dass diese miteinander verlinkt sein müssen; das Lesen der Daten erfolgt über eine beliebige SQL-Abfrage, wodurch auch hier vor dem Kopieren z.B. ein Datenumbau möglich ist. Der Db2Db-Step kann auch zum Datenimport aus Fremddatenbanken verwendet werden.
* INTERLIS-Import-, INTERLIS-Export-, INTERLIS-Validator-Step: Erlauben es, INTERLIS-Daten zu importieren, zu exportieren und gegen ein INTERLIS-Datenmodell zu validieren; INTERLIS ist ein in der Schweiz gebräuchliches Austauschformat für Geodaten, wobei zu den Daten immer auch ein INTERLIS-Datenmodell gehört.
* CSV-Import-, CSV-Export-, CSV-Validator-Step und SHP-Import-, SHP-Export-, SHP-Validator-Step: Erlauben es, CSV- bzw. Shapefile-Daten zu importieren, zu exportieren und ebenfalls gegen ein INTERLIS-Datenmodell zu prüfen.
Im Betrieb werden die GRETL-Jobs durch Jenkins, eine Automation Server Software, gesteuert. Entweder werden sie automatisch zu einem vorgegebenen Zeitpunkt oder manuell durch einen Benutzer gestartet. Jenkins hält zudem die History und die Logs der Jobs vor und übernimmt das Berechtigungsmanagement.
GRETL nutzt als Sprache für die Datenumbauten SQL. Durch die Möglichkeiten von SQL ist GRETL ein mächtiges ETL-Werkzeug (Extract, Transform, Load), und es ist für die Umsetzung eines Datenumbaus kein Erlernen einer speziellen Sprache notwendig. Auch dank des weitgehenden Einsatzes von Standardsoftware (Gradle, Jenkins) ist ein zuverlässiges, transparentes Werkzeug entstanden.
GIS-Projektleiter beim Amt für Geoinformation des Kantons Solothurn