Datenbankschemata

Aus LISt-WIKI

Wechseln zu: Navigation, Suche
  • Ansprechpartner: Thomas Kloß, Tel.: 0351 8139-4825
  • Stand: 08. November 2013


Inhaltsverzeichnis

[Bearbeiten] Zielstellung

Die Umsetzung der INSPIRE-Richtlinie fordert von den geodatenhaltenden Stellen die Bereitstellung der existierenden Datenbestände in standardisierter Form. Die Veröffentlichung der Daten erfolgt dabei über Webdienste, über welche die Daten entsprechend den komplexen Datenschemata ausgeliefert werden sollen. Beim Anbieter der Daten stellt sich in diesem Zusammenhang die Frage, wie die Daten persistent gespeichert werden können. Idealerweise erfolgt die Datenhaltung ebenfalls im INSPIRE-Schema. In der Studie wurde untersucht, wie aus dem INSPIRE-Anwendungschema für Verkehrsnetze (Transport Networks) mit dem Anwendungsschema Straßenverkehr (Road Transport Networks), automatisiert ein Geodatenbankschema für eine PostGIS-Datenbank erstellt werden kann.

Im Einzelnen wurden folgende Punkte untersucht:

  • Bestimmung des Quellschemas: Inhaltlicher Vergleich der UML-Modelle mit den entsprechenden XML-Schema-Dateien (XSD)
  • Untersuchung von Verfahren zur Ableitung eines Geodatenbankschemas aus den INSPIRE-Modellen
  • Prototypische Schemakonvertierung (vorerst ohne referentielle Integrität


[Bearbeiten] Bestimmung des Quellschemas: Inhaltlicher Vergleich XSD/UML

Das Anwendungsschema Road Transport Networks ist in der Datenspezifikation D2.8.I.7 INSPIRE Data Specification on Transport Networks − Guidelines definiert (INSPIRE 2010A). Das Schema besitzt Abhängigkeiten zu den folgenden vier Anwendungsschemata:

Application schema Common Transport Elements (INSPIRE 2010a)
Data Specification on Geographical Names − Application schema Geographical names (INSPIRE 2010b)
Generic Network Model − Network application schema (INSPIRE 2012a)
Data Specification − Base Models − „Activity Complex“ Application Schema (INSPIRE 2012b)

[Bearbeiten] Durchführung des Vergleichs

Aufgrund des Umfangs und der Komplexität der Datenschemata war ein Vergleich der UML-Modelle mit den XML-Dateien in der XML-Textansicht (z.B. im Browser) nicht möglich. Daher wurde folgende Vorgehensweise gewählt:

  • Download der UML-Modelle (EA-Projektdatei) und der GML-Anwendungsschemata (ZIP-Archiv)
  • Einladen der UML-Modelle, Abspeichern der Schemata als PNG-Datei
  • Installation einer Testversion der Software XMLSpy (ALTOVA 2012), Einladen der XML-Schema-Dateien, Anpassung der Schema-Ansicht (Ziel: Anzeige des gleichen Inhalts bei UML und XSD), Ausgabe der XML-Elemente in der konfigurierten Schema-Ansicht als PNG-Datei
  • Visueller Vergleich der Graphiken nach:
    • Name und Anzahl der FeatureTypes
    • Name und Anzahl der Attribute
    • Übereinstimmung von Beziehungen (Multiplizitäten)


[Bearbeiten] Beispiel

Im Folgenden soll beispielhaft an einem Ausschnitt aus dem INSPIRE-Modell der Vergleich UML/XSD für den FeatureType Road aufgezeigt werden. Die Schemata der XSD-Dateien enthalten noch Verweise auf externe OGC-Schemata (GML), die durch die Software XMLSpy bei vorhandener Internet-Verbindung automatisch geladen werden. Diese Schemata wurden zur besseren Übersichtlichkeit nicht mit abgebildet.


Abb. 1: Vergleich UML/XSD am Beispiel des FeatureTypes Road
UML XSD


Die Klasse Road (Abb. oben link, roter Rand) verfügt über die Attribute localRoadCode und nationalRoadCode. Diese Attribute sind beide dem Stereotyp voidable zugeordnet. Sämtliche Attribute dieses Stereotyps sind laut den Encoding-Regeln von INSPIRE mit dem Attribut nillable abzubilden, welches den Wert true besitzt (INSPIRE 2010c:24). In der Schema-Ansicht (Abb. 1,rechts) ist erkennbar, dass beide Attribute in der XSD-Datei vorhanden sind und über dieses zusätzliche Attribut verfügen. Die Klasse Road erbt weiterhin die Attribute validFrom und validTo von der Klasse TransportLinkSet (Abb. 1 links, blauer Rand) aus dem Schema CommonTransportElements. Dieses Schema (Abb. 1, links unten) definiert allgemeine Klassen und Attribute, die sämtliche Verkehrsnetze (Straßenverkehr, Schienenverkehr, Seilbahnen, Wasserverkehr und Flugverkehr) gemeinsam haben. Die Klasse TransportLinkSet, von der sich die Klasse Road ableitet, erbt in diesem Schema zusätzlich Attribute der Klassen MarkerPost, TransportPoint, TransportObject (aus dem gleichen Anwendungsschema) sowie LinkSet und NetworkElement (aus dem Generic Network Model). Alle diese Attribute sind in der XSD-Datei mit den entsprechenden Multiplizitäten vorhanden. Die Vererbungsstruktur wird über die Notation „derivedBy“ mit dem Wert „extension“ in der XSD wiedergegeben. Die Klasse Road aus dem UML-Modell stimmt somit mit dem XMLElement RoadType inhaltlich überein.


[Bearbeiten] Ergebnisse

Beim Vergleich der erstellten Graphiken wurde festgestellt, dass die UML-Modelle mit den XMLSchema-Dateien inhaltlich identisch sind. Sämtliche Feature-Types (Klassen) werden mit ihren Attributen und Beziehungen in den XML-Dateien abgebildet. Nicht abgebildet werden sog. codeLists, die erweiterbare Wertebereiche darstellen. Diese sind in den UML-Modellen enthalten, nicht jedoch in den XSD-Dateien. Das Mapping von UML nach XSD erfolgt nach festen Regeln, die in den „Guidelines for the enconding of spatial data“ (INSPIRE 2010c) und den „OpenGIS Geography Markup Language (GML) Encoding Standard“ Annex E (OGC 2007) beschrieben sind. Die Transformation von UML nach XSD erfolgte mit der Software ShapeChange (SHAPECHANGE 2012).


[Bearbeiten] Verfahren zur Ableitung eines Datenbank-Schemas

Das Mapping von XML-Schema-Dokumenten in SQL zum Erstellen von Create-Table-Anweisungen ist aktuell im Datenbankmanagementsystem (DBMS) PostgreSQL/PostGIS nicht möglich (z.b. POSTGRESQL WIKI 2012). Es ist nicht zu erwarten, dass in naher Zukunft umfangreiche Schemata wie die INSPIRE-Schemata durch Funktionen von DBMS in SQL abgebildet werden können. Ein testweise durchgeführter Import des Schemas für Straßenverkehrsnetze in MS Access lieferte erwartungsgemäß eine Fehlermeldung. Die Generierung eines Geodatenbankschemas muss daher außerhalb der Datenbank erfolgen. Hierfür können grundsätzlich zwei Vorgehensweisen unterschieden werden:

  • Modellgetriebene Softwareentwicklungsansätze (Model Driven Architecture) basierend auf den UML-Modellen
  • Transformationsansätze (z.B. XSL Transformation) basierend auf den XML-Schema-Dateien

Der erste Ansatz wurde von Dr. Rico Vogel vom Leibnitz-Institut für ökologische Raumentwicklung prototypisch umgesetzt (VOGEL 2011). Hierfür wurde für die Software Enterprise Architect in der Sprache C# ein PlugIn entwickelt, mit dem das INSPIRE-Anwendungsschema für Katasterparzellen in PostGIS-SQL-Code umgesetzt wurde. Bei dem PlugIn handelt es sich laut Aussage von Herrn Dr. Vogel um einen Prototyp, der aktuell nicht weiterentwickelt wird. Die Weitergabe des PlugIns und der Einsatz für Testzwecke war daher nicht möglich. Im vorangegangenen Kapitel wurde festgestellt, dass die XML-Schema-Dateien mit den UML-Modellen inhaltlich identisch sind. In den XSDs fehlen lediglich die codeLists (Wertebereiche), die vermutlich ohne großen Aufwand über Datenbank-Constraints eingefügt werden können. Die XSDs können daher uneingeschränkt als Grundlage für die SQL-Code-Generierung verwendet werden.

Mit dem deegree webservices steht eine Open-Source-Software zur Verfügung, mit der laut eigener Aussage ein INSPIRE-Anwendungsschema in Datenbank-Tabellen abgebildet werden kann (DEEGREE 2012:45). Die Software wurde zu diesem Zweck bereits in mehren Projekten eingesetzt (z.B. ASSINK 2012:5, GEORZ-LAB 2011:31, KORDUAN 2011:11). Deegree erlaubt neben den vorkonfigurierten Workspaces für INSPIRE das Mapping von mehreren komplexen GML-Anwendungsschemata (u.a. XPlanung, AAA, CityGML) (DEEGREE 2012: 50). Die im folgenden Kapitel beschriebene prototypische Schemakonvertierung wurde aus diesen Gründen mithilfe der Software deegree webservices durchgeführt.

[Bearbeiten] Mapping mit der Software deegree webservices

Die Überführung der XML-Schema-Dateien in SQL-Anweisungen am Beispiel des INSPIRE-Anwendungsschemas Road Transport Network (Straßenverkehr) erfolgte mithilfe der Software deegree webservices. Als Datenbankmanagementsystem wurde PostgreSQL 9.2 mit der räumlichen Erweiterung PostGIS 2.0.1 verwendet. Die Installation wurde lokal auf dem Heim-PC mit dem Betriebssystemen Windows XP durchgeführt. Im einem weiteren Schritt kann die Software auf der Virtuellen Maschine für den geplanten INSPIRE-Knoten installiert werden (Betriebssystem OpenSuse).

Die vollständige Beschreibung der Durchführung des Mappings kann hier eingesehen werden (--> Kapitel 4 - Prototypische Schematransformation). Darüber hinaus sei auf die Dokumentation des deegree-Projekts verwiesen. [1]

[Bearbeiten] ArcGIS for INSPIRE Geodatabase-Vorlage

Nach dem Download (Anmeldung bei ESRI erforderlich) der ArcGIS-Geodatabase-Vorlage muss zunächst eine neue File bzw. Personal Geodatabase erstellt werden (ArcCatalog). Danach kann in ArcMap im Menü "Katalog" (rechtes Bildschirmbereich) eine Verbindung zu dieser Geodatabase hergestellt werden (Rechts-Klick auf die erstellte Geodatabase, Importieren, XML-Workspace-Dokument, Haken bei "Data" setzen). Im Unterordner doc ist für jeden FeatureType (Tabelle) eine Beschreibung im XML-Format enthalten.


[Bearbeiten] Ergebnisse

[Bearbeiten] Deegree

Für das Anwendungsschema Road Transport Network (Straßenverkehr) wurden von der Software deegree insgesamt 118 Tabellen erstellt (Abb.). Jeder FeatureType wurde als neue Tabelle abgebildet. Attribute, die mehrfach auftreten können, wurden ebenfalls als Tabelle abgebildet. Die Tabellennamen enthalten als Prefix das Kürzel des Anwendungsschemas, in dem sie vorkommen (z.B. Tabelle gn_namedplace für das FeatureType NamedPlace im Schema GeographicalNames).


Abb. 2: PostgreSQL/PostGIS-Datenbank aus dem INSPIRE-Schema Road Transport Network (Straßenverkehr)


Das erstellte PostGIS-DB-Schema kann hier heruntergeladen werden:

Nach einer Sichtung der Daten fällt auf, dass Tabellen- und Spaltenbezeichnungen teilweise über 50 oder mehr Zeichen verfügen. Einigen Tabellennamen wurden nach einer bestimmten Länge offenbar automatisch gekürzt (Bsp: Tabelle "tn_markerpost_tn_geographicalname_gn_geograp_834"). Dies könnte daraus resultieren, dass die Bezeichnungen aus den miteinander in Beziehung stehenden FeatureTypes der Anwendungsschemata zusammengesetzt werden.

Die Software deegree konvertiert die INSPIRE-Anwendungsschemata jedoch nicht voll-automatisiert. Es muss für jedes Annex-1-Thema eine Zuordnungsbeziehung zwischen den INSPIRE-Objekten und den Datenbank-Tabellen in Form eines sog. "SQL feature store" erstellt werden. Dieser feature store müsste bei jeder Änderung der Schemata einmalig manuell neu erzeugt werden.


Abb. 3: Deegree SQL-Feature Store, Aussschnitt der zu erstellenden Zuordnungsbeziehung für das INSPIRE-Thema Adressen (aus: deegree Dokumentation, Kap. 6.5.2. More complex configuration example)


[Bearbeiten] ArcGIS

Für jede UML-Klasse in INSPIRE wird in der Geodatabase eine Feature-Class erstellt. Objekte ohne Geometrien werden als sog. Objektklassen abgebildet, wobei an dieser Stelle der Unterschied zu den Feature-Classes noch nicht klar in der Dokumentation herausgestellt wurde. Die Tabellennnamen enthalten ähnlich wie beim Schema der Software deegree das Kürzel der Anwendungsschemata. Allerdings sind alle Namen und Felder in der Geodatabase im Gegensatz zu deegree auf 30 Zeichen begrenzt.

Laut Aussage von ESRI stellt das Datenbankschema eine INSPIRE-konforme Datenbank dar ("INSPIRE-compliant geodatabase templates for extracting, transforming, and loading (ETL) geospatial information from existing databases into INSPIRE-compliant geodatabases. ") [2]. Ob dies zutrifft, kann jedoch aufgrund des Umfangs der Schemata und der zahlreichen Abhängigkeiten untereinander nicht beurteilt werden. Die vollständigen Regeln für das Mapping von den INSPIRE-Modellen zur ESRI-Geodatabase können hier nachgelesen werden.


Abb. 4: ArcGIS for INSPIRE Geodatabase Vorlage (Attribute der FeatureClass netElementL)


[Bearbeiten] Zusammenfassung

Im Rahmen der Studie wurde untersucht, wie aus dem INSPIRE-Anwendungsschema Road Transport Network (Straßenverkehr) ein Geodatenbankschema für das DBMS PostgreSQL/PostGIS abgeleitet werden kann. Hierzu wurde geprüft, ob die UML-Modelle und die daraus erstellten XML-Schema-Dateien inhaltlich identisch sind. Nach dem visuellen Vergleich der erstellten Graphiken kann festgestellt werden, dass in den XSD-Dateien alle Klassen, Attribute und Multiplizitäten der UML-Modelle wiedergeben werden. Sogenannte codeLists, welche Wertebereiche darstellen, sind in den XSD-Dateien nicht enthalten. Diese können vermutlich über entsprechende Datenbank-Constraints nachträglich im Schema hinzugefügt werden. Die Anwendungsschemata von INSPIRE sind sehr umfangreich und komplex. Allein das Schema Road Transport Network besitzt Abhängigkeit zu vier weiteren Anwendungsschemata. Eine automatische Abbildung dieser Schemata in SQL-DDL-Code ist nach bisherigen Kenntnisstand durch kein DBMS möglich. Für die Ableitung der Geodatenbankschemata stehen grundsätzlich zwei Möglichkeiten zur Verfügung:

  • Modellgetriebene Softwareentwicklungsansätze (Model Driven Architecture) basierend auf den UML-Modellen
  • Transformationsansätze basierend auf den XML-Schema-Dateien (z.B. XSL Transformation)

Der erste Ansatz wurde von Herrn Dr. Rico Vogel vom IÖR am Beispiel des Themas Katasterparzellen getestet (VOGEL 2011). Hierzu wurde ein PlugIn für die Software Enterprise Architect erstellt. Laut Aussage von Herrn Dr. Vogel ist aktuell eine Weiterentwicklung des PlugIns nicht geplant. Da die Software über den Status des Prototyps nicht hinauskam, ist eine Weitergabe und ein Test nicht möglich.

Der zweite Ansatz wurde im Rahmen dieser Arbeit umgesetzt. Nach Aussage von Teilnehmern des deegree-Projektes können mit der Software deegree webservices alle Anwendungsschemata der Annex-1-Themen erfolgreich in PostGIS-Tabellen abgebildet werden. In verschiedenen Projekten wurde deegree bereits genutzt, um Datenbankschemata aus den INSPIRE-Modelle zu generieren (z.B. ASSINK 2012:5, GEORZ-LAB 2011:31, KORDUAN 2011:11). Für das Anwendungsschemata Road Transport Network wurden insgesamt 118 Tabellen mit teilweise mehr als 50 Zeichen für Tabellen- und Spaltenbezeichnungen erstellt.

Aufgrund des Umfanges der Schemata und der zahlreichen Abhängigkeiten untereinander kann eine vollständige Überprüfung der Tabellen im Rahmen dieser Arbeit nicht durchgeführt. Die langen Bezeichnungen machen das SQL-Schema im Fall der Software deegree webservices für den Nutzer wenig verständlich und nur bedingt verwendbar. Ebenfalls hinderlich ist, dass bei einer Änderung der Schemata jeweils ein neuer SQL-Feature-Store erstellt werden muss. Die ArcGIS for INSPIRE Geodatabase Vorlage stellt laut eigener Aussage eine INSPIRE-konforme Geodatenbank dar. Auf welche Weise diese generiert wurde, konnte nicht herausgefunden werden.


[Bearbeiten] Weiterführende Informationen

INSPIRE-Datenspezifikation für Verkehrsnetze, Version 3.0.1

Dokumentation deegree webservices 3.3.3

Vortrag: Automatisierte Generierung von Geodatenbankschemata aus dem INSPIRE Consolidated UML Model, Dr. Rico Vogel, 1. Workshop GDI-Sachsen, 2011

Masterarbeit zum Objektrelationalen Mapping (Hr. Matthias Pramme, 2011)

Download der ArcGIS Geodatabase-Vorlage (Anmeldung erforderlich)

Kodierungsregeln für die ArcGIS for INSPIRE Geodatabase-Vorlage

[Bearbeiten] Literatur

Persönliche Werkzeuge