Daten organisieren: Die Planverwaltung

Top  Previous  Next

Die Ablage der Daten (Pläne) bestimmt wesentlich die Performance eines Geo-Informationssystems.

 

Moskito bietet dazu die Planverwaltung und das Datenformat PV an. Pläne werden wie gewohnt als HDF, etc. auf der Festplatte abgelegt, in Moskito aber über das Format PV geladen und gesichert. Dadurch wird die Verwaltung großer Datenmengen sichergestellt und der Zugriff vereinfacht.

 

Außerdem können mit Hilfe der Planverwaltung Pläne, die nicht real existieren, aber auf Grund Ihrer Systematik zur Verarbeitung verwendet werden, erzeugt werden. Die Planverwaltung wird hier beim Druck, beim Neu-Erzeugen und beim Laden von Plänen verwendet.

 

Die Planverwaltung wird im wesentlichen mit dem Befehl Planverwaltung bearbeitet. Dieser wird in der Funktionsreferenz genauer beschrieben.

 

Die Moskito-Variable GDS$DBB sollte auf das Verzeichnis verweisen, in dem sich die oberste Ebene der Planverwaltung befindet.

 

Es gibt für die Planverwaltung zwei Strukturmöglichkeiten, die für verschiedene Datenmengen optimiert sind:

 

Die einfache Form der Planverwaltung

Sie enthält zwei Ebenen:

 

image5_29

 

Die obere Ebene enthält die Planverwaltungsdateien: eine *.dbf, eine *.gdv und eine *.hea-Datei, die alle den gleichen „Vor“-Namen tragen.

 

In der unteren Ebene sind die Ordner, welche die Pläne enthalten.

 

Jeder Ordner wird als Layer in die Planverwaltung eingetragen.

 

image5_30

 

Das läßt sich mit Hilfe eines Dialogs erledigen, der sich unter Verwalten | Pläne | Planverwaltung befindet:

 

Für jeden Layer werden Einstellungen wie Maßstab, Datenformat, Auflösung, etc festgelegt. Auch erhält jeder Layer eine mindestens dreistellige, ganzzählige, positive Nummer kleiner als 60000. Damit das System intern Nummer und Name (Typ) unterscheiden kann, sollten die Ordnernamen nicht mit einer Nummer beginnen oder Nummer und Name sollten gleich sein.

 

image5_31

 

In den Ordnern tauchen nun weitere Verwaltungsdateien GDVdefault.dbf, GDVdefault.gdv, GDVdefault.hea auf:

 

Nun können die Pläne in den Ordnern über ihren TYP geladen werden:

 

Die Pläne müssen nun noch in die Planverwaltung eingetragen werden.

 

Einzelne Pläne lassen sich über  Datei | speichern unter im Format PV sichern.

 

Für größeren Größere Mengen an Dateien empfiehlt sich die Verwendung der

 

image5_32

 

Routine Planverwaltung ADDPLANS.

 

Eine zu große Anzahl von Dateien (mehr als 3000) pro Ordner erfordert jedoch für die Suchroutinen zu viel Zeit, so dass sich für größere Unternehmen die zweite Form der Planverwaltung anbietet.

 

Die komplexere Form der Planverwaltung

 

Genauso wie in der einfachen Form wird hier zuerst eine Planverwaltung angelegt und die Layer eingetragen. Der einzige Unterschied ist, dass die unter dem “Erweitert”-Button versteckte Option Oberstes Verzeichnis ausgewählt werden muß.

 

image5_33

 

Die Pläne werden in diesem Fall nicht in die Ordner der Layer abgelegt, sondern die Ordner selbst enthalten weitere Ordner, die wiederum in Unteroder unterteilt sein können usw., so dass nicht mehr als etwa 3000 Pläne in einem Ordner liegen.

 

image5_34

 

Die Struktur wird nun mit dem Befehl Planverwaltung REPAIR. aufgebaut. Dabei gelten folgende Regeln:

 

Enthält ein Ordner (außer den Verwaltungsdateien) nur Ordner, verweist er auf die darunterliegenden Verzeichnisse.

Enthält ein Ordner (außer ggf. einem Ordner Backup) nur Pläne vom selben Format, wird er als Besitzer von Plänen eingetragen.

Enthält ein Ordner Dateien verschiedener Endungen oder ein Mix aus Dateien und Ordnern, so wird er nicht in die Planverwaltung aufgenommen.

 

Die Pläne werden von dieser Routine noch nicht in die Planverwaltung eingefügt.

 

In beiden Versionen der Planverwaltung werden Einstellungen für das Laden usw. der Pläne angelegt. Es kann sinnvoll sein, für verschiedene Zwecke, wie z.B. Auskunft oder Erfassung mehrere Planverwaltungen anzulegen. Sie greifen jeweils auf die gleichen Verwaltungsdateien zu, so dass keine Redundanz auftreten kann.

 

Möglichkeiten im Format PV: automatische Planteilung

 

Genauso wie die Zahl der Pläne pro Verzeichnis einen Maximalwert nicht überschreiten sollte um die Ladezeiten zu minimieren, sollte auch die Zahl der Objekte im Plan einen Maximalwert nicht überschreiten. Da dieser Maximalwert auch von der Art und Zahl der Komponenten abhängig ist, kann hier keine allgemeingültige Empfehlung gegeben werden.

 

Die automatische Planteilung wird erst aktiv, wenn die Systemvariable SYSTEM.Formate.PV.Save.MaxObjects mit einem positiven, ganzzahligen Wert belegt wird (Befehl: InitializeParameter)

 

Soll dann ein Plan gesichert werden, der mehr als die in der Variablen angegebene Anzahl an Objekten enthält, wird er automatisch geteilt und benannt. Dabei werden fixe Plangrößen  und Namenskonventionen eingehalten. Die neuen Pläne erhalten ein Präfix aus den ersten beiden Buchstaben des Layers und einem Unterstrich. Es folgen Ziffern, die aus den Koordinaten nach festen Regeln gebildet werden:

 

Fixe Plangrößen und Namenskonventionen für die PV:

 

Breite

 

Höhe

Name

1000000

x

1000000

prefix_<x1><y1>

100000

x

100000

prefix_<x1><x2><y1><y2>

10000

x

10000

prefix_<x1><x2><y1><y2><x3><y3>

1000

x

1000

prefix_<x1><x2><y1><y2><x3><x4><y3><y4>

500

x

250

prefix_<x1><x2><y1><y2><x3><x4><y3><y4>[1-8]

250

x

125

prefix_<x1><x2><y1><y2><x3><x4><y3><y4>[1-8][1-4]

125

x

62.5

prefix_<x1><x2><y1><y2><x3><x4><y3><y4>[1-8][1-4][1-4]

 

Voraussetzung ist dabei, daß der Plan in seinem Layer in einem Unterordner mit dem Namen "maps" liegt. Die neuen Pläne werden in einem Unterordner "neben" dem Ordner "maps" abgelegt, der den Namen des ursprünglichen Plans ohne Präfix trägt und darin wiederum in einem Ordner "maps".

 

Während der Teilung wird überprüft, ob die zu erzeugenden Pläne bereits existieren und ggf. werden diese geladen, bzw. eine Fehlermeldung ausgegeben wenn sie gesperrt sind. Dadurch können auch Daten einem bestehenden Bestand hinzugefügt werden. Anschließend werden die Objekte im Ursprungsplan in die neuen, kleineren Pläne verschoben. Wenn alle Objekte erfolgreich verschoben wurden, wird der alte Plan entfernt.

 

Konnten Objekte nicht in passende Pläne verschoben werden, weil sie z.B. außerhalb der Plangrenzen liegen oder zu einem Plan gehören, der nicht geladen werden konnte, bleibt der Ursprungsplan mit diesen Objekten erhalten. Der Plan sollte dann aber nachträglich mit den passenden Umgebungsplänen geladen und die Objekte mit „RelayerObjects“ neu verteilt werden.

 

Um Performance-Engpässe bei großen Datenmengen zu umgehen, kann die Systemvariable SYSTEM.DeleteSplittedPlans auf den Wert 1 gesetzt werden. Dann werden die neu entstandenen oder nachgeladenen Pläne nach dem Verteilen aus dem Arbeitsbereich entfernt, so daß die Menge der noch zu verteilenden Ojekte stets abnimmt.

 

Auch kann die automatische Planteilung beim Erstellen der Pläne sofort einen Blattrahmen erzeugen, eine Linie auf den Grenzen des Plans. Dazu wird in der Systemvariable SYSTEM.Autorahmen der Objektschlüssel,  Komma, Drawing-Key (DKY) hinterlegt.

 

Bsp.:

InitializeParameter SYSTEM.Autorahmen 158,10

 

Das Blattrahmen-Objekt erhält den Schlüssel 158 und die Randlinie den DKY 10.

 

Ist die Variable nicht definiert oder leer, dann wird kein Blattrahmen erzeugt.