DBgdvModifyLayer |
Top Previous Next |
Daten einer Ebene der Planverwaltung ändern. Jeder Plan der Planverwaltung ist einer Ebene zugeordnet, wobei durchaus Pläne existieren dürfen, deren Layer noch nicht beschrieben sind. Diese Ebenen zum einen stellen Daten zur Verfügung, die für alle Pläne globale Gültigkeit besitzen. Dies ist z.B. der Maßstab. Zum anderen werden Daten als Vorgabewerte für die Planerzeugung bereitgestellt. Dies ist z.B. der Plantyp. Letztere lassen sich für jeden Plan einzeln einstellen, werden aber mit dem Wert aus der Ebenenverwaltung initialisiert. Im Einzelnen lassen sich folgende Werte angeben: Maßstab ist der Text- und Symbolmaßstab. Er muss für alle Pläne einer Ebene gleich sein und gibt vor, wie groß Texte und Symbole ausgegeben werden. Die Größenangabe für Texte und Symbole ist in 1/100 mm gehalten und stimmt für diesen Maßstab. Bei einem anderen Ausgabemaßstab wird entsprechend umgerechnet. Auflösung Dieser Wert gibt die Genauigkeit innerhalb der Datenbank an. Alle Daten in der Datenbank werden auf Vielfache der Auflösung gerundet. Der Wert darf nicht zu klein angegeben werden, da die Daten intern in einer 32-Bit-Zahl gespeichert werden. Entsprechend darf der Wertebereich, der in der Datenbank gleichzeitig geladen ist, 232 nicht überschreiten. Die Auflösung wird in Meter angegeben. Eine Auflösung von 0.01, also 1 cm, bei einer Plangröße von 1000 m Breite und 4 nebeneinander geladenen Plänen ergibt 1/0.01 * 1000 * 4 = 400.000 als Wertebereich. Plantyp Der Plantyp gibt vor allem das Zielverzeichnis an, in dem die Pläne gespeichert werden. Wird hier ein von 0 verschiedener Wert eingetragen, so benutzen die Prozeduren zum Anlegen und Laden von Plänen diesen als Verzeichnis, bei einem Plantyp 0 wird beim Anwender nachgefragt. Der Plantyp 13 führt dazu, dass der Plan im Verzeichnis 150\013 gesucht wird. Version Diese Angabe wird nicht ausgewertet. Art kann den Wert ‘R’ enthalten, wenn der Plan mit Relativkoordinaten gespeichert wird, oder den Wert ‘A’ enthalten, wenn die Daten Absolutkoordinaten enthalten. Stellen Diese Angabe wird nicht ausgewertet. Sie darf den Wert ‘7’ oder ‘9’ enthalten und gibt im Original an, ob die Koordinaten intern als Fließkommawert oder als Festkommawert gespeichert werden. Ersatzplan gibt eine andere Ebene an, deren genaue Funktion mir nicht bekannt ist. Privileg Hier kann der Wert ‘R’ stehen, wenn die Pläne nicht gesichert werden dürfen, oder ‘W’, wenn eine Schreibberechtigung existiert. Parameter root (PROOT) [IN] Das Handle der Datenbank, in der die Daten einer Ebene geändert werden sollen. Es wird die mit DBgdvOpen geöffnete Planverwaltung bearbeitet. Wenn keine Planverwaltung geöffnet ist, dann wird eine Fehlermeldung generiert. layer (int) [IN] Es wird die hier angegebene Ebene der Planverwaltung angesprochen. Diese Ebene muss schon angelegt worden sein, sonst wird eine Fehlermeldung erzeugt. Es reicht nicht aus, wenn Pläne mit dieser Ebene existieren. flags (int) [IN] Hier wird festgelegt, welche Daten aus der nachfolgend beschriebenen Struktur settings gültig sind und in die Planverwaltung übernommen werden. In dieser Variablen werden die Konstanten GDV_LAYER_MODIFY_??? geodert angegeben, die geändert werden sollen. settings (GDV_LAYER_SETTINGS *) [IN] Dieser Parameter zeigt auf einen Record, der die zu ändernden Daten enthält. Er hat das gleiche Format wie der von DBgdvReturnLayerSettings ausgefüllte Rekord. In diesem Rekord müssen die oben beschriebenen Felder ausgefüllt werden. Wobei es ausreichend ist, nur die Felder zu füllen, die auch übernommen werden sollen. Wenn also im flags die Werte GDV_LAYER_MODIFY_TYP | GDV_LAYER_MODIFY_ART angegeben werden, müssen die Felder typ und art ausgefüllt werden. stufe (int) [IN] reserviert, muss 1 sein. Wenn weitere Informationen eingeführt werden, werden diese über stufe unterschieden. gdvName (const char *) [IN] Der Name der Planverwaltung. Ist gdvName = NULL, wird die geöffnete Planverwaltung benutzt. Ergebnis (T_ERROR) [OUT] Hier wird ERROR_OK zurückgegeben, wenn die Prozedur erfolgreich ausgeführt werden konnte, ansonsten wird eine der Fehlermeldungen aus error.h generiert. Deklaration #include "database.h"
T_ERROR EXPENTRY DBgdvModifyLayer ( PROOT root, int layer, int flags, GDV_LAYER_SETTINGS * settings, int stufe, const char * gdvName ); Konstanten GDV_LAYER_MODIFY_MASSSTAB 1 GDV_LAYER_MODIFY_AUFLOESUNG 2 GDV_LAYER_MODIFY_TYP 4 GDV_LAYER_MODIFY_VERSION 8 GDV_LAYER_MODIFY_ART 16 GDV_LAYER_MODIFY_STELLEN 32 GDV_LAYER_MODIFY_ERSATZPLAN 64 GDV_LAYER_MODIFY_PRIVILEG 128 GDV_LAYER_MODIFY_ALL 255
|