Die Daten

Top  Previous  Next

Moskitos Datenbank ist in der Lage, geographische und nichtgeographische Informationen zu speichern. Sie besteht aus Ebenen von theoretisch beliebiger Ausdehnung (Teilweise werden diese Ebenen auch aus historischen Gründen noch Layer, Blatttyp, Segment genannt). Denkbar ist eine Ebene für die Topographie, eine weitere für Gasleitungen, etc. Die Ebenen liegen übereinander wie transparente Karten. Die Ebene wird in rechteckige Teilflächen unterteilt, die Pläne. Jeder Plan hat einen Namen, eine Position und eine Ausdehnung. Die Aufteilung der Ebene in Pläne ist beliebig und wird in der Datenbank festgehalten. Zwei Ebenen können unterschiedlich aufgeteilt sein, auch wenn sie sich auf denselben räumlichen Abschnitt beziehen.

 

Ebenen enthalten Pläne, Pläne enthalten Objekte. Ein solches Objekt kann z.B. ein Haus, eine Straße oder eine Leitung sein. Jedes Objekt wird spätestens beim Speichern einem Plan zugewiesen. Es ist sinnvoll, ein Objekt an einen Plan zuzuweisen, der etwas mit der Position des Objekts zu tun hat. Da die Objekte über den Bereich eines Plans hinausragen können, wird dies in die Verantwortung des Anwenders gestellt.

 

Den Objekten können verschiedene Eigenschaften zugewiesen werden. Sie können selektiert oder nicht selektiert sein. Sie können einen oder mehrere Objektschlüssel erhalten und dadurch zu Gruppen zusammengefasst werden (z.B. Hauptgebäude, Nebengebäude, Niederspannungsleitung, Mittelspannungsleitung, etc.). Objekte besitzen als Inhalt die Elemente. Es existieren verschiedene Arten von Elementen, beispielsweise Text- oder Symbolelemente. Mehrere Objekte können untereinander über Master-Member-Beziehungen strukturiert werden.

 

Selektion

 

Die meisten Operationen in der Datenbank werden nur auf den Objekten ausgeführt, die selektiert sind. Auch die Anzeige kann so eingestellt werden, dass nur selektierte Objekte dargestellt werden. So können Teilmengen des Datenbankinhaltes während der Manipulation der Daten gebildet werden. Die Kriterien zur Bildung einer Teilmenge reichen von einfacher Auswahl über die  weiter unten beschriebenen Objektschlüssel bis zu komplexen Mehrfachbedingungen unter Einbeziehung von Positionsdaten, Textinhalten ,etc. Im Menü Selektieren sind eine Reihe unterschiedlicher Methoden hinterlegt.

 

Objektschlüssel

 

Jedes Objekt kann eine Menge von Objektschlüsseln enthalten. Schlüssel sind Zahlen zwischen 1 und 65535, wobei doppelte Schlüssel in einem Objekt nicht vorkommen dürfen (und können). Mit diesen Schlüsseln kann nach Gruppen von Objekten gesucht und selektiert werden. Außerdem können die Schlüssel auf die Art der Anzeige eines Objekts, z.B. auf die Farbe der Linien, Einfluss nehmen. Die Schlüssel haben eine vom Anwender vorgegebene signifikante Reihenfolge. Sie kann auch von den Datenbankroutinen nicht eigenmächtig geändert werden.

 

Elemente

 

Es gibt verschiedene Elementtypen mit unterschiedlichen Aufgaben. Grob wird hier zwischen graphischen und nichtgraphischen Typen unterschieden.  Als graphische Typen sind Stringelemente, Textelemente , Punktelemente und Symbolelemente, als nichtgraphische sind Attributelemente, Masterelemente und Memberelemente vorhanden. Um Verwechselungen vorzubeugen, ist für Informatiker ist bei dieser Notation anzumerken, dass unter „Stringelementen” Linienzüge und nicht etwa Texte zu verstehen sind.

 

Stringelemente:

 

Stringelemente sind Linienzüge und bestehen aus einer Anzahl von Parametern und einer Liste von Punkten, wobei zu jedem Punkt angegeben ist, auf welche Art er mit seinem Vorgänger verbunden ist. Als Verbindungsart sind unverbunden, Linie, Kreisbogen und Spline definiert. Entsprechend komplex kann eine mit einem einzigen Stringelement aufgebaute Figur sein. Üblich ist es, als Stringelement den Umriss eines Hauses, die Gehwegkante zwischen zwei Kreuzungen oder den Ast einer Strom- oder Gasleitung zu verwenden.  Die Eigenschaften eines Stringelements sind Zeichenschlüssel und Flächenschlüssel. Der Zeichenschlüssel legt zusammen mit dem ersten Objektschlüssel des zugehörigen Objekts und mit einer Tabelle das Aussehen der Linien fest. Der Flächenschlüssel oder die Schraffur bestimmt, ob es sich bei einem String um einen Linienzug (Schraffur=0) oder eine Fläche (Schraffur>0) handelt. Bei Flächen wird mit Hilfe dieses Schlüssels dann festgelegt, wie die Fläche dargestellt wird. Weiter kann festgelegt werden, ob die Linie oder Fläche sichtbar ist.

 

Die einzelnen Punkte eines Stringelements bestehen neben einer Position im dreidimensionalen Raum auch aus einer Klasse, einem Verbindungstyp (Linkage) und einem Symbolstring. Alle drei Eigenschaften besitzen einen Wertebereich zwischen 0 und 255. Als Linkage sind LINK_P (keine Verbindung zum Vorgänger), LINK_L (gerade Linie zum Vorgänger), LINK_R (Kreisverbindung zum Vorgänger) und LINK_C (Spline zwischen diesem und dem Vorgänger) definiert. Als Nebenbedingung gilt, dass immer zwei Verbindungen vom Typ  LINK_R aufeinanderfolgen müssen, die dann zusammen mit dem Vorgänger ein Kreissegment durch drei Punkte bestimmen. Wird als Symbolstring ein von 0 verschiedener Wert angegeben, so wird an der Position dieses Punktes das entsprechende Symbol aus der Symboltabelle gezeichnet. Die Punktklasse dient vor allem zur Klassifikation von Punkten, hat also keine interne Bedeutung. Siehe auch im Menü unter Daten|Eigenschaften|Element... und unter

 

Daten|Neu|Element: Linienzug....

 

Punktelemente:

 

Während Stringelemente aus mehreren Punkten bestehen, besitzen Punktelemente immer genau einen Punkt. Das graphische Aussehen eines solchen Punktelements unterscheidet sich von dem eines Punktes bei einem Stringelement, indem Punktelemente entsprechend ihren Punktklassen gezeichnet werden. Dabei  sind die Punktklassen 1 bis  15  mit verschiedenen Markierungen belegt. Diese sind z.B. Kreis, Punkt, Kreuz, etc in verschiedenen Farben. Die Art dieser Markierungen entspricht den Symbolen aus GRADIS.

 

Textelemente:

 

Textelemente enthalten neben dem eigentlichen Text auch noch die Textposition und eine Anzahl weiterer Parameter. Der Text ist eine beliebig lange Zeichenkette aus dem 8-Bit ASCII-Zeichensatz. Die Position ist ein Punkt im dreidimensionalen Raum. Der Punkt hat alle Eigenschaften,  die auch ein Punkt in  einem Stringelement aufweist. Weiterhin sind für ihn zwei Drehwinkel Alpha und Beta definiert, welche die Drehung des Textes im Raum beschreiben. Alpha ist die Drehung des Textes zur x-Achse in der Horizontalen, Beta die Drehung in der Vertikalen (Wird momentan nicht verwendet). Diese Winkel werden allerdings nur ausgewertet, wenn der Text keinen Verweis auf ein Stringelement enthält, an dem der Text entlanggeführt werden soll. Weiter ist es möglich, die Länge des Textes vorzugeben. Die Textart kann bestimmt werden, wobei Werte wie normal, kursiv, outline u.ä. gewählt werden können, Auch die Höhe des Textes und die verwendete Linienart und Farbe lassen sich festlegen. Die Linienart wird dabei mit Hilfe des Zeichenschlüssels wie bei einem  Stringelement bestimmt. Siehe auch im Menü unter Daten|Eigenschaften|Element... und Daten|Neu|Element: Text....

 

Symbolelemente:

 

Wie Punktelemente haben Symbolelemente genau einen Punkt mit allen oben beschriebenen Eigenschaften. Das Aussehen wird aber über drei weitere Parameter Alpha, Beta und Symbol bestimmt. Alpha bestimmt den Winkel des Symbolelements zur x-Achse (Rechtswert) in der Horizontalen. Beta definiert den Winkel hierzu in der Vertikalen und Symbol das eigentliche Aussehen. Symbol wird als Index in eine Tabelle mit Symbolen aufgefasst. Jedes Symbol ist ein Objekt aus dieser Tabelle, das an der Position des Symbols gezeichnet wird. Wenn die Tabelle mit den Symbolen ausgetauscht wird, ändert sich dementsprechend auch das Aussehen aller Symbolelemente der Datenbank. Siehe auch im Menü unter

Daten|Eigenschaften Element... und unter

Daten|Neu|Element: Symbol...

 

Attributelemente:

 

Attribute sind Paare aus einem Namen und einem Wert. Diese Attribute enthalten keine graphischen Daten des Objekts, sondern beschreiben dessen Eigenschaften. So kann ein Objekt, das ein Haus darstellt, als Attribut  mit  dem  Namen “Hausnummer”  den Attributwert “2” enthalten. Ein Attribut besteht demnach immer aus den zwei Teilen Name des Attributelements und dem Wert des Attributelements.  Sowohl Name als auch Wert können fast beliebig lang sein. Der Name ist ein ACSII-Text mit maximal 65534 Zeichen Länge, der Wert ist ein beliebiger Datenblock mit ebenfalls maximal 65534 Zeichen Länge. Der Datenblock kann  genau so gut ein Bild oder einen Text enthalten. Attributelemente können indirekt die graphische Darstellung beeinflussen. Ihre Werte können in Texten auftauchen, bei denen dann der Attributname automatisch durch den Attributwert ersetzt wird. Wird also der Attributwert geändert, so ändert sich auch gleichzeitig der entsprechende Text (Attributtexte). Siehe auch im Menü unter Daten|Eigenschaften Objekt... und unter Daten|Neu|Attribut...

 

Master- und Memberelemente:

 

Diese beiden Elementtypen müssen gemeinsam betrachtet werden, da sie immer miteinander verbunden sind. An einem Masterelement hängt jeweils eine Kette von Memberelementen. Das Masterelement besitzt als weiteren  Parameter einen Namen.  Mit dieser Verbindung von Master- zu Memberelementen wird eine Abhängigkeit zwischen den  entsprechenden Objekten eingeführt. Wird das Masterelement, bzw. der Master selbst, gelöscht, so werden auch alle Member der zugehörigen Verbindung entfernt. Wird dagegen ein Memberelement entfernt, so wird es nur aus der Kette der Memberelemente gelöscht, der Master bleibt unberührt. Da Masterelemente einen Namen haben,  kann  ein Objekt mehrere  davon  mit unterschiedlichen Namen besitzen.

 

Das Aussehen der Elemente der Datenbank wird über Tabellen gesteuert, die es dem Anwender erlauben, das System für seine Zwecke zu konfigurieren. Die wichtigsten Tabellen sind die Symboltabelle, die Zeichentabelle und die Signaturtabelle.

 

Beziehungen

 

Über die Master- und Memberelemente können Objekte untereinander in Beziehung gebracht werden. Es handelt sich um 1:n-Verbindungen, d.h. ein Objekt ist Master einer Verbindung zu mehreren Memberobjekten. Diese Verbindung bekommt vom Anwender einen Namen. Die Member haben in dieser Verbindung eine definierte Reihenfolge. Zur sinnvollen Verarbeitung sind einige Regeln für Master-Member- Verbindungen vorhanden, deren Einhaltung von der Datenbank sichergestellt wird:

 

Ein Objekt kann nicht Member seiner  eigenen Masterverbindung sein.

 

Ein  Objekt kann nicht mehrfach  als  Member derselben Masterverbindung auftauchen.

 

Ein Objekt kann unter einem Namen nur  eine Masterverbindung besitzen.