Online-Prüfung von INTERLIS Transferdateien und Visualisierung von Fehlern

Das Geoinformationsgesetz (GeoIG) bezweckt die Harmonisierung von Geodaten innerhalb der Schweiz, um einen einfachen Austausch und eine breite Nutzung zu ermöglichen. Bund und Kantone sind gemäss GeoIG verpflichtet, für alle sogenannten Geobasisdaten minimale Geodatenmodelle (MGDM) zu beschreiben und bestehende Daten in diese Modellstruktur zu überführen. Dabei ist INTERLIS als konzeptionelle Beschreibungssprache für Geodaten für die Modellierung aller Geobasisdaten verbindlich vorgeschrieben. INTERLIS umfasst nicht nur eine Sprache zum Modellieren der Daten, sondern auch ein Verfahren, mit dem aus einem Modell das Transferformat (.xtf) abgeleitet wird, welches zum Austausch der modellierten Daten benutzt wird. Die Transferdateien werden oft aus Geodatensätzen, die in einem Geoinformationssystem geführt werden, exportiert.

Web-Interface des INTERLIS Web-Check Service

Web-Interface des INTERLIS Web-Check Service

 

Beim Erstellen von Transferdateien aus Geodatensätzen gilt es, die Qualität und Modellkonformität der Daten zu überprüfen, bevor die Daten abgegeben werden können. Der Ilivalidator kann dabei unterstützen, indem er Transferdateien validiert und gegebenenfalls Fehlermeldungen in Logdateien schreibt. Je nach Fehler ist zudem die Koordinate des fehlerhaften Datenpunkts in der Logdatei enthalten. Diese Logdatei muss nun ausgewertet werden und die Transferdatei entsprechend angepasst werden. Der typische Ablauf zum Validieren einer Transferdatei ist ein iterativer Prozess, bei dem eine Transferdatei mehrfach exportiert und validiert werden muss. Um Anwender:innen beim Validieren und Korrigieren der Transferdateien zu unterstützen hat GeoWerkstatt zwei miteinander verknüpfte Tools entwickelt, die den Prozess vereinfachen. Die Webapplikation INTERLIS Web-Check Service, welche wir in Zusammenarbeit mit der Abteilung Geoinformation des Kantons Zug realisiert haben, und der XTFLog-Checker, der als QGIS Plugin umgesetzt wurde.

 
Fortschrittsfeedback im Browser während der Validierung

Fortschrittsfeedback im Browser während der Validierung

QGIS Plugin XTFLog-Checker

QGIS Plugin XTFLog-Checker

Der INTERLIS Web-Check Service bietet Unterstützung beim Validieren der Transferdateien, der XTFLog-Checker hilft dabei Fehler als Punktlayer grafisch darzustellen und mit einer Checkliste abzuarbeiten. Der INTERLIS Web-Check Service ist eine Webanwendung in die eine INTERLIS-Transferdatei (gezippt oder ungezippt) hochgeladen werden kann. Die Anwendung entpackt die Datei, validiert zunächst deren Struktur und leitet sie dann an den Ilivalidator weiter. Das INTERLIS Modell, welches der Transferdatei entspricht wird automatisch evaluiert. Dazu wird die Transferdatei mit Modellen aus einem oder mehreren Model-Repositories (standardmässig https://models.interlis.ch) abgeglichen. Die Validierung kann mit einer .toml Datei zusätzlich konfiguriert werden. Dies ist unter anderem nützlich, wenn individuelle Fehlermeldungen generiert werden sollen (Für dieses Beispiel haben wir die Fehlermeldung “Es fehlt eine 1:1-Zuweisung zu einem Teileinzugsgebiet!” generiert, siehe unten). Der Ilivalidator validiert die Datei anhand des entsprechenden INTERLIS-Modells und schreibt das Validierungsresultat in den Browser zurück. Während des Prozesses erhalten Anwender:innen kontinuierlich Feedback im Browserfenster.

Ist die Validierung abgeschlossen, können zwei Ausprägungen des Logfiles heruntergeladen werden.

  1. Ein Textfile mit allen Fehlermeldungen (Dateiendung .log)

  2. Eine INTERLIS Transferdatei (Dateiendung. xtf), die dem INTERLIS-Modell IliVErrors entspricht und zusätzlich die Fehlerkoordinaten enthält.

Ausserdem kann über die Webapplikation ein Downloadlink für die XTFLog Datei in die Zwischenablage kopiert werden. Die bei der Validierung gewonnenen Logs können jetzt im QGIS Plugin XTFLog-Checker visualisiert werden. Nachdem in QGIS das XTFLog-Checker Plugin installiert wurde, stehen drei Möglichkeiten zur Verfügung, um die XTFLog-Datei in QGIS zu laden.

  1. Die XTFLog Datei wird aus dem INTERLIS Web-Check Service heruntergeladen und kann per drag ‘n drop in QGIS geladen werden, worauf sich automatisch das Fenster des XTFLog-Checker Plugins öffnet.

  2. Die XTFLog Datei wird aus dem INTERLIS Web-Check Service heruntergeladen, das XTFLog-Checker Plugin wird manuell geöffnet und die heruntergeladene Datei auf dem Filesystem ausgewählt.

  3. Der Downloadlink zur XTFLog Datei wird aus dem INTERLIS Web-Check Service in die Zwischenablage kopiert und im XTFLog-Checker Plugin angegeben. Das Logfile wird dann vom QGIS Plugin automatisch heruntergeladen und visualisiert, ohne dass es vorgängig manuell auf dem Rechner abgespeichert werden muss.

 
 
 
Temporärer Layer mit Ilivalidator-Fehlern und Checkliste

Temporärer Layer mit Ilivalidator-Fehlern und Checkliste

 

Mit dem Pfad bzw. der URL zum XTFLog erzeugt das QGIS Plugin einen temporären Layer, der alle Informationen aus dem XTFLog enthält. Fehlerkoordinaten werden als Punkte visualisiert (siehe Abbildung). Gleichzeitig öffnet sich ein Dockfenster mit einer Liste aller Fehlermeldungen. Es ist jetzt möglich nach Warnungen oder Fehlern zu filtern. Wird eine Fehlermeldung in der Liste im Dockfenster ausgewählt zoomt QGIS auf den Punkt und hebt ihn hervor. Mit den QGIS-Standardfunktionen können weitere Attributinformationen zum jeweiligen Fehlerpunkt abgefragt werden. Jeder Fehler in der Liste ist zudem mit einer Checkbox versehen, die es erlaubt abgearbeitete Fehler zu markieren. Wird der Geodatensatz, aus dem die Transferdatei erstellt wurde, auch in QGIS geführt, vereinfacht sich der Bearbeitungsprozess durch die Möglichkeit den Fehler-Layer mit dem ursprünglichen Geodatensatz zu überlagern.

Bei Bedarf kann der mit dem Plugin erstellte temporäre Layer persistiert werden. Dies geht ebenfalls mit QGIS-Standardfunktionen. Der Stand der Checkliste bleibt dabei erhalten, sodass zu einem späteren Zeitpunkt weitergearbeitet werden kann. Sind alle Fehler bearbeitet kann eine aktualisierte Transferdatei erneut im INTERLIS Web-Check Service validiert werden und der Prozess falls nötig wiederholt werden, bis die Datei modellkonform ist.

 
Stefan KienerInterlis