Variantenplanung
Diese Anleitung bezieht sich nur auf MapEdit Version 22.2. und höher.
Die Variantenplanung kann nur für Datenbanken die das MapEdit Datenmodel haben genutzt werden!
Das einrichten der Variantenplanung kann sehr komplex sein. Wenden Sie für Detaillierte Information zur Verarbeitung und Anwendung von Planungsvarianten an das Consulting bei Mensch und Maschine Infrastruktur.
Wozu dient die Variantenplanung?
Beispiel: Sie haben eine Bestands Datenbank in der alle Strassen ihrer Gemeinde erfasst sind. Nun wollen Sie eine neue Strasse planen. Wie diese Strasse genau aussehen soll ist noch nicht fest definiert und es gibt mehrere unterschiedliche Varianten wie diese neue Strasse aussehen könnte.
Diese neue in Planung befindliche Strasse soll erst nach dem die Entscheidung gefallen ist welche der Varianten umgesetzt wird (bzw. nach dem Bau der Strasse) in die Bestands Datenbank mit allen existierenden Strassen eingefügt werden.
Konzept der Variantenplanung
Es gibt eine Bestandsdatenbank in welcher der aktuelle Zustand der Daten steht.
Des weiteren gibt es für jede Variante die man planen will jeweils eine eigene Planungsdatenbank die die exakt gleiche Datenstruktur und Einstellungen hat wie die Bestandsdatenbank nur ohne die Objekt Daten der Bestandsdatenbank. In dieser Planungsdatenbank werden dann die zu planenden Objekte erfasst. Um diese Planungsdatenbanken schnell erzeugen zu können, wird eine Leere Vorlage Datenbank erzeugt. Beim anlegen einer neuen Planungsvariante wird dann eine Kopie der Vorlage Datenbank gefertigt und daraus eine neue Planungsdatenbank erzeugt. Die Planungsdatenbank wird hierbei vom Endanwender angelegt.
In MapEdit Desktop/Professional wird dann ein Projekt eingerichtet das das die Bestandsdatenbank und die gerade aktive Planungsdatenbank anzeigt.
D.h. man hat im Projekt für jedes Objekt zwei Generic Dialoge. Einmal für den Bestand und einmal für die aktive Planung. Zum Beispiel "Strassen Bestand" und "Strassen Planung". Das gleiche für die Darstellung.
Beim einrichten der Dialoge, Suchen, Darstellungsmodell etc wird für die Planungsseite immer die Datenbankverbindung der "Vorlage Datenbank" verwendet.
Welche Planung aktiv ist wird beim Start des Programmes vom Anwender festgelegt. Beim starten wird im Hintergrund die Verbindung zur "Vorlage Datenbank" durch die gewählte wirkliche "Planungsdatenbank" ausgetauscht.
Somit kann ein Projekt für beliebig viele Planungen konfiguriert und zur Laufzeit dynamisch genutzt werden.
Aufsetzen einer Variantenplanung
1.) Bestandsdatenbank vorbereiten
Für jede Featureklasse die für die Planung verwendet werden soll muss ein Status Feld vom Typ Ganzzahl Number(10) angelegt werden. Die Planung kann nicht genutzt werden wenn keine Featuretabelle diese Spalte besitzt.
Der Vorgabename des Status Feldes ist "ID_EPOCH". Der Name kann in den Planungseinstellungen unter "Status Spaltenname" auch angepasst werden. Der Status Feldname muss bei allen Featureklassen gleich sein.
Optional kann zusätzlich ein Feld für den "Planungsnamen" erzeugt werden. Dieses sollte vom Type Text(2000) sein. Der Vorgabename des Feldes ist "NARRATIVE". Der Name kann in den Planungseinstellungen unter "Bestands Planungs Spaltenname" auch angepasst werden.
Beide Felder werden vom Programm bei der Übernahme der Planung in den Bestand gefüllt.
2.) Datenmodell Vorlage erzeugen
Erzeugen sie zuerst eine Datenmodell Vorlage aus der Bestandsdatenbank. Dieser Schritt ist nur notwendig wenn für die Bestandsdatenbank noch keine Datenmodell Vorlage existiert.
Die Vorlage wird zum einen benötigt, um die "Vorlage Datenbank für die Planungsdatenbanken" zu erzeugen und zum anderen um die Planungsdatenbanken und die Vorlage auf die gleiche Datenstruktur wie die Bestandsdatenbank updaten zu können.
Beim anlegen einer neuen Planungsvariante aus dem Client, wird dann eine neue Planungsdatenbank erzeugt in dem die "Vorlage Datenbank" kopiert wird.
Alle Planungsdatenbanken und die Vorlage Datenbank müssen die exakt gleiche Datenstruktur wie die Bestandsdatenbank haben damit die Planung funktioniert.
D.h. wenn die Datenstruktur der Bestandsdatenbank geändert wird, z.B. wenn Tabellen oder Felder hinzukommen, dann müssen alle Planungsdatenbanken und die Vorlage Datenbank mittels der Datenmodell Vorlage upgedated werden.
3.) Vorlage Datenbank erzeugen
Erzeugen Sie dann eine neue Vorlage Datenbank.
Die Vorlage Datenbank sollte vom gleichen Datenbank Typ wie die Bestandsdatenbank sein. Also wenn die Bestandsdatenbank vom Typ Postgres ist, dann erzeugen sie eine Vorlage Datenbank vom Typ Postgres.
Die später erzeugten Planungsdatenbanken sind immer eine Kopie der Vorlage Datenbank und damit vom gleichen Datenbanktyp wie die Vorlagedatenbank.
Wenn Sie mehrere Bestandsdatenbanken haben können Sie die gleiche Vorlagedatenbank nur verwenden wenn diese die exakt gleiche Datenstruktur und auch den gleichen SRID haben. Die angelegte Planungsdatenbank hat immer die gleiche Datenstruktur und SRID wie die Vorlage Datenbank.
Es ist auch möglich Datenbanktypen zu mischen. Wir raten davon jedoch ab ausser es handelt sich um sehr einfache Fälle. D.h. eine Bestandsdatenbank kann vom Typ Oracle sein und de Vorlage Datenbank (und Planungsdatenbanken) vom Typ SQLite etc. Probleme treten hier ggf auf weil diverse SQLs die verwendet werden, z.B. im Darstellungsmodel, in Formularen, Views etc. ggf nicht untereinander Datenbank kompatibel sind und dann in der jeweiligen Datenbank überarbeitet werden müssen.
Der Name der Vorlage Datenbank muss zwingend mit "_PLAN_TEMPLATE" enden. Wenn Ihre Bestandsdatenbank zum Beispiel "WASSER_STUTTGART" heisst, dann nennen sie die Vorlage Datenbank "WASSER_STUTTGART_PLAN_TEMPLATE".
Am ende des Anlegens werden Sie gefragt ob sie eine Datenmodellvorlage anwenden möchten. Wählen sie hier die vorher erzeugte "Datenmodell Vorlage" aus. Damit bekommt die Vorlage Datenbank die gleiche Datenstruktur wie ihre Bestandsdatenbank.
Bei jedem Ausführen einer Datenmodell Vorlage auf eine Datenbank die mit "_PLAN_TEMPLATE" endet wird für jede Featuretabelle das Feld FID_IN_INVENTORY angelegt.
Wenn der Datenbanktyp der Bestands und Vorlage Datenbank unterschiedlich sind können Probleme auftreten wenn Views, SQLs in Darstellungsmodellen oder Generic Dialogen nicht jeweils kompatibel sind! Bzw. diese müssen dann mühsam angepasst werden.
4.) Planung einrichten
Erzeugen Sie im AppBuilder unter Repository->Datenbanken->Plannung eine neue Planungskonfiguration. Der Name ist beliebig es wird aber empfohlen den Name so zu nennen wie die Bestandsdatenbank.
Bestand->Datenbankverbindung
Wählen Sie hier ihre Bestandsdatenbank aus.Planungsvorlage->Datenbankverbindung
Wählen Sie hier Ihre Vorlage Datenbank aus.Planungsvorlage->Super User
Wenn ihre Vorlagedatenbank vom Typ Postgres ist, wählen sie bitte bei "Super User Connection" eine Super User (System User) aus. Im Standardfall ist dies bei postgres der user "postgres" und bei Oracle der User "system". Bei SQLite wird kein Super User benötigt und das Feld bleibt leer. Wenn sie keinen Datenbankverbindung zu einem Super User haben, müssen sie diesen zuerst unter
Repository->Datenbanken->Verbindungen anlegen. Dieser Super User wird benötigt damit das Programm zur Laufzeit neue Planungsdatenbanken dynamisch anlegen und löschen kann. D.h. der Superuser muss Rechte zum anlegen von Datenbanken besitzt.Hintergrundfarbe der Planungsdialoge
Hier kann die Hintergrundfarbe der MapEdit Planungs-Dialoge gewählt werden. Damit kann der Anwender die Planungsdialoge einfacher identifizieren.Status Spaltenname Name der Spalte in der der Status der Planung gespeichert wird. Standard wert ist "ID_EPOCH". Nur Tabellen mit dieser Spalte können von der Planung in den Bestand übertragen werden. (Siehe auch 'Bestandsdatenbank vorbereiten')
Alle Datensätze übernehmen wo die Status Spalte folgenden Wert hat
Datensätze welche diesen Wert im Status Feld haben werden in den Bestand übertragen.Nach Übernahme, setze Status Spalte auf
Nach der Übernahme eines Datensatzes aus der Planung wird das Status Feld auf den festgelegten Wert in der Bestand- und Planungsdatenbank gesetzt.Bestands Planungs Spaltenname
In dieses Feld wird bei der Übertragung in den Bestand die Planungs/Revisionsnummer eingetragen. Dadurch wird im Bestand sichtbar wo der Datensatz entstanden ist.Button SYNC RELATIONEN BEARBEITEN
Über den Button wird definiert, welche Datensätze welcher Tabellen aus der Planung in den Bestand übertragen werden.
Sync Relationen bearbeiten
Hier kann festgelegt welche Tabellen von der Planung zurück in den Bestand gespielt werden sollen. Es werden hier immer nur die Tabellen gelistet welche die Spalte z.B. ID_EPOCH haben. (siehe Konfiguration Status Spaltenname)
Anschließend muss ggf. definieren werden welche Kind Tabellen auch synchronisiert werden sollen.
Tabellen die in „grün“ markiert sind enthalten nicht unzugeordnete Relationen.
Wenn man über eine Tabelle mit der Maus geht, kommen zwei Icons. Einmal zum entfernen aus der Konfiguration und zum Ändern/Hinzufügen von Relationen.
Speichern
Beim drücken des "Speichern" Knopfes werden Sie beim ersten anlegen gefragt ob nun Planungsverwaltungstabellen in der Bestandsdatenbank angelegt werden sollen.
Die muss mit JA bestätigt werden.
Es werden in der Bestandsdatenbank die beiden Tabellen ME_PLANNING und ME_PLANNING_VARIATION angelegt. Diese Systemtabellen sind für die Verwaltung der Planungen und Varianten und dürfen nicht manuell angepasst werden.
Falls man die Variantenplanung komplett neu Aufsetzen will und die Historie löschen will, muss man im Bestandsschema die beiden Tabellen leeren und alle Planungsdatenbanken löschen.
5.) Projekt einrichten
Erstellen sie ein neues Projekt in dem Planungen verwaltet werden sollen. Im Projekt wählen Sie bei "Planung" die gerade erzeugte Planungskonfiguration aus.
Bei "Plugins" fügen sie bitte das Plugin "MUM.GEO.PANNING.XAP" hinzu.
Fügen Sie dann beim Ribbon des Projektes alle Dialoge des Bestandes und alle Dialoge der Vorlage Datenbank hinzu die sie verwenden moechten.
Fuegen Sie ausserdem im Ribbondesigner mittels "Plugin Commando hinzufügen"->"MuM Plannung" den Knopf "Variante in Bestand übernehmen"
Wenn sie mit MapEdit Professional arbeiten setzen sie ein Darstellungsmodell auf das die Objekte aus dem Bestand und der Planung beinhaltet. Für die Objekte der Planung wählen sie als Datenbank immer die "Vorlage Datenbank"
Thema in Bearbeitung, weitere Informationen folgen.........
Nachträgliche Änderungen am Datenmodell
Wenn Sie Änderungen am Datenmodell der Bestandsdatenbank durchführen, also Tabelle oder Felder hinzufügen, ändern etc, dann muessen diese Änderungen in die "Planungs Vorlage Datenbank" und in alle "Planungsdatenbanken" übernommen werden. Die geschieht dadurch das die "Datenmodell Vorlage" der Bestandsdatenbank aktualisiert wird und dann die "Planungs Vorlage Datenbank" auf diesen Stand upgedatet wird.
Gehen sie dazu auf "Vorlage anwenden" bei der "Datenmodell Vorlage" und drücken Sie "Anwenden". Dies muss mindestens zwingend bei der "Planungs Vorlage Datenbank" geschehen.
Die Bestandsdatenbank kann, muss aber nicht upgedated werden. Ist diese nicht upgedated dann macht das Programm diese automatisch beim öffnen der Variantenplanung. Es wird jedoch empfohlen dies auch vorab zu machen um ggf Fehler umgehend zu entdecken. Ansonsten erscheinen diese beim Endanwender.
Die einzelnen "Planungsdatenbanken" werden dann jeweils beim oeffnen dieser im Client auf den neusten Stand gebracht.
Sie können einzelne oder alle Planungsdatenbanken auch unter "Vorlage anwenden" updaten in dem Sie den Knopf in der Spalte "Planning DBs" drücken und dann die Datenbanken wählen die sie gezielt updaten wollen. Bedenken Sie das dies einige Zeit in Anspruch nehmen kann. Aus diesem Grund kann dieser Schritt auch entfallen und wird stattdessen wenn die Version nicht aktuell ist beim öffnen der Datenbank im Client in der Planung durchgeführt. Dadurch werden nur Planungsdatenbanken upgedatet die auch wirklich noch benutzt werden. Beachten Sie das wenn sie hunderte von Planungsdatenbanken haben das ein updaten entsprechen lange Zeit benötigt. Wenn sie die Öffnungszeiten der Variantenplanung beim Anwender minimieren wollen dann wird geraten alle Planungsdatenbanken vorab upzudaten. Anderen Falls muss der Anwender beim öffnen ggf warten bis das update durchläuft. Desweiteren sehen sie ggf auch wenn ein Update fehlgeschlagen ist.
In der Tabelle ME_DATAMODEL_UPDATE_LOG werden alle Datenmodell protokolliert. Hier wird auch protokolliert wenn Fehler auftreten.
Benutzung der Variantenplanung
Beim starten des Projektes im MapEdit Client oder Professional sehen Sie einen Dialog in dem Sie:
- Auswählen mit welcher Planung Sie arbeiten wollen
- Neue Planungen anlegen koennen
- Den Status der Planung setzen koennen
- Eine Planung wieder entfernen koennen.
Anlegen einer Planungsvariante
Ein Planungsvariante umfasst eine oder mehrere Revisionen. Sie dient zum uebersichtlicheren verwalten der Revisionen.
Anlegen einer Revision
Beim anlegen einer neuen Revision wird eine neue Planungsdatenbank erzeugt. Dies geschieht durch kopieren der Vorlage Datenbank. Es können maximal 26 Revisionen angelegt werden.
Achten Sie darauf das Sie genügend Festplattenplatz haben da für jede Revision vom Endanwender einen Planungsdatenbank erzeugt wird.
Löschen einer Revision
Nur die jeweils letzte Revision einer Planungsvariante kann gelöscht werden.
Datensätze vom Bestand in die Planung übernehmen
In den Generischen Dialogen des Bestandes befindet sich dazu in der Knopfleiste ein Knopf "In Planung übernehmen". Wird dieser ausgefuehrt, wird der Datensatz in die Planung uebernommen und in der Planung das Feld "FID_IN_INVENTORY" mit der FID des Bestandsdatensätze gefüllt. Diese FID wird später beim zureuckspielen als Indentifikation des Datensatzes verwendet.
Übernahme einer Planung in den Bestand
Hierfür verwenden Sie den Knopf "Variante in Bestand übernehmen" den sie im Ribbon Designer angelegt haben.
Nur Datensätze bei denen im "Status feld" ( in der Regel ID_EPOCH) der Wert 2 steht (oder wenn den von ihnen im Planungs Optionen Dialog eingestellten Wert) werden in den Bestand übernommen.
Bei der Übernahme wird das "Status feld" in der Planung und im Bestand auf die Werte die im Planungs Optionen Dialog eingestellt sind gesetzt. Desweiteren wird, wenn vorhanden das "Bestands Planungs Feld" (in der Regel NARRATIVE) gesetzt.
Wurden in der Planung neue Datensaetze angelegt, dann werden diese Datensätze im Bestand mit einer neuen FID angelegt. Datensätze die vom Bestand übernommen werden anhand des Feldes FID_IN_INVENTORY zurück in den Bestand gespielt.
System Variablen
In Verbindung mit der Variantenplanung können folgende System variablen genutzt werden:
Variablen Name | Beschreibung |
---|---|
PLANNING.INVENTORY_CONNECTION | Name der Bestands Datenbank |
PLANNING.PLANNING_CONNECTION | Name der aktiven Planungs Datenbank |
PLANNING.PLANNING_ID | ID der Planung |
PLANNING.PLANNING_FULL_NAME | Voller Name der Planung |
PLANNING.PLANNING_TITLE | Titel der Planung |
PLANNING.VARIATION_ID | ID der Variante |
PLANNING.VARIATION_FULL_NAME | Voller Name der Variante |
PLANNING.VARIATION_TITLE | Titel der Variante |
Die Variablen werden vom System gefüllt und können in VB/C# Skripten und in den Berichten genutzt werden.
Beispiel VB Skript
Public Overrides Sub Button_Click()
dim title as string
title = Me.Project.Repository.Variables("PLANNING.VARIATION_FULL_NAME") & " - " & Me.Project.Repository.Variables("PLANNING.VARIATION_TITLE")
Me.MsgBox(title)
End Sub
In den Berichten müssen die Variablen die im Bericht genutzt werden sollen bei den Parametern eingetragen werden. Dabei muss dem Variablenname ein @ Zeichen vorangestellt werden.
Erzeugen von MapServer Karten für Planungsdatenbanken
Da der Name der Planungsdatenbank erst zur Laufzeit bekannt ist muss der Name der MapServer Karte vom Client übergeben werden.
Dies geschieht durch die Nutzung des MapServer VALIDATION Schlüsselwortes.
Für technische Details siehe:
https://mapserver.org/mapfile/validation.html
Die Option "Verwende Aliasnamen", beschrieben hier
https://help.mapedit.de/admin-guide/mapedit-appbuilder/map-servers/mapserver#weitere-infos-zur-option-verwende-alias-namen-f%C3%BCr-map-files
darf NICHT verwendet werden da bei Planungen die Datenbanken zur Laufzeit erstellt werden und daher nicht vorher bekannt sind.
Ab Version 24.2.120 mittels "Export Darstellungsmodell"
Bei Projekten welche die Variantenplanung verwenden wird beim Aufruf von MapServer Karten automatisch vom Client ein URL Parameter "dbname" mit dem Namen der gerade aktuellen Planungsdatenbank übergeben.
Mittels diesem Parameter kann dann der Name der Datenbank in Verbindung mit dem MapServer "VALIDATION" Parameter zur Laufzeit der Karte übergeben werden.
Nachdem Sie die MapServer Karte mittels "Export Darstellungsmodell" erzeug haben, fügen Sie am Kopf der Datei das Schlüsselwort
#MAPEDIT_USE_DYNAMIC_DBNAME
hinzu.
Beispiel:
MAP
NAME "LASVEGAS_PLANNING"
#MAPEDIT_DISPLAY_MODEL_NAME "LASVEGAS_PLANNING"
#MAPEDIT_USE_DYNAMIC_DBNAME
# use 32-bit PNG (with transparency)
OUTPUTFORMAT
usw.
Drücken Sie danach den Knopf "Mit Darstelungsmodell synchronisieren".
Es wird dann bei jedem Layer ein VALIDATION Block erzeugt und bei CONNECTION wird beim Datenbank name %dbname% eingefügt.
VALIDATION
"dbname" ".*"
"default_dbname" "lasvegas_plan_template"
END
CONNECTION "user=postgres dbname=%dbnamd% password=manager host=localhost port=5432"
Der Parameter dbname wird zur Laufzeit vom Client dann in der Karten URL gesetzt und so an die MapServer Karte übergeben.
Beispiel:
http://localhost/mapserver/mapserv.exe?map=C:\MapServer\maps\LASVEGAS.map&REQUEST=GetMap&SERVICE=WMS&VERSION=1.3.0&FORMAT=image/png&Layers=PARK,STREET,BUS_ROUTE,STREET_LIGHT,LIBRARY,FIRE_STATION,HOTEL,LIBRARY_LBL,PARK_LBL,FIRE_STATION_LBL,HOTEL_LBL&CRS=EPSG:26911&BBOX=645727.026,3999412.569,651962.387,4001795.313&Width=1612&Height=616&TRANSPARENT=TRUE&Styles=&dbname=lasvegas_plan_1&planid=1
Ab Version 24.2.120 bei händisch erzeugten MapServer Karten
Wenn Sie die MapServer Karte haendisch erzeugen dann folgende Sie diesen Schritten:
Fügen Sie jedem Layer einen Validation Bereich hinzu
VALIDATION
"dbname" ".*"
"default_dbname" "lasvegas_plan_template"
END
Bei default_dbname muss der Name der Datenbank stehen der genommen wird wenn die Karte im AppBUilder aufgerufen wird.
Ersetzen Sie bei CONNECTION den namen der Datenbank durch "%dbname%"
CONNECTION "user=postgres dbname=%dbname% password=manager host=localhost port=5432"
Komplettes Beispiel:
LAYER
NAME "BUS_ROUTE"
STATUS ON
#MAPEDIT_SYNCHRONIZE
#MAPEDIT_CONNECTION_NAME "LASVEGAS_PLAN_TEMPLATE"
#MAPEDIT_TABLE_NAME "BUS_ROUTE"
METADATA
"wms_title" "Bus Route"
"wms_layer_group" "/las_vegas"
"wms_group_title" "Las Vegas"
END
VALIDATION
"dbname" ".*"
"default_dbname" "lasvegas_plan_template"
END
TYPE LINE
CONNECTIONTYPE POSTGIS
CONNECTION "user=postgres dbname=%dbname% password=manager host=localhost port=5432"
PROCESSING "CLOSE_CONNECTION=DEFER"
DATA "geom from (select fid,geom from bus_route) AS new_table using unique fid"
EXTENT 650067 3981081 696398 4020127
SIZEUNITS METERS
CLASS
STYLE
WIDTH 4
COLOR "#FF0000FF"
LINECAP ROUND
LINEJOIN MITER
END
END
END
Der Parameter dbname wird zur Laufzeit vom Client dann in der Karten URL gesetzt und so an die MapServer Karte übergeben.
Beispiel:
http://localhost/mapserver/mapserv.exe?map=C:\MapServer\maps\LASVEGAS.map&REQUEST=GetMap&SERVICE=WMS&VERSION=1.3.0&FORMAT=image/png&Layers=PARK,STREET,BUS_ROUTE,STREET_LIGHT,LIBRARY,FIRE_STATION,HOTEL,LIBRARY_LBL,PARK_LBL,FIRE_STATION_LBL,HOTEL_LBL&CRS=EPSG:26911&BBOX=645727.026,3999412.569,651962.387,4001795.313&Width=1612&Height=616&TRANSPARENT=TRUE&Styles=&dbname=lasvegas_plan_1&planid=1
Für technische Details siehe:
https://mapserver.org/mapfile/validation.html
Vor Version 24.2.120 bei händisch erzeugten MapServer Karten
Bei Projekten welche die Variantenplanung verwenden wird beim Aufruf von MapServer Karten automatisch vom Programm ein URL Parameter "planid" mit der ID der gerade aktuellen Planungsdatenbank übergeben.
Mittels dieser ID kann dann der Name der Datenbank in der Karte dynamisch gesetzt werden.
Die Option "Verwende Aliasnamen", beschrieben hier
https://help.mapedit.de/admin-guide/mapedit-appbuilder/map-servers/mapserver#weitere-infos-zur-option-verwende-alias-namen-f%C3%BCr-map-files
darf NICHT verwendet werden da bei Planungen die Datenbanken zur Laufzeit erstellt werden und daher nicht vorher bekannt sind.
Beispiel einer fix angegebene Planungsdatenbank.
LAYER
NAME "STRASSEN"
TYPE LINE
CONNECTIONTYPE OGR
CONNECTION "C:\inetpub\wwwroot\MumGeoData\Databases\Plan\osnab_1.sqlite"
Damit die "planid" von der Karte gelesen und ausgewertet wird wird muss folgendes konfiguriert werden:
d.h. fügen Sie nach dem NAME Abschnitt aber vor dem CONNECTION Abschnitt fix diesen Abschnitt hinzu:
VALIDATION
"planid" "[0-9]+"
"default_planid" "1"
END
Setzen sie hinter "default_planid" wo 1 steht die ID einer existierenden Planungsdatenbank. Diese Datenbank wird dann verwendet wenn der URL Parameter nicht angegeben wird. Dies kommt vor wenn Sie die Karte in der Kartenverwaltung aufsetzen und testen wollen.
Ersetzen sie die ID Zahl der Datenbank durch den Ausdruck %planid%
CONNECTION "C:\inetpub\wwwroot\MumGeoData\Databases\Plan\osnab_%planid%.sqlite"
So das der Eintrag am Ende so aussieht:
LAYER
NAME "STRASSEN"
VALIDATION
"planid" "[0-9]+"
"default_planid" "1"
END
TYPE LINE
CONNECTIONTYPE OGR
CONNECTION "C:\inetpub\wwwroot\MumGeoData\Databases\Plan\osnab_%planid%.sqlite"
Weitere Tips
Wenn Sie in allen Planungsdatenbanken Änderungen via SQL machen müssen kann im SQL Abfrage Werkzeug der Befehl
BATCH EXECUTE USING ALLPLANNINGCONNECTIONS OF Name der Bestands Datenbank;
genutzt werden.
Genauere Informationen finden Sie beim BATCH Befehl unter: