top of page

Datenvalidierung: Modelle prüfen und bereinigen

  • Autorenbild: Deborah Marcandella
    Deborah Marcandella
  • 8. Juli
  • 4 Min. Lesezeit

Tipps & Tricks: Daten der Siedlungsentwässerung #2


Hast du schon einmal erlebt, dass du Daten erhalten hast, diese vielleicht sogar in einem bestimmten Modell und einer bestimmten Version bestellt hast, die Daten über eine Schnittstelle einlesen wolltest – und es kam zu einer Fehlermeldung? Frustrierend, oder?

Es gibt viele Gründe, warum ein Import nicht funktioniert:


  • Die Schnittstelle erwartet die Daten in einem anderen Modell.

  • Die Daten enthalten Fehler, die die Schnittstelle nicht verarbeiten kann.

  • Die Schnittstelle selbst hat einen Bug.


Solche Fehlimporte kosten nicht nur Zeit, sondern auch Nerven. Meine Erfahrung zeigt: Es ist nachhaltiger, die Daten vor dem Import einem kurzen Test zu unterziehen. Deshalb meine drei grundlegenden Tipps:


  1. Verstehen, was die Schnittstelle kann – und was nicht.

  2. Den Datensatz auf das richtige Modell prüfen.

  3. Die Daten auf Mindestanforderungen überprüfen.


In diesem Artikel zeige ich dir, wie du einen Interlis-Datensatz auf das richtige Modell prüfen kannst. Warum das wichtig ist? Selbst Exportschnittstellen können fehlerhaft sein, oder ein Datensatz wird mit der falschen Schnittstelle exportiert. Wie du Interlis-Daten prüfst und mit möglichen Fehlern umgehst, erkläre ich in einem zukünftigen Artikel dieser Serie.

In diesem Artikel zeige ich dir, wie du einen Interlis-Datensatz auf das richtige Modell prüfen kannst. Warum das wichtig ist? Selbst Exportschnittstellen können fehlerhaft sein, oder ein Datensatz wird mit der falschen Schnittstelle exportiert. Wie du Interlis-Daten prüfst und mit möglichen Fehlern umgehst, erkläre ich in einem zukünftigen Artikel dieser Serie.

Schritt-für-Schritt: So prüfst du das Datenmodell

Schritt 1: Öffne die Interlis-Datei (.xtf) in einem Texteditor. Ich empfehle Notepad++ oder Visual Studio Code. Beide Texteditoren bieten Interlis-Erweiterungen, die dir helfen, den Inhalt besser zu visualisieren (Syntax-Highlighting).

Schritt 2: Suche den XML-Tag <MODELS>. Diesen Tag findest du in den ersten Zeilen der Datei. Dort werden alle Modelle aufgelistet, die im Datensatz verwendet werden. Die Darstellung kann variieren:

Variante 1: Modelle auf einer Zeile

<MODELS><MODEL NAME="Modell1" VERSION="1.0"/><MODEL NAME="Modell2" VERSION="1.1"/><MODEL NAME="Modell3" VERSION="1.0"/></MODELS>

Variante 2: Modelle auf mehreren Zeilen

<MODELS>
  <MODEL NAME="Modell1" VERSION="1.0"/>
  <MODEL NAME="Modell2" VERSION="1.0"/>
  <MODEL NAME="Modell3" VERSION="1.0"/>
</MODELS>

Ich empfehle, die Modelle immer zeilenweise anzuordnen – das erleichtert die Analyse und Lesbarkeit. Bereits an dieser Stelle können Ungereimtheiten sichtbar werden, die später zu Problemen führen.

Schritt 3: Prüfe, in welchem Modell die einzelnen Datensätze gespeichert sind. Dies hilft dir zu verstehen, ob die Daten und die Modelle zusammenpassen.

Schritt 4: Bereinige die Modelle unter <MODELS>. In den meisten Fällen reicht es aus, nur das Modell beizubehalten, in dem die Daten vorliegen. Das Modell selbst enthält die Information, welche zusätzlichen Modelle benötigt werden, sodass diese nicht explizit im Datensatz aufgeführt werden müssen. Wenn unnötige oder falsche Modelle aufgelistet sind, könnte die Schnittstelle Schwierigkeiten haben, da nicht klar ist, welche Modelle tatsächlich erforderlich sind. Beispiel:

ree

Schritt 5: Korrigiere die Modellbezeichnungen in den Datensätzen. Falls nötig, stelle sicher, dass die Modellnamen im gesamten Datensatz konsistent sind.

Nachbearbeitung und Transformation

Nach diesen fünf Schritten sollten die Modellbezeichnungen keine Importprobleme mehr verursachen – es sei denn, die Schnittstelle unterstützt das verwendete Modell nicht. In diesem Fall kannst du:


  • Die Daten transformieren, oder

  • Den Datenlieferanten um einen angepassten Datensatz bitten.


Im Folgenden zeige ich anhand von einem Beispielen, wie ein möglicher Prüfprozess abläuft. So kannst du die Schritte direkt nachvollziehen und in der Praxis anwenden.

Beispiel Modell identifizieren

Schritt 1: Allgemeine Analyse der Modelle

ree

Im ersten Beispiel werden sieben Modelle aufgelistet. Das wirkt auf mich schon einmal ungewöhnlich, insbesondere weil einige Modelle doppelt vorkommen. Besonders auffällig ist, dass das Modell Base für Daten mit Bezugsrahmen LV03 verwendet wird, während Base_LV95 für Daten mit Bezugsrahmen LV95 genutzt wird. Da LV03 seit Ende 2020 offiziell nicht mehr gültig ist (siehe swisstopo), liegt die Vermutung nahe, dass die Daten in LV95 vorliegen.

Die Modelle wie Units, Base und SIA405_Base, unabhängig davon, ob sie auf LV03 oder LV95 basieren, enthalten grundlegende Definitionen wie Datentypen, allgemeine Wertebereiche und übergreifende Klassen. Diese dienen als Basis und werden von anderen Modellen verwendet. Das für unsere Daten relevante Modell, das die Struktur und den Umfang der vorliegenden Informationen definiert, ist jedoch SIA405 Abwasser.

Schritt2: Prüfung des Modells bei einzelnen Datensätzen

Der nächste Schritt besteht darin, zu überprüfen, welches Modell bei den einzelnen Datensätzen hinterlegt ist. Dazu schaue ich mir die Tags der Datensätze an und prüfe die darin enthaltenen Angaben zum Modell.

ree

Anhand dieser Überprüfung darf ich annehmen, dass die Daten im Bezugsrahmen LV95 vorliegen.

Schritt 3: Koordinaten überprüfen

Um sicherzugehen, führe ich zusätzlich eine Stichprobe der Koordinaten durch. Bei einem SIA405-Abwasser-Datensatz lassen sich Koordinaten beispielsweise in den Klassen Haltung, Haltungspunkt oder Abwasserknoten finden.

Ich überprüfe die Lage einiger Punkte und stelle fest, dass die Koordinaten im Bezugsrahmen LV95 angegeben sind. Dies bestätigt, dass die Daten konsistent und korrekt vorliegen.

ree

Schritt 4: Überflüssige Modelle unter <MODELS> löschen

Da wir jetzt sicher wissen, in welchem Datenmodell die Daten vorliegen, können wir alle überflüssigen Modelle aus der <MODELS>-Sektion entfernen. Übrig bleibt in diesem Fall nur SIA405_ABWASSER_2015_LV95.

ree

Fazit

Die Prüfung und Bereinigung von Modellen ist ein wichtiger erster Schritt, um sicherzustellen, dass Daten korrekt importiert werden können. In diesem Artikel haben wir gezeigt, wie du die Modelle in deinen Interlis-Daten analysierst und bereinigst, um Fehler im Zusammenhang mit den Modellen zu vermeiden.

Es ist jedoch wichtig zu betonen, dass das Prüfen der Modelle nur ein erster Schritt ist, um Probleme im Zusammenhang mit den Modellen auszuschliessen. Fehler in den Daten selbst – wie ungültige Werte, fehlende Pflichtfelder oder fehlerhafte Verknüpfungen – können dennoch dazu führen, dass der Datensatz nicht weiter verarbeitet und importiert werden kann.

In der Praxis können viele verschiedene Probleme auftreten, sei es durch unterschiedliche Modellversionen, fehlerhafte Exporte oder inkompatible Schnittstellen. Daher ist es entscheidend, bei jedem Importvorgang systematisch vorzugehen und die Daten umfassend zu überprüfen, um potenzielle Stolpersteine frühzeitig zu erkennen und zu beheben.

Ein solcher Prüfworkflow kann auf alle Datensätze angewendet werden, egal ob es sich um VSA-DSS, VSA-KEK, VSA-DSS Mini oder andere Formate handelt. Mit den richtigen Werkzeugen und einem strukturierten Ansatz kannst du solche Herausforderungen meistern und den Importprozess effizient gestalten.

Kommentare


bottom of page