Referenzen

Vervollständigung des PostNAS-Schemas
Das PostNAS Projekt hat sich zur Aufgabe gestellt ein OpenSource-Tool zur Verfügung zu stellen mit dem ALKIS-Daten über die NAS-Schnittstelle in eine PostGIS-Datenbank eingelesen werden können. Die Grundlage bildet hier das Programm ogr2ogr aus dem GDAL Paket. Der ogr-PostNAS-Treiber, der die NAS-Dateien in die Datenbank einliest verwandelt die komplexe Struktur des AAA-Modells in eine flache relationale Datenbankstruktur. Dabei generiert der Treiber selbständig ein Datenmodell mit den Elementen, die in den NAS-Dateien vorkommen. Da aber nie alle Elemente gleichzeitig in einem Dokument vorkommen und später auch noch weitere Elemente in NAS-Dateien auftauchen können, die vorher noch nie eingelesen wurden musste das Datenbankschema nach Bedarf von Hand erweitert werden. Des Weiteren überschreibt der Treiber Werte in Tabellenspalten, wenn Namen in XML-Tags von Blattelementen gleichlautend sind.

Aus diesen Gründen wurde bei der Fa. GDI-Service eine Erweiterung des Datenbankschemas und ein Umbenennungsalgorithmus beauftragt.
Das Ziel ist, dass alle Elemente, die im ALKIS vorkommen mit ogr2ogr eingelesen und in einem vollständigen Modell in PostGIS weiterverarbeitet werden können, z.B. für die Darstellung von Liegenschaftskarten in WMS, die Präsentation im WebGIS kvwmap für Suche und Auskunft oder im Desktop-GIS QGIS.

Um die Vollständigkeit des Datenbankmodells zu gewährleisten wurde ein generischer Ansatz gewählt, der in folgenden Schritten abläuft.
1. Ableitung des Implementierungsmodells aus dem AAA-UML-Modell mit Shapechange
2. Export des UML-Modells als XMI-Datei
3. Einlesen der Modellelemente aus der XMI-Datei in eine relationales Datenbankschema aaa_uml mit dem von der Fa. GDI-Service entwickelten Programm xmi2db
4. Ableiten des vollständigen flachen Schemas aaa_gml mit xmi2db mit Umbenennung von mehrfach vorkommenden gleichlautenden Attributnamen.

Da Katasterämtern der verschiedenen Bundesländer unterschiedlich viele Elemente aus dem ALKIS-Schema verwenden, wurde darüber hinaus eine Filterfunktion eingerichtet mit der bei der Schemaerzeugung gezielt ganze Klassen oder einzelne Attribute ignoriert werden können. Über eine Funktion von xmi2db lässt sich die Liste der Umbenennungen erzeugen, die für die Vorbereitung zum Einlesen der NAS-Dateien gebraucht wird.

Da der ogr-PostNAS-Treiber gleich lautende Blattelemente im flachen Datenbankschema nicht unterscheidet, müssen die Tags in den NAS-Dateien vor dem Einlesen mit ogr2ogr umbenannt werden. Dazu wurde das Ruby-Skript rename_nas.rb entwickelt, welches mit im xmi2db Repository liegt.

Das Programm zur Erzeugung des Datenbankmodells finden Sie hier und eine Dokumentation zum Einlesen von NAS-Dateien hier.
2017-05-19_12_26_57-100977_thumb.jpg
 
  Datensatz auswählen
Referenzen alle auswählen
  • als Diagramm ausgeben