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).
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 Tetraedernetzes
(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 implementieren
. 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
GEOTOOLKIT
.
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).