Strukturen

Top  Previous  Next

Datenbank

Im System ist normalerweise genau eine Datenbank vorhanden. Dieses Handle wird in einer globalen Variablen gespeichert und sollte nicht verändert werden. In der Datenbank sind interne Verwaltungsinformationen gespeichert, die zum Betrieb des Systems notwendig sind, so z.B. Dateihandels, mit denen die Kommunikation zur Fensterumgebung aufrechterhalten wird. Die Anwenderinformationen sind in der Datenbank in den Segmenten, den Signaturtabellen und dem Datenbankursprung gespeichert.

Segment

Segmente sind die Behälter für alle graphischen und nichtgraphischen Informationen in der Datenbank. Jedes Segment wird von allen anderen durch eine ID, eine Zahl zwischen 1 und 65535 unterschieden, wobei die Id´s von 65000 bis 65535 vom System reserviert sind. Ein Segment ist als durchsichtige Folie zu verstehen, auf der die eigentlichen Informationen der Datenbank unterbracht sind. Alle Segmente liegen übereinander. Die Segmente enthalten Pläne und Objekte. Weiter ist in den Segmenten vermerkt, welche Auflösung beim Speichern verwendet wird (resolution) und in welchem Maßstab die Texte und Symbole angezeigt werden sollen (textScale). Ein Segment kann den Zustand “isSelectable” besitzen. Dann können die in diesem Segment enthaltenen Daten Selektiert werden, d.h. in die Menge der zu bearbeitenden Objekte aufgenommen werden.

Pläne

Der Koordinatenraum eines Segments wird von den Plänen in rechteckige Teilflächen unterteilt. Diese Flächen können sich überlappen, sollten es jedoch möglichst nicht oder nur geringfügig. Pläne, die sich vollständig überdecken, sind besser in unterschiedlichen Segmenten aufgehoben. Die Pläne enthalten die Objekte, wobei nicht jedes Objekt zwingend einem Plan zugeordnet werden muß.

Jeder Plan hat einen Namen, eine Versionsnummer, 4 Eckkoordinaten, einen Maßstab, eine ID und einen Pfad, aus dem er geladen wurde.

Der Name ist gleichzeitig der Dateiname und wird zum Laden und Speichern verwendet.

Mit der Versionsnummer wird sichergestellt, dass nicht ältere Versionen über neuere geschrieben werden.

Die Eckkoordinaten bestimmen den Ausschnitt, der von diesem Plan überdeckt wird. Die Objekte, die in diesem Plan enthalten sind, dürfen über diesen Bereich hinausreichen. Es sollten aber nur solche Objekte in diesem Plan vorhanden sein, die mit den Koordinaten des Plans verbunden sind.

Der Maßstab ist redundant zu dem Maßstab, der im Segment angegeben ist, überschreibt aber diese Angabe.

Die ID identifiziert ihn innerhalb des Segments eindeutig.

Weiter wird vermerkt, ob der Plan geändert wurde, ob er geändert werden darf, und ob er gesichert werden darf.

Es ist nicht möglich, einen Plan in ein anderes Segment zu laden.

Objekte

Objekte sind eine Hierarchiestufe, die Selbst nur die Objektschlüssel als Informationen enthalten, Alle weiteren Nutzinformationen sind in den Elementen angeordnet, die zu einem Objekt gehören. Ein Objektschlüssel weist einem Objekt eine Klasse zu, mit der seine Funktion bestimmt wird. Solche Klassen können z.B. Haus, Gehwegbegrenzung, Laterne, ... sein. Ein Objekt kann mehrere Objektschlüssel erhalten. Die Bedeutung der Schlüssel muß vor Arbeitsbeginn sorgfältig festgelegt werden. In einer zukünftigen Version werden diese Schlüssel dann auch reale Namen erhalten. Durch diese Schlüssel wird auch das Aussehen der Objekte bestimmt. Der erste Schlüssel eines Objekts bestimmt die Tabelle, mit der die zu diesem Objekt gehörigen Elemente den Farben und Stricharten zugeordnet werden. Die Elemente steuern ihren Zeichenschlüssel bei, der als Index in dieser Tabelle verwendet wird.

Elemente

Objektschlüssel

Signaturtabelle

Datenbankursprung