next up previous contents
Next: 3D-Datenstrukturen Up: Datenstrukturen und Zugriffsmethoden im Previous: Spezielle Anforderungen

Architektur

 

Wie den obigen Ausführungen zu entnehmen ist, versteht sich das GEOTOOLKIT als Bindeglied zwischen den Geo-Anwendungen und OBJECTSTORE. Als C2.3pt++ Geo-Klassenbibliothek bietet es dem GIS-Entwickler ein breites Spektrum räumlicher Datenstrukturen und Methoden an, auf die er genauso zugreifen kann, wie auf die Datenbank-Funktionalität von OBJECTSTORE (über deren C2.3pt++-Schnittstelle).

  figure3025

Der grundlegende abstrakte Datentyp im GEOTOOLKIT ist der eines Objektes (gtObj). Dazu zählen die 0- bis 3-dimensionalen Simplexe Punkt (gtPoint), Segment (gtSegment), Dreieck (gtTriangle) und Tetraeder (gtTetrahedron), die 1D-3D Komplexe der Polylinie (gtPolyLine), des Dreiecksnetzes (gtTriangleNet) und des Tetraedernetzesgif (gtTetraNet), sowie die analytischen Objekte Gerade (gtLine) und Ebene (gtPlane). Vgl. dazu das Objektmodell aus Abb. 4.1, in dem u.a. diese Ableitungshierarchie dargelegt ist - die gestrichelten Konstrukte befinden sich momentan im Aufbau. Zusätzlich kann das Verbundobjekt einer Gruppe (gtGroup) zur Modellierung einer Menge von Simplexen, Komplexen, analytischen Objekten und anderen Gruppen herangezogen werden. Weitere räumliche Datentypen sind jederzeit vom Benutzer des GEOTOOLKIT durch Ableitung von einer der vorgestellten Klassen einzuführen, so daß die Erweiterung dieser Objekthierarchie kein Problem darstellt und leicht an die speziellen gegebenen Bedürfnisse angepaßt werden kann.

Auf den Objekten sind die gebräuchlichsten räumlichen Prädikate (z.B. ein Gleichheitstest), räumlichen Funktionen (bspw. die Abstandsberechnung) und räumlichen Operatoren (wie z.B. die Projektion eines Objektes in eine bestimmte Ebene) implementiert. Letztere sind innerhalb des GEOTOOLKIT abgeschlossen, so daß das Ergebnis eines Operators wiederum ein Objekt erzeugt, welches im GEOTOOLKIT zu modellieren ist.

Zu allen Objekten werden Bounding-Boxen abgelegt, welche minimal umschließende, achsenparallele Quader um diese 3D-Objekte darstellen (vgl. Abschnitt 4.4.1). Sie dienen als Approximation für das entsprechende Objekt, da Operationen auf ihnen meist viel schneller sind, als auf den Objekten selbst. Außerdem findet der räumliche Zugriff über Bounding-Boxen statt. Es existieren verschiedene Datenstrukturen, die ein räumliches Indexing innerhalb des GEOTOOLKIT implementierengif. Diese sind von der abstrakten Superklasse für räumliche Zugriffssteuerung gtAccessPath abgeleitet, wobei eine Erweiterung um benutzerdefinierte räumliche Indexstrukturen wiederum möglich sind.

Sowohl die Klasse für räumliche Objekte gtObj, als auch der gtAccessPath ist in die Klasse gtSpace eingebettet, welche den zugrundeliegenden Raum modelliert. Sie fungiert einerseits als feststehendes Universum und Koordinatensystem, in dem die Objekte existieren, und zum anderen als Schnittstelle zum Anfragemanager des GEOTOOLKITgif.

Schließlich bietet das GEOTOOLKIT dem Benutzer neben der Datenbankanbindung und ihren geometrischen Funktionalitäten eine 2D/3D-Visualisierung der modellierten räumlichen Objekte und E/A-Schnittstellen zu Visualisierungstools, die mit dem Standard VRML 1.0 arbeiten (eine Ausgabe in VRML 97 ist auch möglich).


next up previous contents
Next: 3D-Datenstrukturen Up: Datenstrukturen und Zugriffsmethoden im Previous: Spezielle Anforderungen

Stefan Hecht
Thu Aug 26 14:06:24 MET DST 1999