Konvertieren

Worum geht es hier?

  • Konvertierungen definieren, beschreiben und ausführen.
  • Diese Definitionen ändern und löschen.
  • Die Ergebnisse einer Konvertierung betrachten.

Hintergrund

Das Definieren und Ausführen von Konvertierungen ist der letzte Schritt des Imports. Im ersten Schritt, dem Rohdatenimport, wurden die Daten in Quelltabellen eingespeist. Im zweiten Schritt, wurden Strukturen definiert, um die Daten zu ordnen und ihre Inhalte in Klassen, Sachattributen und Verbindungen zu modellieren.

Nun werden die Ergebnisse dieser beiden Schritte zusammengeführt: die Daten der Quelltabellen können in die angelegten Strukturen überführt werden. Dies geschieht durch die Definition von Konvertierungen. In einer Konvertierung werden Felder benannt, welche aus einer Quelltabelle in eine Zielstruktur überführt werden sollen. Dabei können zusätzliche Regeln der Umwandlung aufgestellt werden, z.B. eine Umwandlung von Datentypen, Aufstellen von Bedingungen, etc.

Die Anleitungen in den folgenden Seiten beziehen sich auf die bereits vorgestellten Beispieldaten.

Konvertierungen verwalten

1. Grundlagen

Konvertierungen können bzw. müssen separat für die drei Entitäten des Modells definiert werden:

  • Klassen
  • Sachattribute
  • Verbindungen

Es gibt kein festgelegtes Verhältnis zwischen Quelltabellen und Konvertierungen. Eine Quelltabelle kann für mehrere Konvertierungen herangezogen werden:

1 Quelltabelle  -> N Entitäten im Modell

Beispielsweise wird in den folgenden Anleitungen die eine Quelltabelle q_00000000900008 für eine Klassenkonvertierung manchmal auch Objektkonvertierung genannt), mehrere Sachattributskonvertierungen und eine Verbindungskonvertierung herangezogen.

Umgekehrt kann auch eine Entität im Modell aus mehreren Konvertierungen bzw. aus verschiedenen Quelltabellen gefüllt werden:

N Quelltabellen -> 1 Entität im Modell

Beispielsweise gibt es keinen frei zugänglichen Datensatz aller Flurstücke in Deutschland, aber die meisten Bundesländer stellen ihre Flurstücke als Open Data bereit, jeweils in einer leicht abgewandelten Struktur. So könnte eine einzige Klasse "Flurstücke" aus 16 verschiedenen jeweils aus einem Bundesland bezogenen Quelltabellen gespeist werden. jede der erforderlichen 16 Konvertierungen wäre an die jeweiligen bundeslandspezifischen Datenstrukturen angepasst.

2. Konvertierungen definieren vs Konvertierungen ausführen

Eine Konvertierung ist zunächst nur das Aufstellen und Dokumentieren von Regeln. Das verändert den Datenbestand noch nicht. Erst wenn eine Konvertierung ausgeführt wird, werden Daten im Simplex4Data eingelesen, aktualisiert, gelöscht u.v.m. Eine Konvertierung muss immer erst definiert und gespeichert werden, bevor sie ausgeführt werden kann.

Für jede Entität (Klasse, Sachattribut, Verbindung), die konvertiert wird, können beliebig viele Konvertierungen definiert werden. Sie können sich ergänzen oder konkurrierende Ansätze sein, oder einfach Notizen. Das Definieren oder Ändern einer Konvertierung hat zunächst keinen Einfluss auf die Daten in der Klasse. Erst wenn eine Konvertierung ausgeführt wird, ändern sich diese.

Entscheidend dafür, welche Daten in der Klasse landen, ist, welche Konvertierung(en) ausgeführt wurde(n). Nicht, welche alle definiert wurden.

3. Unabhängige und abhängige Konvertierungen

Während Klassenkonvertierungen immer für sich stehen (d.h. unabhängig sind), können Konvertierungen von Sachattributen und Verbindungen so definiert werden, dass sie von einer Klassenkonvertierung abhängen. Das bedeutet, dass sie immer mit ausgeführt werden, wenn die Klassenkonvertierung ausgeführt wird, und dass beim Definieren der abhängigen Konvertierungen verschiedene Konfigurationen der Klassenkonvertierung direkt übernommen werden, was v.a. bei Sachattributskonvertierungen Schreibarbeit sparen kann. Alle übernommenen Konfigurationen können aber auch wieder händisch geändert werden.

Abhängige Konvertierungen sind besonders dann nützlich, wenn aus einer einzigen Quelltabelle mit vielen Spalten direkt eine Klasse des Simplex mit vielen sachattributen befüllt werden kann.

In den folgenden Anleitungen werden schwerpunktmäßig unabhängige Konvertierungen gezeigt.