Beitragsseiten
7 Entwurf eines objektorientierten Datenmodells
Im folgenden Kapitel soll die entwickelte Konzeption in ein objektorientiertes Datenmodell zur Verwaltung räumlich-temporaler Daten übertragen werden. Entwurfsziel ist hierbei nicht die Entwicklung applikationsspezifischer Strukturen, wie z.B. für ein Kataster-GIS oder ein historisches GIS, sondern die Formulierung eines objektorientierten GIS-Kerns, der die anwendungsunabhängigen Basiskonstrukte liefert, aus dem dann problemorientierte Klassen abgeleitet werden können.
Abbildung 42: Architektur des Datenmodells
Quelle: Eigener Entwurf
Das Datenmodell ist in einzelne, hierarchisch abgestufte Schichten aufgeteilt, wobei jede Schicht spezielle Dienste für die übergeordnete Schicht anbietet (vgl. Abbildung 42). Als Ausgangsbasis dient das ODMG-Objektmodell, das für die datenbankspezifischen Operationen zuständig ist. Darauf aufbauend folgen die GIS-spezifischen Klassen:
-
Die unterste Schicht verwaltet die Geometriedaten und stellt die im vorhergehenden Kapitel vorgestellte Zerlegung zur Verfügung. Einzelne Geometrie-Objekte werden zu Layern zusammengefaßt und über ein Koordinatensystem und zusätzlichen Metadaten beschrieben.
-
Die Zerlegung wird in der nächsten Schicht dazu verwendet, räumlich-temporale Objekte darzustellen. Ein Referenzsystem definiert temporale Elemente, die Zeitpunkte und -intervalle repräsentieren. Diese werden dazu verwendet, den zeitlichen Bezug von einfach strukturierten räumlichen Objekten der Spaghetti-Ebene sowie von topologisch strukturierten räumlichen Objekten herzustellen.
-
Die oberste Schicht repräsentiert die thematische Ebene, die die Geo-Objekte mit einem Anwendungskontext verknüpft.
Entsprechend dieser Gliederung erhalten alle Klassennamen eine Kennung vorangestellt, um sie einfacher zuordnen zu können: “G” steht für “geometry”, “C” für “coordinate system”, “T” für “temporal” und “ST” für “spatiotemporal”. Einer allgemeinen Konvention im Software-Engineering folgend sind alle Bezeichner in englischer Sprache benannt. Das vollständige Datenmodell in einer OMT-ähnlichen Notation (vgl. RUMBOUGH u.a. 1993) befindet sich im Anhang. In den einzelnen Abschnitten sind jeweils nur Ausschnitte dieses Gesamtmodells dargestellt. Dabei zeigen grau hinterlegte Klassensymbole an, daß hier noch weitere Subklassen definiert sind, die aber der Übersichtlichkeit wegen in der Darstellung ausgespart wurden. Da nicht in allen Fällen die Assoziationen graphisch darzustellen sind, wurden diese teilweise mit einem Bezeichner in das Klassensymbol mit aufgenommen.
Die Verknüpfung zwischen zwei Objekten erfolgt über Objektreferenzen. Programmiersprachen wie C++ unterterscheiden Referenzen von Pointern bzw. Zeigern. Diese Differenzierung beruht auf technischen Aspekten der Speicherverwaltung und ist für die vorliegende Arbeit nicht von Relevanz. Deshalb werden im Folgenden die Begriffe “Referenz”, “Pointer”, “Verweis” und “Zeiger” synonym verwendet.
7.1 Das persistente Objektmodell
Das persistente Objektmodell liefert die Basisdienste zur dauerhaften Verwaltung der Objekte in einem objektorientierten Datenbankmanagementsystem. Hier wird auf das in Kapitel 4.3 erläuterte ODMG-Objektmodell zurückgegriffen. Über dieser Basis ist die datenbanktechnische Infrastruktur zur Verfügung gestellt, auf der die im Folgenden beschriebenen GIS-spezifischen Klassen aufbauen. Konkret bedeutet dies, daß die vorgestellten Klassen alle von der Superklasse d_Object abgeleitet sind, und damit über die Fähigkeit der Objektpersistenz verfügen. Aus Gründen der Übersichtlichkeit ist diese Ableitung aber nicht ausdrücklich in die Klassendiagramme aufgenommen. Es wird vorausgesetzt, daß jede Wurzel eines Vererbungsbaumes ihren Ursprung in d_Object hat und daß damit die Instanzen aller abgeleiteten Klassen in einem objektorientierten Datenbanksystem gespeichert werden können.
- Zurück
- Weiter >>