1. Präambel
Dieses Dokument ist das offizielle Betriebshandbuch zur Installation der Software xPlanBox. Die in diesem Dokument genannten Soft- und Hardwarebezeichnungen sind in den meisten Fällen auch eingetragene Warenzeichen und unterliegen als solche den gesetzlichen Bestimmungen.
Die in diesem Werk enthaltenen Angaben, Daten, Ergebnisse usw. wurden von den Autoren nach bestem Wissen erstellt und mit Sorgfalt überprüft. Dennoch sind inhaltliche Fehler nicht völlig auszuschließen. Daher erfolgen alle Angaben ohne jegliche Verpflichtung oder Garantie. Die Autoren übernehmen aus diesem Grund auch keinerlei Verantwortung oder Haftung für Fehler und deren Folgen. Hinweise auf eventuelle Irrtümer werden gerne entgegengenommen.
Dieses Dokument ist mit AsciiDoc gesetzt. Es ist als Quellcode erhältlich und kann als HTML und PDF angeschaut bzw. bereitgestellt werden. Für die Bereitstellung des AsciiDoc Quellcode wenden Sie sich bitte an lat/lon - per E-mail an info@lat-lon.de.
1.1. Autoren
Danilo Bretschneider, Jens Fitzke, Torsten Friebe, Dirk Stenger, Sebastian Goerke, Lyn Elisa Goltz, Carmen Tawalika, Jeronimo Wanhoff, Lena Rippolz.
Copyright © 2010 - 2022, lat/lon GmbH, Bonn.
1.2. Lizenz
Die Komponenten der xPlanBox sind urheberrechtlich geschützt und werden unter der GNU Affero General Public License, Version 3 oder jeder späteren Version veröffentlicht.
Die xPlanBox basiert auf dem OSGeo-Projekt deegree, welches Bestandteil der xPlanBox ist. Der Quellcode von deegree ist urheberrechtlich geschützt und wird unter der GNU Lesser General Public License (LGPL), version 2.1 veröffentlicht. Bitte beachten Sie auch die Lizenzen der verwendeten Bibliotheken im Anhang.
Copyright © 2010 - 2022, lat/lon GmbH, Bonn.
1.2.1. Softwareüberlassung
Die Überlassung der in Binärcode übersetzten Programme (Binärprogramme) der xPlanBox sowie Skripte, Konfigurationsdateien und Dokumentation erfolgt als Distributionsdatei durch lat/lon und stehen unter https://repo.lat-lon.de/ zum Download zur Verfügung.
1.2.2. Gewährleistung
Für die Komponenten der xPlanBox gelten die Haftungs- und Gewährleistungsausschlüsse wie in der AGPL benannt. Für deegree gelten die Haftungs- und Gewährleistungsausschlüsse wie in der LGPL benannt.
Die Firma lat/lon GmbH übernimmt keine Gewähr zur Freiheit der Software xPlanBox bezüglich von Funktions- oder Sachmängeln.
1.2.3. Nutzungsbedingungen
Die Nutzungsbedingungen ergeben sich aus der GNU Affero General Public License, Version 3 oder jeder späteren Version.
1.3. Lizenz des Dokuments
Es wird die Erlaubnis gewährt, dieses Dokument zu kopieren, zu verteilen und/oder zu modifizieren, unter den Bestimmungen der GNU Free Documentation License, Version 1.3 oder jeder späteren Version, veröffentlicht von der Free Software Foundation; mit den unveränderlichen Abschnitten Präambel und Autoren, ohne vordere Umschlagtexte und ohne hintere Umschlagtexte. Die Lizenz wird unter http://www.gnu.org/licenses/fdl-1.3 bereitgestellt.
2. Systemüberblick
In diesem Betriebshandbuch befinden sich Informationen zu Systemvoraussetzungen, Schnittstellen und Installation für den Betrieb der xPlanBox. Die Web-Anwendungen basieren auf den Komponenten des OSGeo-Projekts deegree. Als zugrunde liegende Basistechnologien werden Java, Apache Tomcat und PostgreSQL mit PostGIS verwendet.
Zur erfolgreichen Installation der Software-Komponenten müssen die in diesem Kapitel beschriebenen Voraussetzungen erfüllt werden.
2.1. Systemvoraussetzungen
2.1.1. Server
Minimale Systemvoraussetzung
-
CPU: 8 CPUs bzw. 8 Kernen (64 Bit) mit minimal 2,5-GHz-Prozessorgeschwindigkeit
-
Arbeitsspeicher: 16 GB RAM
-
Netzwerkadapter: Gigabit-Ethernet-Adapter (10/100/1000baseT PHY/MAC)
-
Festplattensystem: Journaling-Dateisystem (Kapazität nach Bedarf, Minimum 500 GB)
Empfohlene Systemkonfiguration
-
CPU: 16 CPUs bzw. 16 Kernen (64 Bit) mit 3,2-GHz-Prozessorgeschwindigkeit
-
Arbeitsspeicher: 32 GB RAM
-
Netzwerkadapter: Gigabit-Ethernet-Adapter (10/100/1000baseT PHY/MAC)
-
Festplattensystem: RAID-10 (Kapazität nach Bedarf, Minimum 500 GB) optional mit SSD
Hohe Datentransferraten sind bei Bereitstellung von großen Datenbeständen sowohl von Raster- als auch Vektordaten notwendig, u.a. um die Vorgaben der INSPIRE-Richtlinien zu erfüllen. |
2.1.2. Client
-
CPU: 2 CPU mit mindestens 2,0-GHz-Prozessor
-
Arbeitsspeicher: 4 GB RAM
Weitere Informationen zu den Systemvoraussetzungen bei den unterstützten Browsern: Microsoft Edge (79.0+), Mozilla Firefox (80.0+), Google Chrome (85.0+) |
2.2. Betriebssystem
Als Betriebssystem kann ein beliebiges 64-bit Betriebssystem verwendet werden.
Empfohlen wird die Nutzung eines der folgenden Betriebssysteme: Debian 10 (Buster) oder Ubuntu 20.04 LTS (Focal Fossa). |
Das Gebietsschema des Betriebssystems ("Locale") sollte auf deutsch konfiguriert sein, da einzelne Fehlerbeschreibungen in dieser Sprache ausgegeben werden (z. B. im Validierungsbericht). Unter Linux kann das Gebietsschema beispielsweise in der Datei "/etc/default/locale" angepasst werden. |
2.3. Java SE
Als Java SE 11 wird sowohl Oracle JDK 11 als auch OpenJDK 11 (AdoptOpenJDK 11 oder Amazon Corretto 11) unterstützt.
Empfohlen wird OpenJDK 11.0.13+8. |
2.4. Java Applikationsserver
Als Applikationsserver wird Apache Tomcat empfohlen. Das Installationsarchiv findet sich bei der Apache Foundation. Diese Dokumentation bezieht sich grundsätzlich auf den Apache Tomcat.
Um eine spätere Trennung der Dienste (Web-Anwendungen) zu gewährleisten, wird die Konfiguration von mehreren Tomcat-Instanzen empfohlen (siehe Kapitel Web-Anwendungen).
Die minimale Anforderung an den Applikationsserver ist das Java EE 7 Web Profil. Empfohlen wird Apache Tomcat Version 9.0.58. |
2.5. Datenbank
Als Datenbanksystem ist eine Installation von PostgreSQL 9.5+ mit der Erweiterung PostGIS 2.4+ mindestens erforderlich.
Empfohlen wird PostgreSQL 11+ mit PostGIS 3.0+. |
2.6. GDAL
Optional kann die Installation der GDAL-Bibliothek erforderlich sein. Liegen Teil-Vektorielle Pläne mit Rasterdaten in anderen Formaten als GeoTiff vor, die mit der xPlanBox verwaltet werden sollen, ist der Einsatz von GDAL erforderlich. Liegen die Rasterdaten dagegen nur im GeoTiff-Format vor, wird GDAL nicht benötigt. Weitere Informationen zur Installation von GDAL befinden sich im Abschnitt Installation und Konfiguration von GDAL.
Erforderlich ist GDAL 3.0. |
2.7. HALE CLI
Optional kann die Installation von HALE CLI erforderlich sein. HALE CLI wird für die Transformation von Daten der xPlanBox verwendet. Weitere Informationen zur Installation befinden sich im Abschnitt Installation und Konfiguration von HALE CLI.
Erforderlich ist HALE CLI 3.4.0+. |
3. Systemarchitektur und Schnittstellen
Das Gesamtsystem setzt sich aus folgenden Komponenten zusammen:


3.1. XPlanManagerWeb
Die Komponente XPlanManagerWeb ist eine Web-Oberfläche, die dem Fachadministrator der xPlanBox ermöglicht, die Datenhaltung XPlanDB über einen Browser zu verwalten.
3.2. XPlanManagerAPI
Die Komponente XPlanManagerAPI stellt eine REST-Schnittstelle bereit, über die die Datenhaltung XPlanDB verwaltet werden kann.
3.3. XPlanManagerCLI
Die Komponente XPlanManagerCLI ist ein Kommandozeilenwerkzeug, welches dem Fachadministrator der xPlanBox ermöglicht, die Datenhaltung XPlanDB über das Terminal zu verwalten.
3.4. XPlanValidatorWeb
Die Komponente XPlanValidatorWeb ist eine Web-Oberfläche, welche dem Fachadministrator der xPlanBox ermöglicht, XPlanGML-Dokumente über den Browser zu validieren.
3.4.1. XPlanValidatorWMS
Bei der Komponente XPlanValidatorWMS handelt es sich um eine Subkomponente des XPlanValidatorWeb. Validierte Plänen können über den XPlanValidatorWMS in der Kartenvorschau angezeigt werden, ohne das ein Plan in die Datenhaltung importiert wird. Dieser Dienst nutzt keine persistente Datenhaltung.
3.5. XPlanValidatorAPI
Die Komponente XPlanValidatorAPI stellt eine REST-Schnittstelle bereit, über die XPlanGML-Dokumente validiert werden können.
3.6. XPlanValidatorCLI
Die Komponente XPlanValidatorCLI ist ein Kommandozeilenwerkzeug, welches dem Fachadministrator der xPlanBox ermöglicht, XPlanGML-Dokumente über das Terminal zu validieren.
3.7. XPlanTransformCLI
Die Komponente XPlanTransformCLI ist ein Kommandozeilenwerkzeug, welches dem Fachadministrator der xPlanBox ermöglicht, bereits über den XPlanManagerWeb oder das XPlanManagerCLI importierte Pläne in eine aktuellere XPlanGML Version zu transformieren und in der XPlanDB zu speichern.
3.8. XPlanAuswerteschemaCLI
Die Komponente XPlanAuswerteschemaCLI ist ein Kommandozeilenwerkzeug, welches dem Fachadministrator der xPlanBox ermöglicht, ein weiteres Datenbankschema für die Auswertung zu erzeugen und die Daten aus dem XPlanSyn-Schema der XPlanDB mit dem des Auswerteschemas zu synchronisieren.
3.9. XPlanWMS und XPlanWerkWMS
Der XPlanWMS und XPlanWerkWMS sind auf dem Standard Web Map Service (Version 1.1.1 und 1.3.0) des Open Geospatial Consortium (OGC) basierende Kartendienste. Diese bieten die Möglichkeit, Visualisierungen von Plandaten sowie Sachinformationsabfragen zu einzelnen Planinhalten abzufragen. Um Plandaten zu visualisieren bzw. Sachinformationen abzufragen, ist es möglich, sowohl eine einfache (siehe Abbildung 1) als auch eine separate Datenhaltung (siehe Abbildung 2) zu nutzen, in der die Plandaten hinterlegt sind. Dabei wird bei einer separaten Datenhaltung (Unterteilung in: In Aufstellung, Festgestellt, Archiviert) durch die Auswahl des Planstatus, die dazugehörige Datenhaltung und somit der entsprechende XPlanWMS-Endpoint angesprochen. Der XPlanWMS greift auf dasselbe Datenbankschema wie der XPlanSynWFS in der XPlanDB zu. Rasterdaten werden im Workspace-Verzeichnis des XPlanWMS hinterlegt. Die Verzeichnisstruktur des Workspace XPlanWMS Workspace ist im Anhang dokumentiert.
Während der XPlanWMS planübergreifend arbeitet, beschränkt sich der XPlanWerkWMS auf einzelne Planwerke.
Die folgende Tabelle zeigt die vom XPlanWMS bereitgestellten Daten nach Planstatus.
Endpoint | Planstatus | Postfix für Schema und Endpoint |
---|---|---|
XPlanWMSInAufstellung |
In Aufstellung |
pre |
XPlanWMSFestgestellt |
Festgestellt |
- |
XPlanWMSArchiviert |
Archiviert |
archive |
Gleiches gilt für den XPlanWerkWMS, XPlanWFS und XPlanSynWFS |
3.10. XPlanWFS
Der XPlanWFS ist ein auf dem Standard Web Feature Service (Version 1.1.0 und 2.0.0) des Open Geospatial Consortium (OGC) basierender Dienst zur Abfrage von Vektordaten und stellt Endpunkte für jede XPlanGML-Version bereit. Zu jeder unterstützten XPlanGML-Version stellt die xPlanBox einen XPlanWFS-Endpoint bereit. Jeder Dienst greift auf das zu der XPlanGML-Version passende Datenbankschema in der XPlanDB zu. Die Zuordnung der einzelnen Endpunkte zu den Datenbankschemata ist im Kapitel Zugriff auf Daten der XPlanDB dokumentiert.
3.11. XPlanSynWFS
Der XPlanSynWFS dient der Abbildung des synthetisierten XPlanGML-Anwendungsschemas (XPlanSynGML). Dieses stellt eine vereinfachte und zusammenfassende Form der verschiedenen XPlanGML Versionen dar. Der XPlanSynWFS greift auf das synthetisierte Datenbankschema in der XPlanDB zu.
3.12. XPlanInspirePluWMS
Der XPlanInspirePluWMS ist ein INSPIRE View Service für die Bereitstellung importierter Pläne im INSPIRE Datenthema Planned Land Use (PLU).
3.13. XPlanInspirePluWFS
Der XPlanInspirePluWFS ist ein INSPIRE Download Service für die Bereitstellung importierter Pläne im INSPIRE Datenthema Planned Land Use (PLU).
3.14. XPlanRessourcen
Die optionale Komponente XPlanRessourcen bietet eine Einstiegsseite zu den einzelnen Komponenten der xPlanBox und stellt Testdaten sowie die Dokumente mit den Konformitätsbedingungen des Standards XPlanung bereit.
3.15. XPlanDB
Die Komponente stellt die zentrale Datenhaltungskomponente für die alle Komponenten der xPlanBox bereit und wird durch eine PostgreSQL/PostGIS DB realisiert. Die Einrichtung der Datenbank ist im Kapitel Konfiguration der Datenbank, die Datenbankstruktur im Anhang Datenbankmodell der XPlanDB sowie der Datenzugriff im Kapitel Zugriff auf Daten der XPlanDB beschrieben.
4. Installation der Komponenten
In den nachfolgenden Kapiteln wird die Installation der einzelnen Komponenten erläutert.
4.1. Überblick der Installationskomponenten
Die xPlanBox umfasst die folgenden Komponenten, die zusammengenommen die Liefereinheit darstellen:
-
Kommandozeilenwerkzeuge:
-
xplan-manager-cli-<VERSION>.zip
-
xplan-validator-cli-<VERSION>.zip
-
xplan-transform-cli-<VERSION>.zip
-
xplan-validatedb-cli-<VERSION>.zip
-
xplan-evaluation-schema-synchronize-cli-<VERSION>.zip
-
xplan-update-database-cli-<VERSION>.zip
-
-
Web-Anwendungen und Web-Dienste und zugehörige Konfigurationen:
Web-Anwendung/Dienst | Konfigurationen |
---|---|
xplan-root-<VERSION>.war |
- |
xplan-validator-web-<VERSION>.war |
xplan-validator-config-<VERSION>.zip |
xplan-manager-web-<VERSION>.war |
xplan-manager-config-<VERSION>.zip und xplan-workspaces-<VERSION>-xplan-manager-workspace.zip |
xplan-api-validator-<VERSION>.war |
xplan-validator-config-<VERSION>.zip |
xplan-api-manager-<VERSION>.war |
xplan-manager-config-<VERSION>.zip und xplan-workspaces-<VERSION>-xplan-manager-workspace.zip |
xplansyn-wfs-<VERSION>.war |
xplan-workspaces-<VERSION>-xplansyn-wfs-workspace.zip |
xplan-wfs-<VERSION>.war |
xplan-workspaces-<VERSION>-xplan-wfs-workspace.zip |
xplan-wms-<VERSION>.war |
xplan-workspaces-<VERSION>-xplansyn-wms-workspace.zip |
xplan-inspireplu-<VERSION>.war |
xplan-workspaces-<VERSION>-xplan-inspireplu-workspace.zip |
xplan-validator-wms-<VERSION>.war |
xplan-workspaces-<VERSION>-xplan-validator-wms-workspace.zip |
-
Dokumentation (in HTML und PDF-Format):
-
XPlanBenutzerhandbuch - Benutzerhandbuch für die Komponenten der xPlanBox
-
XPlanBetriebshandbuch - Betriebshandbuch und Installationsanleitung für die xPlanBox
-
Bitte kontaktieren Sie lat/lon GmbH, per E-mail an info@lat-lon.de, wenn Installationskomponenten fehlen.
4.2. Vorbereitung der Installation
Die folgende Installationsanleitung setzt voraus, dass die im Abschnitt Systemüberblick beschriebenen Komponenten, soweit erforderlich, installiert sind.
4.2.1. deegree Workspace
Weiterhin ist vorbereitend das Anlegen eines Verzeichnisses mit dem Namen .deegree im Home-Verzeichnis erforderlich, wenn dieses nicht bereits existiert. Falls ein anderes Verzeichnis verwendet werden soll, muss die Umgebungsvariable DEEGREE_WORKSPACE_ROOT
gesetzt werden (s. Abschnitt Anwendungs-Tomcat).
Dem Betriebssystembenutzer, mit dem der Tomcat gestartet wird, müssen Lese- und Schreibrechte für dieses Verzeichnis eingeräumt werden.
4.3. Anwendung installieren
4.3.1. Konfigurationsdateien der Anwendungskomponenten
Die ZIP-Archive mit den Konfigurationen (s. Überblick der Installationskomponenten) müssen in das Verzeichnis <DEEGREE_WORKSPACE_ROOT> (Vorgabewert ist das .deegree im Home-Verzeichnis des Nutzers, s. Vorbereitung der Installation) kopiert und entpackt werden:
-
xplan-wfs-workspace
-
xplansyn-wfs-workspace
-
xplansyn-wms-workspace
-
xplan-inspireplu-workspace (XPlanInspirePluWMS und XPlanInspirePluWFS)
-
xplan-validator-wms-workspace
-
xplan-manager-workspace
-
xplan-manager-config
-
xplan-validator-config (nur erforderlich, wenn ausschließlich der XPlanValidator installiert werden soll)
Die Konfigurationen müssen alle unterhalb desselben Basis-Verzeichnisses liegen. |
4.3.2. Web-Anwendungen
Um den Betrieb der verschiedenen im Abschnitt Systemarchitektur und Schnittstellen beschriebenen Komponenten zu gewährleisten, wird eine Trennung der Dienste, Anwendungskomponenten und der REST-API empfohlen. Zwingend erforderlich ist die Trennung beim Einsatz von GDAL (s. Installation und Konfiguration von GDAL). Dann müssen die Web-Anwendungen getrennt voneinander betrieben werden. Im Folgenden ist beschrieben, wie eine Installation der Komponenten auf drei Tomcat-Instanzen erfolgen kann. Werden drei Tomcat-Instanzen auf einem Server betrieben, dann sollte der Server die im Kapitel Empfohlene Systemkonfiguration beschriebenen Anforderungen erfüllen.
Die folgenden WAR-Archive (s. Überblick der Installationskomponenten) müssen in das Verzeichnis <CATALINA_HOME>/webapps der Tomcat-Instanz Dienste-Tomcat (z. B. auf Port: 8080) kopiert werden:
-
xplan-wms.war (XPlanWMS und XPlanWerkWMS)
-
xplan-wfs.war (XPlanWFS)
-
xplansyn-wfs.war (XPlanSynWFS)
-
xplan-inspireplu.war (XPlanInspirePluWMS und XPlanInspirePluWFS)
-
xplan-validator-wms.war (XPlanValidatorWMS)
Die WAR-Archive der Anwendungskomponenten XPlanManagerWeb und XPlanValidatorWeb werden über eine weitere Tomcat-Instanz Anwendungs-Tomcat (z. B. auf Port: 8081) bereitgestellt:
-
xplan-manager-web.war (XPlanManagerWeb)
-
xplan-validator-web.war (XPlanValidatorWeb)
-
xplan-root.war (XPlanRessourcen)
Die WAR-Archive der REST-API werden über eine weitere Tomcat-Instanz API-Tomcat (z. B. auf Port: 8082) bereitgestellt:
-
xplan-api-manager.war (XPlanManagerAPI)
-
xplan-api-validator.war (XPlanValidatorAPI)
Da die Komponente XPlanRessourcen eine Einstiegsseite bereitstellt, bietet es sich an, diese als ROOT-Webapp der Instanz Anwendungs-Tomcat zu installieren. Das WAR-Archiv xplan-root.war muss dafür im Verzeichnis ROOT entpackt werden. |
4.3.3. Kommandozeilen-Anwendungen
Die Kommandozeilenkomponenten (s. Überblick der Installationskomponenten) können an beliebiger Stelle entpackt werden. Im jeweiligen bin/ Verzeichnis des Kommandozeilenwerkzeugs befindet sich das Ausführungsskript. Folgende Kommandozeilenwerkzeuge sind Teil der xPlanBox:
-
XPlanManagerCLI: xplan-manager-cli/bin/XPlanManager - Beschreibung der Funktionalität im Kapitel "XPlanManagerCLI" des XPlanBenutzerhandbuchs.
-
XPlanValidatorCLI: xplan-validator-cli/bin/XPlanValidator - Beschreibung der Funktionalität im Kapitel "XPlanValidatorCLI" des XPlanBenutzerhandbuchs.
-
XPlanTransformCLI: xplan-transform-cli/bin/XPlanTransformCLI - Beschreibung der Funktionalität im Kapitel "XPlanTransformCLI" des XPlanBenutzerhandbuchs.
-
XPlanValidateDB: xplan-validatedb-cli/bin/XPlanValidateDB - ermöglicht die semantische Validierung von bereits in die XPlanDB importierten Plänen. Der Aufruf des Tools mit
--help
liefert Hinweise zur Verwendung. -
XPlanAuswerteschemaCLI: xplan-evaluation-schema-synchronize-cli/bin/EvaluationSchemaSynchronizer - Beschreibung der Funktionalität im folgenden Kapitel XPlanAuswerteschemaCLI.
-
XPlanUpdateDatabaseCLI: xplan-update-database-cli/bin/databaseUpdate - wird für eine Aktualisierung des Datenbestands der xPlanBox benötigt, weitere Informationen befinden sich im Abschnitt Aktualisierung). Die Funktionen im Überblick:
-
xplan-update-database-cli/bin/districtUpdate - ermöglicht die Aktualisierung der in der Datenbank gespeicherten Ortsteilnamen. Der Aufruf des Tools mit
--help
liefert Hinweise zur Verwendung. -
xplan-update-database-cli/bin/reSynthesizer - ermöglicht die Aktualisierung der im XPlanSyn-Schema gespeicherten Daten. Der Aufruf des Tools mit
--help
liefert Hinweise zur Verwendung. -
xplan-update-database-cli/bin/serviceMetadataRecordCreator - erstellt Metadatensätze für den XPlanWerkWMS. Bei der Erstellung der Informationen für die Capabilities des XPlanWerkWMS werden dabei bereits vorhandene Informationen überschrieben. Generierte Service-Metadatensätze werden nicht überschrieben, sondern können anhand des Zeitstempels im Dateinamen dem Zeitpunkt der Erstellung zugeordnet werden. Es wird jedoch ein neuer FileIdentifier generiert. Der Aufruf des Tools mit
serviceMetadataRecordCreator --help
liefert Hinweise zur Verwendung.
-
XPlanAuswerteschemaCLI
Das Kommandozeilenwerkzeug XPlanAuswerteschemaCLI erzeugt ein weiteres Datenbankschema für die Auswertung und kann die Daten aus dem XPlanSyn-Schema der XPlanDB mit dem des Auswerteschemas synchronisieren. Das Auswerteschema unterscheidet sich zum XPlanSyn-Schema dadurch, dass die GML-Geometrien (wie z.B. Kreisbögen) wie im Original-XPlanGML zusätzlich zu den Simple Features Geometrien abgelegt sind.
Installation
Die Installation dieses Kommandozeilenwerkzeugs sowie das Anlegen des zusätzlichen Datenbankschemas ist optional. Für den Betrieb der xPlanBox sind diese nicht erforderlich. Das Datenbankschema für die Auswertung muss durch Ausführen der SQL-Skripte aus dem Ordner scripts/ angelegt werden. Folgende Reihenfolge muss beibehalten werden:
-
00_create_schema.sql
-
01_create_function.sql
-
02_create_tables.sql
-
03_create_trigger-function.sql
-
04_create_trigger.sql
Die Skripte erstellen eine Kopie der drei XPlanSyn-Schemas in den Schemas xplanevaluationxplansynpre, xplanevaluationxplansyn und xplanevaluationxplansynarchive sowie eine Log-Tabelle xplanevaluation.planTableLog.
Die Log-Tabelle wird beim Importieren, Editieren und Löschen von Plänen über den XPlanManager mit einer Historie der ausgeführten Operationen auf die einzelnen Pläne gefüllt und dient als Basis für die regelmäßige Synchronisierung des XPlanSyn-Schema und des Auswerteschemas.
Damit das Tool ausgeführt werden kann, muss GDAL installiert werden, wie in Kapitel Installation und Konfiguration von GDAL beschrieben.
Nutzung
Das CLI EvaluationSchemaSynchronizer unterstützt zwei Modi, die über die Option -t
aufgerufen werden können:
-
Option ALL zur Überführung aller Pläne aus dem XPlanSyn-Schema der xPlanBox in das Auswerteschema.
-
Option SYNC um die Synchronisierung der seit der letzten Ausführung des Werkzeuges geänderten Pläne aus dem XPlanSyn-Schema in das Auswerteschema durchzuführen.
Üblicherweise erfolgt zunächst einmalig die Ausführung der Option ALL und anschließend regelmäßig (z.B. mit Hilfe eines Cron-Jobs) die Option SYNC um einen tagesaktuellen Stand im Auswerteschema zu erreichen.
Die einzelnen Parameter des Werkzeuges können durch folgenden Aufruf abgerufen werden:
EvaluationSchemaSynchronizer -?
Beispiel für den Aufruf mit den Parametern -h
für den Hostnamen des PostgreSQL-Servers, -p
den Port, -d
der Datenbank, -u
dem Benutzer, -t
der Angabe zur Synchronisierung:
EvaluationSchemaSynchronizer -h localhost -p 5432 -d xplanbox -u postgres -w postgres -t ALL
4.3.4. Dokumentation
Das XPlanBenutzerhandbuch und XPlanBetriebshandbuch (s. Überblick der Installationskomponenten) zu den verschiedenen Komponenten der xPlanBox liegt in den Formaten HTML und PDF vor.
4.4. Konfiguration der Datenbank
Das Anlegen der Datenbank kann entweder über das XPlanManagerCLI oder manuell erfolgen. Beide Varianten sind in den folgenden Abschnitten beschrieben.
4.4.1. Initiales Aufsetzen der Datenbank über das XPlanManagerCLI
Für die Konfiguration der Datenbank-Anbindung muss die Datei xplan-manager-cli entpackt sein. Dabei spielt das Verzeichnis, in dem die Datei entpackt wurde, keine Rolle. Ist diese entpackt, kann die Datenbankerzeugung mittels des XPlanManagerCLI durchgeführt werden:
XPlanManager -createdb 'xplanbox' jdbc:postgresql://localhost:5432 -u postgres -p postgres
Informationen zu den Befehlen und der Erzeugung der Datenbank finden sich im Abschnitt XPlanManagerCLI im XPlanBenutzerhandbuch. |
Mit dem XPlanManagerCLI werden auch die Werte für die Datenbankverbindung im XPlanManagerWorkspace anhand der übergebenden Parameter gesetzt, so dass der XPlanManager nach Ausführung ohne manuelle Anpassungen auf die Datenbank zugreifen kann. Die Datenbankverbindungen in den XPlanDiensten müssen jedoch manuell angepasst werden. Betroffen sind folgende Dateien:
-
.deegree/xplan-manager-workspace/jdbc/xplan.xml
-
.deegree/xplan-wfs-workspace/jdbc/xplan.xml
-
.deegree/xplansyn-wfs-workspace/jdbc/xplan.xml
-
.deegree/xplansyn-wms-workspace/jdbc/xplan.xml
Dabei kann auf zwei verschiedene Arten vorgegangen werden:
-
Die Datei xplan.xml aus dem XPlanManger-Workspace .deegree/xplan-manager-workspace/jdbc/ wird kopiert und die bereits vorhandene Konfiguration damit überschrieben.
-
Alternativ ist auch eine direkte Anpassung in der bereits vorhandenen Datei xplan.xml möglich.
4.4.2. Manuelles Aufsetzen der Datenbank
Alternativ zum Aufsetzen über das XPlanManagerCLI kann die Datenbank auch manuell ausgeführt werden. Dafür müssen die folgenden Schritte ausgeführt werden:
-
Anlegen einer neuen Datenbank.
-
Installation der PostGIS-Erweiterung für die neue Datenbank.
-
Das SQL-Create-Skript create.sql aus dem Verzeichnis xplan-manager-workspace/sql in der neu angelegten Datenbank ausführen.
-
Anpassen der Datenbank-Verbindungen in den XPlanDiensten und im XPlanManagerWorkspace:
-
.deegree/xplan-manager-workspace/jdbc/xplan.xml
-
.deegree/xplan-wfs-workspace/jdbc/xplan.xml
-
.deegree/xplansyn-wfs-workspace/jdbc/xplan.xml
-
.deegree/xplansyn-wms-workspace/jdbc/xplan.xml
-
4.4.3. Manuelles Aufsetzen der Datenbank für die Bereitstellung von INSPIRE PLU
Für die Bereitstellung von Plänen, die vom XPlanManager verwaltet werden, als INSPIRE PLU konforme Datensätze ist eine weitere Datenbank erforderlich. Diese kann aktuell nur manuell aufgesetzt werden. Es müssen die folgenden Schritte ausgeführt werden:
-
Anlegen einer neuen Datenbank.
-
Installation der PostGIS-Erweiterung für die neue Datenbank.
-
Die folgenden SQL-Create-Skripte aus dem Verzeichnis xplan-manager-workspace/sql/inspireplu in der neu angelegten Datenbank ausführen (in dieser Reihenfolge):
-
04_create_inspireplu_schema.sql
-
05_create_inspireplu_view.sql
-
-
Anpassen der Datenbank-Verbindungen in den XPlanDiensten und im XPlanManagerWorkspace:
-
.deegree/xplan-inspireplu-workspace/jdbc/inspireplu.xml
-
.deegree/xplan-manager-workspace/jdbc/inspireplu.xml
-
4.4.4. Weiterführende Informationen zur Konfiguration des Datenbankzugriffs
In den Dateien xplan.xml werden die ConnectionsPools für den Zugriff auf die Datenbank konfiguriert. Diese beinhalten neben den Verbindungsdetails wie die URL, den Nutzernamen und das Passwort weitere Details, die ggf. bei einer Installation zu berücksichtigen sind. Darunter:
-
initialSize
: Die Anzahl der initialen Verbindungen, die beim Start geöffnet werden. -
maxActive
: Die maximale Anzahl von offenen Verbindungen die von Pool zeitgleich verwendet werden können. -
maxIdle
: Die maximale Anzahl der Verbindungen, die sich ungenutzt im Pool befinden können.
Da die Anzahl der zugelassenen Verbindungen des Datenbankservers begrenzt sein kann, ist es abhängig von der Installation der xPlanBox, der Anzahl der Nutzer und gegebenenfalls weiterer Faktoren sinnvoll, die vordefinierten Werte an die Installationsumgebung anzupassen.
Alternativ zur Konfiguration von ConnectionsPools für den Zugriff auf die Datenbank kann auch eine JNDI DataSource konfiguriert werden. Details hierzu befinden sich im Handbuch von deegree webservices.
4.5. Konfiguration der Applikationsserver
Wie im Abschnitt Anwendung installieren beschrieben, werden für den Betrieb aller Komponenten der xPlanBox getrennte Tomcat-Instanzen empfohlen, der Anwendungs-Tomcat, Dienste-Tomcat und API-Tomcat. Im Folgenden wird die Konfiguration der drei Tomcat-Instanzen beschrieben.
4.5.1. Anwendungs-Tomcat
Im Anwendungs-Tomcat muss folgende Konfiguration vorgenommen werden:
-
Für den XPlanManagerWeb muss die Variable XPLANBOX_CONFIG als Java Property gesetzt werden. Das mit Hilfe dieser Variable referenzierte Verzeichnis muss die Konfiguration des XPlanManagerWeb und XPlanValidatorWeb enthalten, mit den Dateien managerConfiguration.properties, managerWebConfiguration.properties und validatorConfiguration.properties. Wurde der Anleitung in Abschnitt Anwendung installieren gefolgt, befindet sich das Verzeichnis mit dem Namen xplan-manager-config im Verzeichnis .deegree im Home-Verzeichnis des Nutzers. Wird ausschließlich der XPlanValidatorWeb installiert, heißt das Verzeichnis xplan-validator-config.
-
Die Bibliothek JTS muss über die Variable
jts.overlay=ng
konfiguriert werden. -
Die Bibliothek deegree muss über die Variable
javax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl
konfiguriert werden.
Wurden die Workspaces nicht im Verzeichnis .deegree des Home-Verzeichnis abgelegt, ist das Setzen der Umgebungsvariable DEEGREE_WORKSPACE_ROOT zusätzlich erforderlich. |
Es wird empfohlen die Zeitzone im Anwendungs-Tomcat auf "Europe/Berlin" zu konfigurieren, wenn dies nicht bereits auf Ebene des Betriebssystems gesetzt ist. Andernfalls kann es beim Editieren eines Plans veränderten Datumsangaben (z. B. Herstellungsdatum) kommen. Für die Konfiguration im Tomcat muss folgende Option zusätzlich in den CATALINA_OPTS ergänzt werden: -Duser.timezone=Europe/Berlin .
|
Linux
Unter Linux muss im Verzeichnis <CATALINA_HOME>/bin der Instanz Anwendungs-Tomcat ggfs. eine neue Datei mit dem Namen setenv.sh angelegt werden.
In dieser Datei wird die Variable CATALINA_OPTS
wie folgt erweitert:
export CATALINA_OPTS='-DXPLANBOX_CONFIG=/home/xplanbox/.deegree/xplan-manager-config -DDEEGREE_WORKSPACE_ROOT=/pfad/zu/den/workspaces -Djts.overlay=ng -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl -Duser.timezone=Europe/Berlin'
Falls bereits ein Export von CATALINA_OPTS
in dieser Datei vorhanden ist, muss die Variable CATALINA_OPTS
erweitert werden.
Windows
Unter Windows muss im Verzeichnis <CATALINA_HOME>/bin der Instanz Anwendungs-Tomcat ggfs. eine neue Datei mit dem Namen setenv.bat angelegt werden.
In dieser Datei wird die Variable CATALINA_OPTS
wie folgt erweitert:
export CATALINA_OPTS='-DXPLANBOX_CONFIG=C:\.deegree\xplan-manager-config -DDEEGREE_WORKSPACE_ROOT=C:\pfad\zu\den\workspaces -Djts.overlay=ng -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl -Duser.timezone=Europe/Berlin'
Falls bereits ein Export von CATALINA_OPTS
in dieser Datei vorhanden ist, muss die Variable CATALINA_OPTS
erweitert werden.
Der Anwendungs-Tomcat muss mindestens über 4GB Arbeitsspeicher verfügen, dies kann durch Setzen der Umgebungsvariable: export JAVA_OPTS='-Xmx4096m' erfolgen.
|
4.5.2. Dienste-Tomcat
Falls der XPlanManager nach jedem Einfügen und Löschen eines Plan den XPlanWMS und XPlanWerkWMS aktualisieren soll, muss ein Tomcat-Nutzer angelegt werden. Ansonsten ist ein manueller Workspace-Reload nötig, um die neu importieren bzw. gelöschten Rasterpläne im XPlanWMS darzustellen bzw. zu entfernen.
Dafür müssen in der Datei <CATALINA_HOME>/conf/tomcat-users.xml der Instanz Dienste-Tomcat folgende Zeilen hinzugefügt werden:
<role rolename="deegree"/> <user username="<NUTZERNAME>" password="<PASSWORT>" roles="deegree"/>
Weitere Informationen zur Konfiguration von Benutzern ist in der Dokumentation von Apache Tomcat zu finden.
Der Nutzername und das Passwort müssen in die managerConfiguration.properties eingetragen werden (s. Kapitel Automatischer Workspace-Reload. |
Für den Dienste-Tomcat muss auch die Variable CATALINA_OPTS
wie folgt erweitert werden:
export CATALINA_OPTS='-DDEEGREE_WORKSPACE_ROOT=/pfad/zu/den/workspaces -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl'
Der Dienste-Tomcat muss ebenfalls mindestens über 4GB Arbeitsspeicher verfügen,
dies kann durch Setzen der Umgebungsvariable: export JAVA_OPTS='-Xmx4096m' erfolgen.
|
4.5.3. API-Tomcat
Für den API-Tomcat muss auch die Variable CATALINA_OPTS
wie auch für den Dienste-Tomcat wie folgt erweitert werden:
export CATALINA_OPTS='-DXPLANBOX_CONFIG=/home/xplanbox/.deegree/xplan-manager-config -DDEEGREE_WORKSPACE_ROOT=/pfad/zu/den/workspaces -Djts.overlay=ng -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl -Duser.timezone=Europe/Berlin'
Der API-Tomcat muss ebenfalls mindestens über 4GB Arbeitsspeicher verfügen,
dies kann durch Setzen der Umgebungsvariable: export JAVA_OPTS='-Xmx4096m' erfolgen.
|
4.5.4. Absicherung des Tomcat und der Webanwendungen
Wenn die xPlanBox in einer produktiven Umgebung betrieben wird, sollte der Apache Tomcat abgesichert werden. Dazu sind die allgemeinen Empfehlungen aus der Dokumentation von Apache Tomcat zum Thema Sicherheit zu beachten.
Zusätzlich sollte die xPlanBox wie folgt konfiguriert sein:
-
die deegree webservice console für die Dienste xplan-wms, xplan-wfs, xplansyn-wfs und xplan-inspireplu im Dienste-Tomcat ist durch ein Kennwort geschützt (Datei console.pw im deegree Workspace).
-
die deegree REST-Schnittstelle ist durch Benutzername und Kennwort abgesichert (Datei web.xml und tomcat-users.xml im Tomcat-Konfigurationsverzeichnis, siehe Kapitel Dienste-Tomcat).
-
der Zugriff auf die deegree webservice console ist auf IP-Adressbereiche bzw. Domänen eingeschränkt (Datei context.xml innerhalb der Webanwendungen).
-
die Tomcat-Instanzen werden hinter einem Proxy (z. B. Apache httpd) betrieben (Datei server.xml im Tomcat-Konfigurationsverzeichnis).
-
der Zugriff auf den XPlanManagerWeb ist durch Benutzername und Kennwort abgesichert (siehe Kapitel Absicherung des XPlanManagerWeb).
4.6. Installation und Konfiguration von GDAL
Die xPlanBox unterstützt die Darstellung von Rasterdaten über die GDAL-Bibliothek. Die GDAL Unterstützung ist optional, die Konfiguration im XPlanManager ist im Abschnitt GDAL beschrieben.
Der Zugriff auf die GDAL-Bibliothek erfolgt über die Schnittstelle (Java Native Interface) JNI. Je JVM kann die
GDAL-Bibliothek nur einmal geladen werden. Deswegen muss jede Webapp der
xPlanBox, die GDAL verwendet (xplan-wms und xplan-manager-web ), in einer
separaten Tomcat-Instanz installiert werden.
|
4.6.1. Linux
Für Ubuntu 20.04 (Focal) kann GDAL 3.0 aus einer Paketquelle installiert werden:
sudo apt-get install libgdal-java
Damit GDAL über die JNI-Schnittstelle angesprochen werden kann, muss die Umgebungsvariable zur GDAL-Bibliothek gesetzt werden, z. B.:
export LD_LIBRARY_PATH=/usr/lib/jni/
Die Umgebungsvariable LD_LIBRARY_PATH muss auf das Verzeichnis
zeigen, in dem sich die Datei libgdaljni.so befindet.
|
4.6.2. Windows
GDAL 3.0 für Windows kann bei GISInternals heruntergeladen werden. Die Version 3.0 befindet sich unter "Older Releases". Die Architektur der GDAL-Bibliothek (32bit oder 64bit) muss der Architektur von Java und dem Betriebssystem Windows entsprechen. Bei den Downloads sollten die kompilierten Binaries in einem einzelnen ZIP-Archiv gewählt werden (oberster Link).
Die MSVC-Version mit der GDAL kompiliert wurde, setzt die jeweilige
Version des Microsoft C/C Runtime Library (CRT) voraus. Ab der Version
MSVC 11.0 (1700) werden Windows XP and Windows Server 2003 nicht mehr
unterstützt. Die Version des Microsoft C/C Runtime Library (CRT) kann mit
dem Befehl cl abgefragt oder über die Windows Systemsteuerung angezeigt werden.
|
Dieses ZIP-Archiv kann an einem beliebigen Ort entpackt werden.
Unter Systemsteuerung→System und Sicherheit→System→Erweiterte Systemeinstellungen→Erweitert→Umgebungsvariablen müssen folgende Einstellungen vorgenommen werden:
-
Setzen der Variable
JAVA_HOME
mit der Referenz zur Java Installation (JDK), z. B.:C:\Program Files\Java\jdk-11.0.11
-
Setzen der Variable
GDAL_DATA
mit der Referenz auf den Ordner, der Datei "gcs.csv" enthält, z. B.:C:\Program Files (x86)\gdal\bin\gdal-data
-
Zur Umgebungsvariable PATH müssen zwei Pfade hinzugefügt werden (Annahme: Entpacktes ZIP-Archiv von GISInternals wurde genutzt):
<GDAL-INSTALLATIONSORDNER>\bin;<GDAL-INSTALLATIONSORDNER>\bin\gdal\java
4.7. Installation und Konfiguration von HALE CLI
Für die Transformation von Plänen aus dem XPlanGML-Datenformat in das INSPIRE Planned Land Use (PLU) Format sowie der Transformation von XPlanGML 4.1 nach 5.1 wird die Software HALE verwendet. Werden diese Transformationen nicht benötigt, dann ist die Installation des HALE CLI auch nicht erforderlich.
Für die Installation muss zunächst das HALE CLI 3.4.0 (ZIP-Datei) von der Projektseite auf GitHub https://github.com/halestudio/hale-cli heruntergeladen werden. Anschließend muss die Datei auf dem Server, auf dem XPlanManagerWeb, XPlanManagerAPI oder das XPlanTransform_CLI installiert wird, entpackt werden.
Die Version 3.4.0 des HALE CLI erfordert ein JDK 8 und kann nicht mit JDK 11 ausgeführt werden. Zusätzlich zu dem JDK 11, das für alle xPlanBox-Komponenten erforderlich ist (siehe Kapitel Java SE) muss ein JDK 8 installiert werden (Download von AdoptOpenJDK 1.8). |
Tragen Sie den Pfad zum Installationsverzeichnis des JDK unter Linux in die Datei hale unterhalb des Kommentarblocks wie folgt ein:
JAVA_HOME=/pfad/zum/jdk
Für das Betriebssystem Windows passen Sie die Datei hale.bat an und fügen unterhalb des Kommentarblocks folgende Zeile hinzu:
JAVA_HOME=LAUFWERK:/pfad/zum/jdk
Setzen Sie den Pfad zum JDK 1.8 nicht global mit export unter Linux bzw. set unter Windows, da sonst auch die Komponenten der xPlanBox mit dieser Java Version ausgeführt werden.
|
Die Konfiguration von HALE für die Verwendung in den Komponenten der xPlanBox ist im Kapitel Konfiguration von HALE beschrieben.
4.8. Anwendung starten
Zum Start der Web-Anwendungen müssen alle Instanzen des Applikationsservers gestartet werden. Dazu sei auf die jeweilige Dokumentation des verwendeten Applikationsserver verwiesen.
5. Konfiguration des XPlanManagerWeb
In den nachfolgenden Kapiteln wird die Konfiguration des XPlanManagerWeb erläutert:
5.1. Planliste
Die angezeigten Spalten der Planliste auf der Hauptseite können in der Datei <XPLANBOX_CONFIG>/managerWebConfiguration.properties konfiguriert werden.
Im folgenden Beispiel werden die Spalten 'Nummer' und 'Rechtsstand' aus der Planliste entfernt:
hiddenColumns=NUMBER,LEGISLATIONSTATUS
Mehrere Spalten müssen komma-separiert angegeben werden. Der folgenden Tabelle kann die Zuordnung des Spaltentitels und der Angabe in der Konfiguration entnommen werden:
Titel der Spalte in der Oberfläche | Angabe in der Konfiguration |
---|---|
Name |
NAME |
ID |
ID |
Nummer |
NUMBER |
Bezirk/Gemeinde |
COMMUNITY |
XPlanGML Version |
VERSION |
Planart |
TYPE |
sonstige Planart |
ADDITIONALTYPE |
Rechtsstand |
LEGISLATIONSTATUS |
Datum Veröffentlichung |
RELEASEDATE |
Datum Import |
IMPORTDATE |
Planstatus |
PLANSTATUS |
Gültigkeit |
VALIDITIYPERIOD |
5.2. Konfiguration von externen Codelisten
Externe Codelisten können im Verzeichnis <XPLANBOX_CONFIG>/synthesizer abgelegt werden. Dabei weist die Variable <XPLANBOX_CONFIG> auf das Verzeichnis, in dem sich die Dateien managerConfiguration.properties und managerWebConfiguration.properties befindet (s. auch Anwendungs-Tomcat). Dazu müssen für die Zuordnung zu dem Property im vereinfachten XPlanSyn Schema und dem komplexen XPlanGML Regeln konfiguriert werden. Die Regeln müssen abhängig von der XPlanGML-Version in einer der folgenden Dateien angelegt werden (die Dateinamen dürfen dabei nicht verändert werden):
-
xplan3.syn
-
xplan40.syn
-
xplan41.syn
-
xplan50.syn
-
xplan51.syn
-
xplan52.syn
-
xplan53.syn
-
xplan54.syn
Eine Zeile in diesen Dateien entspricht einer Regel. Beispiele für eine Regel:
# Beispiel 1: BP_BaugebietsTeilFlaeche/besondereArtDerBaulNutzung=xplanExternalCodeLookup(xpath('xplan:besondereArtDerBaulNutzung'), 'XP_BesondereArtDerBaulNutzung.xml') # Beispiel 2: BP_BaugebietsTeilFlaeche/besondereArtDerBaulNutzung=xplanExternalCodeLookup(xpath('xplan:besondereArtDerBaulNutzung'), 'XP_BesondereArtDerBaulNutzung.xml', 'XP_BesondereArtDerBaulNutzung')
Aufbau der Regel:
<XPATH_XPLANSYN>=xplanExternalCodeLookup(xpath('<PROPERTY_XPLAN_GML>'), '<CODELIST_DATEI>', '<CODELIST_NAME>')
Erläuterungen:
-
<XPATH_XPLANSYN>: XPath-Ausdruck im XPlan-Syn-Schema, in der der übersetze Code eingetragen werden soll.
-
<PROPERTY_XPLAN_GML>: Property im XPlan-GML-Schema.
-
<CODELIST_DATEI>: Relativer Pfad zur Codelist-Datei.
-
<CODELIST_NAME>: Optionale Angabe des Namens der Codeliste. Wird nur benötigt, wenn die mit <CODELIST_DATEI> angegebene Datei mehr als eine Codeliste enthält.
Änderungen an den Regel-Dateien sowie Codeliste-Dateien werden sofort wirksam. Sie gelten für den Import von Plänen und werden auch beim Editieren verwenden. Codes aus bereits importierten Plänen werden nicht neu übersetzt, für diese ist ein erneuter Import durchzuführen.
5.3. Kartenvorschau
Die nachfolgenden Konfigurationen müssen in der Datei <XPLANBOX_CONFIG>/managerWebConfiguration.properties angepasst werden.
5.3.1. XPlanWMS
Um den XPlanWMS zu konfigurieren, muss der Wert des Schlüssels wmsUrl angepasst werden. Über die Schlüssel vectorWmsName und rasterWmsName können die in der Kartenvorschau dargestellte Namen für Vektor- und Rasterlayer konfiguriert werden:
wmsUrl=http://<host>:<port>/xplan-wms/services vectorWmsName=XPlan-WMS: Vektorkarten rasterWmsName=XPlan-WMS: Rasterkarten wmsEndpoint=wms wmsPreEndpoint=wmspre wmsArchiveEndpoint=wmsarchive
Über die Schlüssel wmsEndpoint, wmsPreEndpoint und wmsArchiveEndpoint wird angegeben welcher XPlanWMS für die Kartenvorschau verwendet wird, wenn ein Plan 'In Aufstellung', 'Festgestellt' oder 'Archiviert' ist. Wird nur eine Datenhaltungskomponente verwendet, sollte die wmsUrl konfiguriert sein (mit einem '?' am Ende). Andernfalls wird bei Plänen mit dem Status 'Festgestellt' der mit dem Schlüssel wmsEndpoint konfigurierte Endpunkt an die WMS URL angehängt, bei Plänen mit dem Status 'In Aufstellung' der mit dem Schlüssel wmsPreEndpoint konfigurierte Endpunkt oder bei Plänen mit dem Status 'Archiviert' der mit dem Schlüssel wmsArchiveEndpoint konfigurierte Endpunkt.
Beispiel 1 - Konfiguration bei Verwendung einer Datenhaltungskomponente:
wmsUrl=http://<host>:<port>/xplan-wms/services[/wms]? vectorWmsName=XPlan-WMS: Vektorkarten rasterWmsName=XPlan-WMS: Rasterkarten wmsEndpoint= wmsPreEndpoint= wmsArchiveEndpoint=
Beispiel 2 - Konfiguration bei Verwendung von zwei Datenhaltungskomponenten:
wmsUrl=http://<host>:<port>/xplan-wms/services vectorWmsName=XPlan-WMS: Vektorkarten rasterWmsName=XPlan-WMS: Rasterkarten wmsEndpoint=wms wmsPreEndpoint=wmspre wmsArchiveEndpoint=wmsarchive
5.3.2. Hintergrundkarte
Um die Hintergrundkarte zu konfigurieren, muss der Wert des Schlüssels basemapUrl angepasst werden. Über den Schlüssel basemapName kann der in der Kartenvorschau dargestellte Name konfiguriert werden:
basemapUrl=http://<host>:<port>/basemap/service basemapName=Basiskarte
5.3.3. Koordinatensystem
Das Koordinatensystem, indem die Kartenvorschau angezeigt werden soll, kann über den Schlüssel mapCrs und dem dazugehörigen Wert konfiguriert werden:
mapCrs=epsg:25832
5.3.4. Kartenausschnitt
mapExtent=464540.516097552,4294418.79680585,760676.555028607,9320086.20690937
5.3.5. Ebenen
Die in der Kartenvorschau dargestellten Ebenen können ebenfalls über Schlüssel-Wert-Paare konfiguriert werden. Für die Hintergrundkarte wird der Schlüssel basemapLayer benötigt:
basemapLayer=Basemap
Des Weiteren können die Layer für die Bebauungspläne, Flächennutzungspläne, Landschaftspläne, Raumordnungspläne und sonstige raumbezogene Planwerke (Vektor- und Rasterlayer) einzeln in einer kommaseparierten Liste konfiguriert werden.
Vektorlayer:
bpLayer=BP_Planvektor fpLayer=FP_Planvektor lpLayer=LP_Planvektor rpLayer=RP_Planvektor soLayer=SO_Planvektor
Rasterlayer:
bpRasterLayer=BP_Planraster fpRasterLayer=FP_Planraster lpRasterLayer=LP_Planraster rpRasterLayer=RP_Planraster soRasterLayer=SO_Planraster
5.4. Standard-Koordinatenreferenzsystem (Import)
5.4.1. Vektordaten
Die nachfolgenden Konfigurationen müssen in der Datei <XPLANBOX_CONFIG>/managerWebConfiguration.properties angepasst werden.
Das Standard-Koordinatenreferenzsystem kann über den Schlüssel defaultCrs konfiguriert werden:
defaultCrs=EPSG:25832
Der Benutzer kann ein weiteres Koordinatenreferenzsystem aus einer Liste auswählen. Die Koordinatenreferenzsystem können über den Schlüssel chooseCrs konfiguriert werden:
chooseCrs=EPSG:4326,EPSG:25833,EPSG:31466,EPSG:31467,EPSG:31468,EPSG:31469
5.4.2. Rasterdaten
Die nachfolgende Konfiguration muss in der Datei <XPLANBOX_CONFIG>/managerConfiguration.properties angepasst werden.
Das Standard-Koordinatenreferenzsystem kann über den Schlüssel rasterConfigurationCrs konfiguriert werden:
rasterConfigurationCrs=epsg:25832
5.5. Verfahrensdatenbank
Die Verfahrensdatenbank kann in der Datei <XPLANBOX_CONFIG>/managerWebConfiguration.properties aktiviert oder deaktiviert werden: :
activateInternalIdDialog=[true|false]
Die Anfrage der Verfahrensdatenbank kann an den Aufbau der Datenbank angepasst werden. Dies erfolgt in der Datei managerConfiguration.properties:
workspaceName=xplan-manager-workspace jdbcConnectionId=vfdb internalIdLabel=verfahrensid internalNameLabel=verfahrensname selectMatchingIdsSql=SELECT verfahrensid, verfahrensname FROM planverfahren WHERE lower(verfahrensname) LIKE lower(?) ORDER BY verfahrensname ASC selectAllIdsSql=SELECT verfahrensid, verfahrensname FROM planverfahren ORDER BY verfahrensname ASC
Über die Schlüssel workspaceName und jdbcConnectionId wird der Workspace und die Id der Datei in der die Datenbank-Verbindung angepasst werden kann angegeben. Die Standardwerte können in den meisten Fällen übernommen werden.
Die Schlüssel internalIdLabel und internalNameLabel geben die Spalten an unter denen die Verfahrensid und der Verfahrensname adressiert werden. Diese müssen zwingend über die Schlüssel selectMatchingIdsSql und selectAllIdsSql konfigurierten SQL-Statments selektiert werden. Das SQL-Statment selectMatchingIdsSql erlaubt die Anfrage der Verfahren, die dem Plan über den Plan-Namen zugeordnet sind. Der Plan-Name wird an der Stelle des '?' eingesetzt. Das SQL-Statement selectAllIdsSql ermöglicht dagegen die Anfrage aller Verfahren.
Anforderungen an die Konfiguration im Überblick:
|
Die Datenbank-Anbindung kann in der Datei vfdb.xml im XPlanManagerWorkspace konfiguriert werden (der Name des workspaces und die ID der Konfigurationsdatei können wie zuvor beschrieben geändert werden):
<Property name="driverClassName" value="org.postgresql.Driver"/> <Property name="url" value="jdbc:postgresql://<host>:<port>/<dbname>"/> <Property name="username" value="postgres"/> <Property name="password" value="postgres"/> <Property name="maxActive" value="10"/>
5.6. Planstatus
Der Dialog zur Auswahl des Planstatus, in den ein Plan einsortiert werden soll, kann in der Datei <XPLANBOX_CONFIG>/managerWebConfiguration.properties aktiviert oder deaktiviert werden:
activateLegislationStatusDialog=[true|false]
5.7. Gültigkeitszeitraum
Der Dialog zur Angabe des Zeitraums, in dem ein Plan gültig ist, kann in der Datei <XPLANBOX_CONFIG>/managerWebConfiguration.properties aktiviert oder deaktiviert werden:
activateValidityPeriodDialog=[true|false]
Weiterhin muss die Auswertung des Gültigkeitszeitraums für Rasterdaten im XPlanWMSInAufstellung konfiguriert sein. Andernfalls werden die im Plan referenzierten Rasterdaten grundsätzlich angezeigt. Diese Option ist für den XPlanWMSInAufstellung implementiert und standardmäßig konfiguriert. Bei den anderen beiden Endpunkten (XPlanWMSFestgestellt und XPlanWMSArchiviert) erfolgt keine Auswertung des Gültigkeitszeitraums für Rasterdaten.
Dazu ist folgender Abschnitt in der Datei .deegree/xplansyn-wms-workspace/wmspre.xml vorhanden. Bei Bedarf kann dieser entfernt werden, wodurch auch für den XPlanWMSInAufstellung keine Auswertung des Gültigkeitszeitraums für Rasterdaten erfolgt. Anschließend ist ein Neustart des Applikationsservers erforderlich.
<wms:VisibilityInspector xmlns:wms="http://www.deegree.org/services/wms"> <wms:JavaClass>de.latlon.xplan.wms.visibility.PreValidityPeriodInspector</wms:JavaClass> <wms:CategoryLayerIdentifier>BP_Planraster</wms:CategoryLayerIdentifier> <wms:CategoryLayerIdentifier>bplanraster_sortiert</wms:CategoryLayerIdentifier> <wms:CategoryLayerIdentifier>FP_Planraster</wms:CategoryLayerIdentifier> <wms:CategoryLayerIdentifier>fplanraster_sortiert</wms:CategoryLayerIdentifier> <wms:CategoryLayerIdentifier>LP_Planraster</wms:CategoryLayerIdentifier> <wms:CategoryLayerIdentifier>lplanraster_sortiert</wms:CategoryLayerIdentifier> <wms:CategoryLayerIdentifier>RP_Planraster</wms:CategoryLayerIdentifier> <wms:CategoryLayerIdentifier>rplanraster_sortiert</wms:CategoryLayerIdentifier> <wms:CategoryLayerIdentifier>SO_Planraster</wms:CategoryLayerIdentifier> <wms:CategoryLayerIdentifier>soplanraster_sortiert</wms:CategoryLayerIdentifier> </wms:VisibilityInspector>
5.8. Editieren von Plänen
Die Möglichkeit Pläne zu editieren, kann in der Datei_<XPLANBOX_CONFIG>/managerWebConfiguration.properties_ aktiviert oder deaktiviert werden:
activateEditor=[true|false]
5.9. Filterkategorien
Filterkategorien können genutzt werden, damit ein Benutzer im XPlanManagerWeb die Anzeige der Pläne nach Gemeinden filtern kann. Dabei werden je Plan die Informationen aus dem Element XP_Gemeinde
ausgewertet.
Um den Filter nach Kategorien zu aktivieren, muss die Datei <XPLANBOX_CONFIG>/managerWebConfiguration.properties entsprechend angepasst werden.
5.9.1. Gemeinden
Der Filter je Gemeinde wird über das Element categoryFilterValues
aktiviert. Die Liste
der Gemeindenamen muss als kommaseparierte Liste angegeben werden. Dabei muss folgende Syntax beachtet werden:
categoryFilterValues=Gemeinde1,Gemeinde2
Beispiel für die Anzeige der Hamburger Bezirke als Auswahlelemente für die "Gemeindeauswahl" im XPlanManagerWeb:
categoryFilterValues=Altona,Bergedorf,Eimsb\u00fcttel,Hamburg-Mitte,Hamburg-Nord,Harburg,Wandsbek
Umlaute müssen in Unicode für Java codiert werden. Und Sonderzeichen wie z. B. Zeilenumbrüche müssen entfernt werden. |
5.9.2. Ortsteile
Jeder Gemeinde können mehrere Ortsteile über das Element categoriesToParts
in der Datei <XPLANBOX_CONFIG>/managerConfiguration.properties zugeordnet werden.
Dabei ist folgende Syntax zu beachten:
categoriesToParts=Gemeinde1(Ortsteil1,Ortsteil2);Gemeinde2(Ortsteil3,Ortsteil4)
Beispiel für die Zuordnung der Stadtteile Hamburgs zu den Bezirken:
categoriesToParts=Altona(Altona-Altstadt,Altona-Nord); Hamburg-Mitte(HafenCity,Hamburg-Altstadt,Neustadt,St.Georg,St.Pauli); Hamburg-Nord(Alsterdorf,Barmbek-Nord,Barmbek-S\u00FCd)
Umlaute müssen in Unicode für Java codiert werden. Und Sonderzeichen wie z. B. Zeilenumbrüche müssen entfernt werden. |
Im XPlanGML können mehrere Elemente des Typs <xplan:XP_Gemeinde/> angegeben werden (erfordert XPlanGML 4.0 oder aktueller). Aktuell wird bei mehreren Elementen nur das letzte Element ausgewertet! Beinhaltet dieses Element ein <xplan:ortsteilName/> dann können hier mehrere Ortsteilnamen kommasepariert angegeben werden. Die Zuordnung zu der Gemeinde erfolgt dann anhand des ersten Ortsteilnamens.
|
Um den Zugriff auf Pläne im XPlanManagerWeb anhand der Filterkategorien einzuschränken, muss zusätzlich der XPlanManagerWeb für den Rollen-basierten Zugriff (siehe Kapitel Absicherung mit LDAP) abgesichert werden.
5.10. Sortierung der Daten in der Visualisierung
Für die Sortierung von Plandaten im XPlanWMS nach einem Datumsfeld stehen alle Datumsfelder zur Verfügung. Welches Feld für die Sortierung verwendet wird, kann in der Datei <XPLANBOX_CONFIG>/managerConfiguration.properties konfiguriert werden.
Beispiel für eine Konfiguration mit unterschiedlichen Datumsfeldern je Planart:
wmsSortDate_BP_Plan_XPLAN_3=BP_Plan,inkrafttretensDatum wmsSortDate_BP_Plan_XPLAN_40=BP_Plan,inkrafttretensDatum wmsSortDate_BP_Plan_XPLAN_41=BP_Plan,inkrafttretensDatum wmsSortDate_BP_Plan_XPLAN_50=BP_Plan,inkrafttretensDatum wmsSortDate_BP_Plan_XPLAN_51=BP_Plan,inkrafttretensDatum wmsSortDate_BP_Plan_XPLAN_52=BP_Plan,inkrafttretensDatum wmsSortDate_FP_Plan_XPLAN_3=FP_Plan,wirksamkeitsDatum wmsSortDate_FP_Plan_XPLAN_40=FP_Plan,wirksamkeitsDatum wmsSortDate_FP_Plan_XPLAN_41=FP_Plan,wirksamkeitsDatum wmsSortDate_FP_Plan_XPLAN_50=FP_Plan,wirksamkeitsDatum wmsSortDate_FP_Plan_XPLAN_51=FP_Plan,wirksamkeitsDatum wmsSortDate_FP_Plan_XPLAN_52=FP_Plan,wirksamkeitsDatum wmsSortDate_RP_Plan_XPLAN_3=RP_Plan,datumDesInkrafttretens wmsSortDate_RP_Plan_XPLAN_40=RP_Plan,datumDesInkrafttretens wmsSortDate_RP_Plan_XPLAN_41=RP_Plan,datumDesInkrafttretens wmsSortDate_RP_Plan_XPLAN_50=RP_Plan,datumDesInkrafttretens wmsSortDate_RP_Plan_XPLAN_51=RP_Plan,datumDesInkrafttretens wmsSortDate_RP_Plan_XPLAN_52=RP_Plan,datumDesInkrafttretens wmsSortDate_LP_Plan_XPLAN_3= wmsSortDate_LP_Plan_XPLAN_40=LP_Plan,inkrafttretenDatum wmsSortDate_LP_Plan_XPLAN_41=LP_Plan,inkrafttretenDatum wmsSortDate_LP_Plan_XPLAN_50=LP_Plan,inkrafttretenDatum wmsSortDate_LP_Plan_XPLAN_51=LP_Plan,inkrafttretenDatum wmsSortDate_SO_Plan_XPLAN_50=SO_Plan,inkrafttretenDatum wmsSortDate_SO_Plan_XPLAN_51=SO_Plan,inkrafttretenDatum wmsSortDate_SO_Plan_XPLAN_52=SO_Plan,inkrafttretenDatum
Es müssen ggf. Zeilenumbrüche entfernt werden. |
Die Angabe eines Sortierfeldes kann für jeden Plan-Type und Plan-Version differenziert erfolgen und kann am Aufbau des Schlüsselnamens erkannt werden.
wmsSortDate_<TYP>_<VERSION>
Der Wert gibt immer den Namen des FeatureTypes sowie den Namen der Eigenschaft durch ein Komma separiert an.
<FEATURETYPE>,<PROPERTYNAME>
Wird kein Wert angegeben, oder fehlt ein Eintrag vollständig, kann für die Version/den Typ keine Zuordnung gefunden werden. Das Datumsfeld bleibt leer.
Eine Änderung dieser Konfiguration während des laufenden
Betriebs führt zu unterschiedlichen Grundlagen der Sortierung. Über die
Option updatewmssortdate des XPlanManagerCLI kann die Änderung für bereits importierte Daten nachgezogen werden. Der Aufruf des XPlanManagerCLI ist im entsprechenden Kapitel des XPlanBenutzerhandbuchs beschrieben.
|
5.11. Automatischer Workspace-Reload
Der XPlanManager kann nach jedem Import, jeder Aktualisierung und jedem Löschvorgang automatisch einen Workspace-Reload des XPlanWMS/XPlanWerkWMS anstoßen. Dadurch werden neu importierte, editierte und gelöschte Rasterpläne sofort im WMS aktualisiert.
In der Datei <XPLANBOX_CONFIG>/managerConfiguration.properties müssen folgende Felder gefüllt werden:
workspaceReloadUrls=<XPLANWMS-URLS> workspaceReloadUser=<TOMCAT-NUTZERNAME> workspaceReloadPassword=<TOMCAT-PASSWORT>
Es können mehrere URLs kommasepariert eingetragen werden, für den Fall das der XPlanWMS/XPlanWerkWMS dupliziert wurde. In dem Fall wird für alle eingetragenen Dienste ein Reload durchgeführt.
workspaceReloadUrls=http://server1/xplan-wms/,http://server2/xplan-wms/
Wichtig! Alle Dienste müssen über die gleiche Nutzer/Passwort-Kombination angesprochen werden können. |
5.12. GDAL
Die GDAL Unterstützung erfordert die Installation von GDAL, diese ist im Abschnitt Installation Installation und Konfiguration von GDAL beschrieben.
Um die GDAL Unterstützung zu aktivieren, muss die GDAL-Hauptkonfiguration erzeugt werden. Dazu wird im Root-Ordner des Workspaces xplansyn-wms-workspace eine Datei mit dem Namen gdal.xml und mit folgendem Inhalt abgelegt:
<GDALSettings configVersion="3.4.0" xmlns="http://www.deegree.org/gdal" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.deegree.org/gdal http://schemas.deegree.org/commons/gdal/3.4.0/gdal.xsd"> <OpenDatasets>5</OpenDatasets> </GDALSettings>
Damit beim Import von Rasterdaten eine GDAL Konfiguration erzeugt wird, muss in der Datei <XPLANBOX_CONFIG>/managerConfiguration.properties die folgende Option aktiviert sein:
#must be gdal or geotiff, default is gdal rasterConfigurationType=gdal
Ist die GDAL-Bibliothek nicht installiert, kann stattdessen der Konfigurationstyp für das GeoTiff Format konfiguriert werden:
#must be gdal or geotiff, default is gdal rasterConfigurationType=geotiff
Der xplansyn-wms-workspace wird mit einer Dummy-Konfiguration eines GDAL-Rasterlayers ausgeliefert. Liegen zunächst keine Daten vor, kann dieser aktiviert werden, um Fehler nach dem ersten Import eines Plans mit Rasterdaten zu vermeiden. Dazu muss in den Theme-Konfigurationen unter themes in allen Dateien, die mit raster.xml enden, die folgende Zeile auskommentiert werden:
<Layer layerStore="dummyrasterlayer">dummyraster</Layer>
5.13. Absicherung des XPlanManagerWeb
Der Zugriff auf die Komponente XPlanManagerWeb kann mittels Spring Security über BASIC-Authentication abgesichert werden.
Dabei stehen drei verschiedene Konfigurationsvarianten zur Verfügung:
-
Datei-basierte Benutzerverwaltung (siehe Einfache Absicherung mit Spring Security)
-
Datenbank-basierte Benutzerverwaltung (siehe Absicherung mit Datenbank)
-
Anbindung an ein LDAP bzw. Microsoft Active Directory (AD) Server (siehe Absicherung mit LDAP)
5.13.1. Absicherung aktivieren
Um die Absicherung des XPlanManagerWeb zu aktivieren, muss folgende Änderung in dem Deployment-Deskriptor WEB-INF/web.xml der Webanwendung xplan-manager-web.war vorgenommen werden.
Der Spring Security Servlet-Filter muss hinzugefügt werden:
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Diese Konfiguration ist für alle drei Varianten erforderlich! Wenn der Servlet-Filter aktiviert ist, muss zusätzlich noch eine der drei Varianten konfiguriert werden. Wie die Absicherung deaktiviert werden kann, ist in Absicherung deaktivieren beschrieben. |
Weitere Informationen zur Absicherung mit Spring Security sind Online in der Referenzdokumentation von Spring Security zu finden:
5.13.2. Rollenbasierter Zugriff
Hat sich ein Benutzer erfolgreich am XPlanManager angemeldet, dann wird über ein rollenbasiertes Berechtigungskonzept entschieden, welche Funktionen der Benutzer im XPlanManager ausführen darf. Dabei werden folgende drei Rollen vom XPlanManager ausgewertet:
-
SUPERUSER: Hat alle Berechtigungen (Schreib- und Leseberechtigung) für alle Pläne
-
EDITOR: Hat alle Berechtigungen (Schreib- und Leseberechtigung) für die Pläne einer Organisationseinheit (z.B. einer Kommune oder eines Bezirks)
-
USER: Hat nur Leseberechtigung für alle Pläne
Weitere Informationen zu den Rollen und Berechtigungen stehen im Kapitel Rollen und Gruppen konfigurieren.
5.13.3. Einfache Absicherung mit Spring Security
Steht keine Datenbank oder ein LDAP mit Benutzerinformationen zur Verfügung, dann kann die Absicherung über einen UserService von Spring Security erfolgen, dessen Konfiguration aus der Konfigurationsdatei security-simple.xml ausgelesen wird.
Die Vorgabewerte für die beiden vorkonfigurierten Benutzer "admin" (Rolle SUPERUSER) und "guest" (Rolle USER) sind in der Konfigurationsdatei WEB-INF/classes/security.properties gesetzt.
Um die Absicherung zu aktivieren ist neben der Konfiguration des Spring Security Servlet-Filter wie oben in Absicherung aktivieren beschrieben folgende Anpassungen im Deployment-Deskriptor WEB-INF/web.xml notwendig:
Austauschen der Konfiguration:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>de.latlon.xplan.manager.web.spring.config.ManagerWebSpringConfig</param-value>
</context-param>
durch:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>de.latlon.xplan.manager.web.spring.config.ManagerWebSpringConfigWithSimpleSecurity</param-value>
</context-param>
Bei dieser Variante der Absicherung werden Gruppenhierarchien (siehe Kapitel Gruppenhierarchien) nicht unterstützt. |
5.13.4. Absicherung mit Datenbank
Wie bei der einfachen Absicherung wird als Datenquelle für die Benutzerinformationen ein UserService von Spring Security verwendet. Der Unterschied ist, dass statt einer Datei eine Datenbank verwendet wird. Auch hier muss zuerst der Spring Security Servlet-Filter (siehe Absicherung aktivieren) und die Konfiguration (siehe Einfache Absicherung mit Spring Security) aktiviert werden.
In der Datei security-simple.xml muss statt dem Datei-basierten der Datenbank-basierte UserService konfiguriert werden.
Austauschen der Konfiguration:
<security:user-service>
<security:user name="${simple.user.username}" password="${simple.user.password}" authorities="ROLE_XPLAN_SUPERUSER" />
<security:user name="${simple.guest.username}" password="${simple.guest.password}" authorities="ROLE_XPLAN_USER" />
</security:user-service>
durch:
<security:jdbc-user-service data-source-ref="dataSource"/>
Die Datenbankverbindung mit dem Bezeichner datasource muss zusätzlich in der Datei security-simple.xml ergänzt werden. Weitere Informationen und Beispiele sind in der Referenzdokumentation von Spring Security zu finden. Auch diese Variante unterstützt keine Gruppenhierarchien (siehe Kapitel Gruppenhierarchien). |
Die Konfiguration eines UserService mit allen Optionen ist auch in der Referenzdokumentation von Spring Security beschrieben:
5.13.5. Absicherung mit LDAP
Wenn zur Authentifizierung eines Benutzers ein LDAP bzw. Microsoft Active Directory (AD) Server verwendet werden soll, dann muss wie oben in Absicherung aktivieren beschrieben zuerst der Spring Security Servlet-Filter aktiviert werden. Neben den Informationen zur Authentifizierung können über LDAP auch Autorisierungsinformationen wie Rollen- und Gruppenzugehörigkeiten abgerufen werden. Nur mit dieser Variante der Absicherung können Gruppenhierarchien (siehe Kapitel Gruppenhierarchien) abgebildet werden.
Im Deployment-Deskriptor WEB-INF/web.xml muss folgende Änderung vorgenommen werden:
Austauschen der Konfiguration:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>de.latlon.xplan.manager.web.spring.config.ManagerWebSpringConfig</param-value>
</context-param>
durch:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>de.latlon.xplan.manager.web.spring.config.ManagerWebSpringConfigWithAdLdapSecurity</param-value>
</context-param>
Verbindung zu LDAP Server konfigurieren
Die Verbindung zum LDAP bzw. AD Server kann in der Webapp des XPlanManagers in der Datei WEB-INF/classes/security.properties konfiguriert werden.
Beispiel für die Konfiguration:
ldap.server.domain=adserver.domain ldap.server.url=ldap://adserver:389 ldap.server.searchUser=user ldap.server.searchPassword=password ldap.server.searchNode=OU=xplanisk,DC=adserver,DC=domain
In der Datei muss neben der Adresse und der Domain des AD ein (technischer) Nutzer konfiguriert werden, der lesenden
Zugriff auf das AD hat (ldap.server.searchUser und ldap.server.searchPassword). Mit dem
Schlüssel ldap.server.searchNode wird die Organisationseinheit mit OU
,
und die Domänen Komponenten mit DC
in kommaseparierter Form angegeben.
Weiterhin kann in dieser Datei die Konfiguration für das dynamische Auslesen der Gruppenhierarchien erfolgen. Dies ist lediglich nötig, wenn dynamische Gruppenhierarchien genutzt werden (siehe Gruppenhierarchien).
Weitere Informationen zur LDAP/AD-Anbindung in der Referenzdokumentation von Spring Security im Kapitel:
Rollen und Gruppen konfigurieren
Die Konfiguration der Superuser-, der Editor- und der Active Directory-Gruppen mit den dazugehörigen Organisationseinheiten (wie z. B. einer Kommune oder eines Bezirks), auf die diese Gruppen zugreifen dürfen, erfolgt in der Datei WEB-INF/classes/security-configuration.xml.
Konfigurationsbeispiel:
<util:list id="groupsSuper" value-type="java.lang.String">
<beans:value>SUPER</beans:value>
</util:list>
<util:list id="groupsEditor" value-type="java.lang.String">
<beans:value>EDITOR</beans:value>
</util:list>
<util:map id="groupsTodistricts" key-type="java.lang.String" value-type="java.util.List">
<beans:entry key="ALTONA" value-ref="districtsAltona" />
<beans:entry key="HARBURG" value-ref="districtsHarburg" />
<beans:entry key="HAMBURGNORD" value-ref="districtsHamburgNord" />
</util:map>
<util:list id="districtsAltona" value-type="java.lang.String">
<beans:value>Altona</beans:value>
</util:list>
<util:list id="districtsHarburg" value-type="java.lang.String">
<beans:value>Harburg</beans:value>
</util:list>
<util:list id="districtsHamburgNord" value-type="java.lang.String">
<beans:value>Hamburg-Nord</beans:value>
</util:list>
<beans:bean id="grantedAuthoritiesMapper"
class="de.latlon.xplan.manager.web.spring.security.ActiveDirectoryGrantedAuthoritiesMapper">
<beans:constructor-arg index="0">
<beans:ref bean="groupsSuper" />
</beans:constructor-arg>
<beans:constructor-arg index="1">
<beans:ref bean="groupsEditor" />
</beans:constructor-arg>
<beans:constructor-arg index="2">
<beans:ref bean="groupsTodistricts" />
</beans:constructor-arg>
<beans:constructor-arg index="3">
<beans:ref bean="roleHierarchy" />
</beans:constructor-arg>
</beans:bean>
Details zur Konfiguration:
-
Die Liste groupsSuper (im Beispiel mit SUPER konfiguriert) stellt eine Liste aller Superuser-Gruppen dar. Ein Nutzer, der einer Superuser-Gruppe zugeordnet ist, hat keinerlei Beschränkungen bei der Nutzung des XPlanManagerWeb.
-
Die Liste groupsEditor (im Beispiel mit EDITOR konfiguriert) stellt eine Liste aller Editor-Gruppen dar. Wenn ein Nutzer einer Editor-Gruppe zugeordnet ist, kann dieser alle Pläne aus Bezirken editieren, für die der Nutzer Rechte hat (siehe nächste Zeile).
-
Die Map groupsTodistricts (im Beispiel mit ALTONA, HARBURG und HAMBURGNORD konfiguriert) muss eine Active Directory-Gruppe als Key erhalten und als Value eine Liste aller Bezirke, auf welche die Gruppe zugreifen darf. Ein Nutzer, der einer oder mehrerer dieser Gruppen zugeordnet ist, besitzt alle Rechte für die den Bezirken zugeordneten Plänen.
-
Die Listen der Bezirke groupsTodistricts (im Beispiel mit Altona, Harburg und Hamburg-Nord konfiguriert) stellen eigene Spring-Beans dar und werden von der zuvor beschriebenen Map referenziert.
-
Der grantedAuthoritiesMapper nutzt die zuvor konfigurierten Gruppen- und Rollenzuordnungen. Diese Bean muss nicht manipuliert werden! Die Konfiguration sollte lediglich modifiziert werden, wenn Gruppenhierarchien deaktiviert werden sollen (dazu mehr im nächsten Abschnitt).
Achtung - In der obigen Beispielkonfiguration wird eine Gruppenhierarchie genutzt. Der nächste Absatz muss zwingend beachtet werden. |
Gruppenhierarchien
Es können Gruppenhierarchien konfiguriert werden, um hierarchische Abhängigkeiten zwischen Gruppen abzubilden. So kann eine Gruppe Mitglied einer anderen Gruppe sein und dabei die Eigenschaften der übergeordneten Gruppe übernehmen.
Beispiel: Gruppe "Hamburg" ist Mitglied der Gruppe "Editor". Dadurch hat die Gruppe "Hamburg" die Eigenschaften von "Hamburg" und "Editor". Die Gruppe "Editor" hat dagegen lediglich die Eigenschaften von "Editor".
Details zur Konfiguration:
-
Das als viertes Konstruktorargument übergebene Argument der Bean grantedAuthoritiesMapper (siehe vorheriges Konfigurationsbeispiel) muss der Gruppenhierarchie entsprechen. Dies kann wie im folgenden Beispiel 1 in der Konfiguration direkt erfolgen (das Beispiel konfiguriert HARBURG als Mitglied der Gruppe EDITOR) oder von der Anwendung aus dem ActiveDirectory ausgelesen werden, wie im folgenden Beispiel 2 gezeigt.
-
Sind keine Gruppenhierarchien vorhanden, muss das vierte Konstruktorargument entfernt werden (dies sollte der einzige Fall sein, in dem der grantedAuthoritiesMapper manipuliert wird).
-
Falls eine dynamische Rollenhierarchie wie in Beispiel 2 genutzt wird, müssen in der Datei WEB-INF/classes/security.properties zwingend der searchUser, das searchPassword und der searchNode angegeben werden (siehe weiter oben).
Beispiel 1 - Konfiguration einer statischen Rollenhierarchie:
<beans:bean id="roleHierarchy" class="org.springframework.security.access.hierarchicalroles.RoleHierarchyImpl">
<beans:property name="hierarchy">
<beans:value>
HARBURG > EDITOR
</beans:value>
</beans:property>
</beans:bean>
Beispiel 2 - Konfiguration einer dynamischen Rollenhierarchie:
<beans:bean id="roleHierarchy" class="org.springframework.security.access.hierarchicalroles.RoleHierarchyImpl">
<beans:property name="hierarchy">
<beans:bean factory-bean="roleHierarchyScanner" factory-method="retrieveRoleHierarchy" />
</beans:property>
</beans:bean>
<beans:bean id="roleHierarchyScanner"
class="de.latlon.xplan.manager.web.spring.security.ActiveDirectoryRoleHierarchyScanner">
<beans:constructor-arg index="0" value="${ldap.server.url}" />
<beans:constructor-arg index="1" value="${ldap.server.domain}" />
<beans:constructor-arg index="2" value="${ldap.server.searchUser}" />
<beans:constructor-arg index="3" value="${ldap.server.searchPassword}" />
<beans:constructor-arg index="4" value="${ldap.server.searchNode}" />
<beans:constructor-arg index="5">
<beans:ref bean="groupsSuper" />
</beans:constructor-arg>
<beans:constructor-arg index="6">
<beans:ref bean="groupsEditor" />
</beans:constructor-arg>
<beans:constructor-arg index="7">
<beans:ref bean="groupsTodistricts" />
</beans:constructor-arg>
</beans:bean>
Weitere Informationen zur Konfiguration von Spring und Spring Security sind in der Online Dokumentation zu finden:
Sowohl die dynamische als auch die statische Gruppenhierarchie wird während des Starts der Webapp einmalig ausgewertet. Wenn es zur Laufzeit Änderungen an den Hierarchien gibt, muss die Webapp neu gestartet werden, damit die Änderungen von der Software erkannt und ausgewertet werden können. |
5.13.6. Absicherung deaktivieren
Um die Absicherung zu deaktivieren, muss der im Abschnitt Absicherung aktivieren genannte Servlet-Filter aus der Datei web.xml entfernt und die Spring Konfiguration de.latlon.xplan.manager.web.spring.config.ManagerWebSpringConfig
eingebunden werden.
5.14. Konfiguration von HALE
Voraussetzung für die Bereitstellung von Pläne im INSPIRE Datenthema Planned Land Use (PLU) bereitzustellen (s. Bereitstellung als INSPIRE PLU) oder Transformation von Plänen im XPlanGML 4.1 nach XPlanGML 5.1 (s. XPlanTransformCLI) ist die Installation des HALE CLI wie im Abschnitt Installation und Konfiguration von HALE CLI beschrieben.
Um dem XPlanManager die Nutzung des HALE CLI zu ermöglichen, muss in der Datei <XPLANBOX_CONFIG>/managerConfiguration.properties der Pfad zu dem Startskript bzw. der Batch-Datei angegeben werden:
#The absolute path to the HALE CLI used to transform XPlanGML to INSPIRE PLU pathToHaleCli=/hale/bin/hale
Unter Linux heisst die Datei hale unter dem Betriebssystem Windows hale.bat. |
5.15. Bereitstellung als INSPIRE PLU
Die xPlanBox bietet die Möglichkeit die vom XPlanManager verwalteten Pläne im Datenthema Planned Land Use (PLU) bereitzustellen. Voraussetzung ist die erfolgreiche Installation und Konfiguration des HALE CLI wie im Abschnitt Konfiguration von HALE beschrieben.
Um dem Nutzer des XPlanManagerWebs die Veröffentlichung von Plänen in INSPIRE PLU zu erlauben, muss zusätzlich in der Datei <XPLANBOX_CONFIG>/managerWebConfiguration.properties diese Option aktiviert werden:
activatePublishingInspirePlu=[true|false]
5.16. Massstabsbereich
Für die Rasterdaten empfiehlt es sich, einen Massstabsbereich anzugeben, in dem diese durch den XPlanWMS und XPlanWerkWMS angezeigt werden.
Der Massstabsbereich kann in der Datei <XPLANBOX_CONFIG>/managerConfiguration.properties konfiguriert werden. Sollen die Rasterdaten beispielsweise im Massstabsbereich 1 : 100 bis 1 : 50.000 angezeigt werden, ist folgendes zu konfigurieren:
rasterLayerMinScaleDenominator=100 rasterLayerMaxScaleDenominator=50000
Der Massstabsbereich wird direkt in die generierte deegree Konfiguration geschrieben. Somit wirkt sich eine solche Konfiguration nur auf neu importierte Rasterdaten aus. Auf alle bereits importierten Pläne hat diese Konfigurationsoption keine Auswirkungen. |
5.17. Konfiguration der automatisierten Erstellung von Service-Metadatensätzen
Die xPlanBox bietet die Möglichkeit einen Service-Metadatensatz für einen Plan bzw. den dazugehörigen XPlanWerkWMS automatisiert zu erstellen. Voraussetzung dafür ist, dass für den Plan bereits ein Datensatz-Metadatensatz in einen Metadatenkatalog (CSW) vorhanden ist. Um diese Funktion zu aktivieren, muss die Konfiguration in der Datei <XPLANBOX_CONFIG>/managerConfiguration.properties angepasst werden. Im Folgenden der relevante Abschnitt:
#Daten-Dienste-Kopplung planWerkWmsBaseUrl=http://localhost:8083/xplan-planwerk-wms/ planWerkWmsGetMapLayers_BP_Plan=BP_Planvektor planWerkWmsGetMapStyles_BP_Plan= planWerkWmsGetMapLayers_FP_Plan=FP_Planvektor planWerkWmsGetMapStyles_FP_Plan= planWerkWmsGetMapLayers_RP_Plan=RP_Planvektor planWerkWmsGetMapStyles_RP_Plan= planWerkWmsGetMapLayers_LP_Plan=LP_Planvektor planWerkWmsGetMapStyles_LP_Plan= planWerkWmsGetMapLayers_SO_Plan=SO_Planvektor planWerkWmsGetMapStyles_SO_Plan= planWerkWmsGetMapWidth=750 planWerkWmsGetMapHeight=750 cswUrlProvidingDatasetMetadata=https://metaver.de/csw?SERVICE=CSW&REQUEST=GetCapabilities #the directory must be existing and writeable directoryToStoreMetadata=/tmp/
Erläuterung der einzelnen Properties:
-
planWerkWmsBaseUrl: Die öffentliche Basis-URL des XPlanWerkWMS, z. B. http://xplanbox.lat-lon.de/xplan-wms/
-
planWerkWmsGetMapLayers_BP_Plan und planWerkWmsGetMapStyles_BP_Plan: Angabe der zu verwendenen Layer und Styles, die in der GetMap Anfrage (GraphicOverview) angegeben werden sollen
-
planWerkWmsGetMapWidth und planWerkWmsGetMapHeight: Angabe der zu verwendenden Höhe und Breite des Kartenbildes in Pixeln, die in der GetMap Anfrage (GraphicOverview) angegeben werden sollen
-
cswUrlProvidingDatasetMetadata: GetCapabilities URL des CSW, der Daten-Metadatensätze zu einem Plan bereitstellt
-
directoryToStoreMetadata: Verzeichnis in dem die erstellten Service-Metadatensätze abgelegt werden (das Verzeichnis muss beim Start des Tomcat-Servers, in dem sich die xplanwebapp-manager-web befindet, existieren). Unter Windows muss das Zeichen "\" als Pfad-Trennzeichen verwendet werden (z. B. "C:\tmp\").
Weiterhin muss im Verzeichnis <XPLANBOX_CONFIG>/metadata die Datei service-iso-metadata-template.xml liegen (zum Zeitpunkt des Start des Tomcat-Servers in dem sich die xplanwebapp-manager-web befindet). Diese Datei dient als Template für die vom System zu erstellenden Service-Metadatensätze. Folgende Platzhalter werden bei der Erstellung des Service-Metadatensatz durch entsprechende Werte zur Laufzeit durch das System ausgetauscht und können im Template verwendet werden:
-
METADATA_ID: Generierte UUID als FileIdentifier für den generierten Metadatensatz
-
CURRENT_DATE: Aktuelles Datum
-
CURRENT_DATE_TIME: Aktuelles Datum und Uhrzeit
-
TITLE: Titel des WMS
-
ABSTRACT: Beschreibung des Plans
-
PLANWERKWMS_OVERVIEW: Generierte GetMap-URL des XPlanWerkWMS mit dem Geltungsbereich des Planwerks
-
WEST_BOUND_LONG, EAST_BOUND_LONG, SOUTH_BOUND_LAT, NORTH_BOUND_LAT: räumlicher Geltungsbereich des Plans
-
DATA_METADATA_RESOURCEIDENTIFIER: GetRecordById-URL zur Abfrage des Daten-Metadatensatz (generiert aus dem FileIdentifier des Daten-Metadatensatz)
-
DATA_METADATA_FILEIDENTIFIER: ResourceIdentifier aus dem Daten-Metadatensatz
-
PLANWERKWMS_CAPABILITIES: Generierte GetCapabilities-URL des XPlanWerkWMS
5.17.1. Abfrage der Datensatz-Metadaten
Die Abfrage des Daten-Metadatensatzes erfolgt mit Hilfe des Plannamens aus dem XPlanGML. Im Folgenden ist die CSW GetRecords-Anfrage dokumentiert, mit der die Metadaten abgerufen werden:
<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" xmlns:ogc="http://www.opengis.net/ogc" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:apiso="http://www.opengis.net/cat/csw/apiso/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" service="CSW" version="2.0.2" maxRecords="1" startPosition="1" resultType="results" outputFormat="application/xml" outputSchema="http://www.isotc211.org/2005/gmd" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd"> <csw:Query typeNames="gmd:MD_Metadata"> <csw:ElementSetName typeNames="gmd:MD_Metadata">full</csw:ElementSetName> <csw:Constraint version="1.1.0"> <ogc:Filter> <ogc:PropertyIsEqualTo> <ogc:PropertyName>apiso:AlternateTitle</ogc:PropertyName> <ogc:Literal>PLANNAME</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> </csw:Constraint> </csw:Query> </csw:GetRecords>
Werden mehrere Datensätze gefunden, wird nur einer verwendet (maxRecords="1" ). Es wird eine Warnung im Log ausgegeben.
5.17.2. Erzeugung der Service-Metadaten
Der Service-Metadatensatz wird beim Import eines Plans über den XPlanManager erzeugt und im Dateisystem abgelegt. Ändert ein Benutzer den Plannamen oder die Beschreibung über die Änderungsfunktion des XPlanManager, dann wird ebenfalls ein neuer Service-Metadatensatz erstellt.
Um die erstellten Service-Metadatensätze in einen Metadatenkatalog zu übernehmen, müssen diese entweder über die Harvest-Funktion des CSW oder über die CSW-Transaction Insert-Operation in den Metadatenkatalog übernommen werden. Die Funktion für die Übernahme der Service-Metadaten ist nicht Teil der xPlanBox und ist abhängig vom Funktionsumfang des Metadatenkatalogs. |
5.18. XPlanRessourcen
Die Einstiegsseite der Komponente XPlanRessourcen enthält Referenzen zu den anderen Komponenten der xPlanBox, die Referenzen müssen ggf. an die Umgebung der Installation angepasst werden. In der Datei index.html müssen die URLs zu den XPlanDiensten modifiziert werden:
-
http://localhost:8080/xplan-wms/services/wms?service=WMS&request=GetCapabilities
-
http://localhost:8080/xplansyn-wfs/services/xplansynwfs?service=WFS&request=GetCapabilities
-
http://localhost:8080/xplan-wfs/services/wfs30?service=WFS&request=GetCapabilities
-
http://localhost:8080/xplan-wfs/services/wfs40?service=WFS&request=GetCapabilities
-
http://localhost:8080/xplan-wfs/services/wfs41?service=WFS&request=GetCapabilities
-
http://localhost:8080/xplan-wfs/services/wfs50?service=WFS&request=GetCapabilities
-
http://localhost:8080/xplan-wfs/services/wfs51?service=WFS&request=GetCapabilities
-
http://localhost:8080/xplan-wfs/services/wfs52?service=WFS&request=GetCapabilities
Weiterhin kann es notwendig sein, die relativ angegeben Referenzen zu den Komponenten XPlanManagerWeb und XPlanValidatorWeb sowie dem XPlanBenutzerhandbuch und dem XPlanBetriebshandbuch anzupassen.
6. Konfiguration des XPlanValidatorWeb
In den nachfolgenden Kapiteln wird die Konfiguration des XPlanValidatorWeb erläutert:
6.1. Kartenvorschau im XPlanValidatorWeb
Die nachfolgende Konfiguration muss in der Datei <XPLANBOX_CONFIG>/validatorConfiguration.properties angepasst werden.
Um die Kartenvorschau im XPlanValidatorWeb zu aktivieren, muss die URL des XPlanValidatorWMS konfiguriert werden:
validatorWmsEndpoint=http://<host>:<port>>/xplan-validator-wms/services/wms
Um die Hintergrundkarte der Kartenvorschau anzupassen, ist die Anpassung einer Datei im xplan-validator-web.war erforderlich.
Der Inhalt der anzupassende Datei services-internet.template.json ist im Folgenden dargestellt:
/*- * #%L * xplan-betriebshandbuch - Betriebshandbuch fuer XPlan Manager und XPlan Validator * %% * Copyright (C) 2008 - 2022 lat/lon GmbH, info@lat-lon.de, www.lat-lon.de * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * #L% */ [ ${SERVICESCONFIG}, { "id": "452", "name": "Basiskarte", "url": "http://sg.geodatenzentrum.de/wms_dtk250", "typ": "WMS", "layers": "dtk250", "format": "image/png", "version": "1.1.1", "singleTile": false, "transparent": true, "transparency": 0, "tilesize": "512", "gutter": "0", "minScale": "0", "maxScale": "2500000", "gfiAttributes": "ignore", "gfiTheme": "default", "layerAttribution": "nicht vorhanden", "legendURL": "ignore", "cache": true, "featureCount": "1" } ]
Um die Hintergrundkarte anzupassen, müssen folgende Schritte ausgeführt werden:
-
Ablegen der Datei unter masterportal/template/services-internet.template.json im Dateisystem (Pfad und Dateiname müssen beibehalten werden).
-
Anpassen der URL des Dienstes (Zeile 6, "url") und des Layers (Zeile 8, "layers")
-
Austausch der Datei im xplan-validator-web.war, z.B. durch Ausführen des folgenden Kommandos:
jar uf xplan-validator-web.war masterportal/template/services-internet.template.json
Die Zeilen 2, 4 und 5 dürfen nicht angepasst werden! |
6.2. Semantische Validierungsregeln
Die als XQuery-Dateien vorliegenden semantischen Validierungsregeln können in einem externen Verzeichnis abgelegt und durch entsprechende Konfiguration im XPlanManagerWeb und XPlanValidatorWeb verwendet werden, wenn z. B. die semantischen Validierungsregeln angepasst, erweitert oder durch eine aktuellere Version ersetzt werden sollen. Um statt der mit dem xPlanBox ausgelieferten Regeln externen Regeln zu verwenden, muss das Verzeichnis für den XPlanManagerWeb und XPlanValidatorWeb konfiguriert werden. Der Pfad zu den semantischen Regeln muss in der Datei <XPLANBOX_CONFIG>/validatorConfiguration.properties wie folgt konfiguriert werden:
validationRulesDirectory=/home/xplanbox/semantischeRegeln/0.11.1/
Ist der Pfad nicht konfiguriert, werden die internen Validierungsregeln verwendet.
Wenn innerhalb des Validierungsbericht die Version und die Quelle der semantischen Validierungsregeln angezeigt werden sollen, dann muss im übergeordneten Verzeichnis aus validationRulesDirectory eine Textdatei mit dem Dateinamen VERSION.txt und folgendem Inhalt angelegt werden:
version=0.11.1 source=https://bitbucket.org/geowerkstatt-hamburg/xplanung/get/v0.11.1.zip
6.2.1. Weiterführende Informationen zur semantischen Validierung
Die Regeln für die semantische Validierung von XPlanGML-Dokumenten sind als XQuery-Abfragen implementiert. Die Dateien mit den XQuery-Abfragen sind im XPlanValidatorCLI und dem XPlanValidatorWeb enthalten und entsprechend der Nummer der Regel aus den Konformitätsbedingungen benannt.
Referenzen auf externe Ressourcen
Bei der Ausgabe des Ergebnisses der semantischen Validierung kann eine Referenz auf eine externe Ressource gesetzt werden, die weiterführenden Informationen bereitstellt. Die Referenzen können in der Datei <XPLANBOX_CONFIG>/managerConfiguration.properties konfiguriert werden.
linkSemanticConformity_XPLAN_3= linkSemanticConformity_XPLAN_40=http://localhost:8080/external/documentation/Konformitaetsbedingungen_XPlanGML_4.pdf linkSemanticConformity_XPLAN_41=http://localhost:8080/external/documentation/Konformitaetsbedingungen-XPlanGML_4_1.pdf linkSemanticConformity_XPLAN_50=http://localhost:8080/external/documentation/Konformitaetsbedingungen_XPlanGML_5.pdf linkSemanticConformity_XPLAN_51=http://localhost:8080/external/documentation/Konformitaetsbedingungen_XPlanGML_5_1.pdf linkSemanticConformity_XPLAN_52=http://localhost:8080/external/documentation/Konformitaetsbedingungen_XPlanGML_5_2.pdf
Es müssen ggf. Zeilenumbrüche entfernt werden. |
Für jede XPlanGML-Version kann hier die Referenz auf eine externe
Ressource konfiguriert werden. Ist für eine Version keine Ressource
vorhanden, kann der Eintrag vollständig entfernt oder der Wert zu dem
Schlüssel leer gelassen werden (wie im Beispiel für XPLAN_3
). Es wird dann kein Hinweis im Validierungsbericht ausgegeben.
Es wird empfohlen die Dokumente über die Komponente XPlanRessourcen bereitzustellen, um die Unabhängigkeit von externen Ressourcen sicherzustellen. |
Schnittstelle zu XQuery-Statements
Der Rückgabewert der XQuery-Statements wird vom XPlanValidator ausgewertet und im Validierungsbericht ausgegeben. Dabei kann der XPlanValidator zwischen Fehlern und Warnungen unterscheiden. Neben der GML-ID des betroffenen Elements kann optional noch eine Meldung mit ausgelesen werden.
Damit der XPlanValidator den Rückgabewert verarbeiten kann, muss dieser wie folgt strukturiert sein:
GML_ID
oder
[GML_ID, 'W', 'NACHRICHT']
7. Konfiguration der REST-Schnittstellen
7.1. XPlanManagerAPI
Die Konfiguration der XPlanManagerAPI erfolgt in der Datei <XPLANBOX_CONFIG>/managerApiConfiguration.properties. Außerdem gelten die im Abschnitt Konfiguration des XPlanManagerWeb beschriebenen Konfigurationsoptionen, die in der Datei <XPLANBOX_CONFIG>/managerConfiguration.properties festgelegt werden.
Folgende Konfigurationen können für die XPlanManagerAPI vorgenommen werden:
7.1.1. API URL
URL der XPlanManagerAPI, die im OpenAPI Dokument ausgegeben wird. Diese Konfiguration muss vorgenommen werden, andernfalls kann die Schnittstelle nicht verwendet werden und es kommt bereits beim Deployment der Webapp zu einem Fehler. Beispiel:
apiUrl=http://xplanbox.lat-lon.de
7.1.2. Kontakt E-Mail Adresse
E-Mail Adresse des Kontakts, die im OpenAPI Dokument ausgegeben wird. Diese Konfiguration ist optional. Beispiel:
contactEMailAdress=info@lat-lon.de
7.1.3. URL zu den "Terms of Service"
URL zu den "Terms of Services", die im OpenAPI Dokument ausgegeben wird. Diese Konfiguration ist optional. Beispiel:
termsOfServiceUrl=
7.1.4. URL zur Dokumentation der xPLanBox
URL zur Dokumentation, die im OpenAPI Dokument ausgegeben wird. Diese Konfiguration ist optional. Beispiel:
documentationUrl=
7.1.5. WMS URL
URL des XPlanwerkWMS, über den einzelne Pläne über die ManagerID angefragt werden können. Beispiel:
wmsUrl=http://xplanbox.lat-lon.de/xplan-wms
7.1.6. Standard-Validierungseinstellungen
Mit diesen Einstellungen kann das Validierungslevel konfiguriert werden, das beim Import eines Plans angewendet wird. Standardmäßig müssen alle Tests (syntaktisch, semantisch und geometrisch) bestanden werden. Mit dieser Option kann z. B. festgelegt werden, dass Pläne die Prüfung auf den Geltungsbereich nicht bestehen müssen, um diesen zu importieren. Unabhängig von dieser Konfiguration muss die syntaktische Validierung in jedem Fall bestanden werden, ebenso werden Pläne mit schwerwiegenden geometrischen Fehlern grundsätzlich abgelehnt.
Beispiel:
skipSemantisch=false skipGeometrisch=false skipFlaechenschluss=false skipLaufrichtung=false skipGeltungsbereich=true
7.2. XPlanValidatorAPI
Die Konfiguration der XPlanValidatorAPI erfolgt in der Datei <XPLANBOX_CONFIG>/validatorApiConfiguration.properties. Außerdem gelten die im Abschnitt Konfiguration des XPlanValidatorWeb beschriebenen Konfigurationsoptionen, die in der Datei <XPLANBOX_CONFIG>/validatorConfiguration.properties festgelegt werden. Folgende Konfiguration kann für die XPlanValidatorAPI vorgenommen werden:
7.2.1. API URL
URL der XPlanManagerAPI, die im OpenAPI Dokument ausgegeben wird. Beispiel:
apiUrl=http://xplanbox.lat-lon.de
7.2.2. Kontakt E-Mail Adresse
E-Mail Adresse des Kontakts, die im OpenAPI Dokument ausgegeben wird. Diese Konfiguration ist optional. Beispiel:
contactEMailAdress=info@lat-lon.de
7.2.3. URL zu den "Terms of Service"
URL zu den "Terms of Services", die im OpenAPI Dokument ausgegeben wird. Diese Konfiguration ist optional. Beispiel:
termsOfServiceUrl=
7.2.4. URL zur Dokumentation der xPLanBox
URL zur Dokumentation, die im OpenAPI Dokument ausgegeben wird. Diese Konfiguration ist optional. Beispiel:
documentationUrl=
8. Konfiguration des XPlanWMS und XPlanWFS
In den nachfolgenden Kapiteln wird die Konfiguration der WFS- und WMS-Dienste der xPlanBox erläutert:
8.1. XPlanDienste
Die folgenden Informationen gelten für alle von der xPlanBox bereitgestellten XPlanDienste: XPlanWMS/XPlanWerkWMS, XPlanWFS und XPlanSynWFS.
8.1.1. Manuelle Anpassung der bbox_cache.properties
Aktuell kann es dazu kommen, dass die in den Capabilities-Dokumenten angegebene BoundingBox nicht alle in der xPlanBox importierten Daten umfasst. Dies kann unter anderem zur Folge haben, dass die Daten durch Clients nicht oder nur unvollständig angezeigt werden. Betroffen sind sowohl der XPlanWMS/XPlanWerkWMS, XPlanWFS sowie XPlanSynWFS.
Es wird daher empfohlen, die BoundingBox manuell auf den Bereich zu konfigurieren, der den gesamten zu erfassenden Bereich umfasst. Dieser kann sowohl bereits importierte als auch zukünftig noch einzupflegende Planwerke beinhalten.
Die BoundingBox wird für jeden Workspace in der Datei bbox_cache.properties in dem Verzeichnis .deegree/<XPlanDienst-Workspace>/datasources/feature konfiguriert. Sollte die Datei noch nicht existieren, ist diese manuell anzulegen. Andernfalls kann der Inhalt ausgetauscht werden, sofern keine weiteren manuellen Anpassungen erfolgt sind. Die Dienste dürfen beim Anlegen und Anpassen der Datei nicht gestartet sein.
Beispiel: Ausschnitt aus der bbox_cache.properties Datei (ein vollständiges Beispiel findet sich im Anhang)
.... {http\://www.deegree.org/xplanung/1/0}FP_Strassenverkehr=epsg\:4326,8.0,53.0,9.0,54.0 {http\://www.deegree.org/xplanung/1/0}BP_EinfahrtPunkt=epsg\:4326,8.0,53.0,9.0,54.0 {http\://www.deegree.org/xplanung/1/0}BP_SchutzPflegeEntwicklungsMassnahme=epsg\:4326,8.0,53.0,9.0,54.0 {http\://www.deegree.org/xplanung/1/0}FP_Plan=epsg\:4326,8.0,53.0,9.0,54.0 {http\://www.deegree.org/xplanung/1/0}XP_Grenze=epsg\:4326,8.0,53.0,9.0,54.0 {http\://www.deegree.org/xplanung/1/0}FP_Luftverkehr=epsg\:4326,8.0,53.0,9.0,54.0 {http\://www.deegree.org/xplanung/1/0}BP_UeberbaubareGrundstuecksFlaeche=epsg\:4326,8.0,53.0,9.0,54.0 ....
8.2. XPlanWMS
Nach der Installation ist in der Datei html.gfi im Verzeichnis <DEEGREE_WORKSPACE_ROOT>/xplansyn-wms-workspace/services die Anpassung der URL des XPlanWMS vorzunehmen.
Damit die Links auf Dokumente in der WMS GetFeatureInfo Ausgabe
auch bei externen Aufrufen funktionsfähig sind, muss eine Anpassung der URL in der Datei html.gfi
erfolgen. Die URL der Variable WMS_URL
muss auf die öffentliche URL des XPlanWMS geändert werden, über die die Anhänge aus dem XPlanArchiv über die Operation GetAttachment des XPlanWMS bereitgestellt werden.
Vorgabewert in der Datei html.gfi:
var WMS_URL = "http://localhost:8080/xplan-wms";
Eine Übersicht der weiteren Konfigurationsdateien des XPlanWMS ist im Kapitel XPlanWMS Workspace zu finden.
9. XPlanDB
9.1. Zugriff auf Daten der XPlanDB
Über die REST-API des XPlanManager und den XPlanWFS kann jedes importierte XPlanGML-Dokument abgerufen werden. Je nach Version des XPlanGML-Dokuments und Planstatus wird dieses aus der XPlanDB ausgelesen, wobei folgende Beispiele den Zugriff auf das XML-Dokument in der Tabelle <DATENBANK_SCHEMA>.GML_OBJECTS.BINARY_OBJECT
verdeutlichen sollen:
-
für einen rechtskräftigen Plan mit Planstatus "festgestellt" in der Version 5.1 erfolgt der Abruf aus
XPLAN51.GML_OBJECTS.BINARY_OBJECT
über den XPlanWFS Endpoint wfs51. -
für einen in Aufstellung befindlichen Plan in der Version 5.3 erfolgt der Abruf aus
XPLAN53PRE.GML_OBJECTS.BINARY_OBJECT
über den XPlanWFS Endpoint wfs53pre.
Änderungen, die über den XPlanManager vorgenommen werden, werden in der XPlanDB gespeichert. Die Datenbankschemata der XPlanDB sind im Anhang unter Datenbankmodell der XPlanDB zu finden. Der Ablageort der Rasterdaten aus einem XPlanArchiv wird im Anhang unter XPlanWMS Workspace näher beschrieben.
9.1.1. Übersicht der Datenbankschemata
Die folgende Tabelle zeigt die in der XPlanDB enthaltenen Datenbankschemata und die auf diese Schema zugreifenden Komponenten am Beispiel der festgestellten Pläne bei separater Datenhaltung.
Datenbankschema | Komponente/Endpoint | Mapping-Typ |
---|---|---|
|
XPlanWFS/wfs30 |
BLOB |
|
XPlanWFS/wfs40 |
BLOB |
|
XPlanWFS/wfs41 |
BLOB |
|
XPlanWFS/wfs50 |
BLOB |
|
XPlanWFS/wfs51 |
BLOB |
|
XPlanWFS/wfs52 |
BLOB |
|
XPlanWFS/wfs53 |
BLOB (Schema) |
|
XPlanWFS/wfs54 |
BLOB |
|
XPlanSynWFS/xplansynwfs, XPlanWMS und XPlanWerkWMS/wms |
Relational (Schema) |
|
XPlanInspirePluWFS/downloadservice, XPlanInspirePluWMS/viewservice |
Relational |
|
XPlanManagerWeb, XPlanManagerAPI, XPlanManagerCLI, XPlanWerkWMS |
Relational (Schema) |
Bei separater Datenhaltung existiert für alle in Aufstellung befindlichen Pläne zusätzlich ein Datenbankschema mit der Namenskonvention xplan*pre
und den Endpoints XPlanWFS/wfs*pre sowie für die archivierten Pläne mit xplan*archive
und den Endpoints XPlanWFS/wfs*archive.
Die Datenbankstruktur für die Schema xplan*
wird im Anhang Datenbankmodell der XPlanDB beschrieben.
10. Logging
Die Anwendungen XPlanManagerWeb, XPlanManagerCLI, XPlanValidatorWeb und XPlanValidatorCLI und alle XPlanDienste schreiben Log-Ausgaben standardmäßig nach Standard-Out. Für die Web-Anwendungen und die Webservices ist dies die Logging-Datei des Java Applikationsserver (Apache Tomcat: catalina.out) und bei den CLI-Anwendungen die Konsole. Nach Standard-Out werden nur Warnungen und Fehler geschrieben.
10.1. Protokolldateien der Komponenten
Zusätzlich wird eine Log-Datei für alle Anwendungen und Dienste in einer entsprechenden benannten Datei im Log-Verzeichnis des Tomcat-Servers ${catalina.base}/logs/ geschrieben. In die Log-Dateien werden Informationen, Warnungen und Fehler geschrieben.
Anwendung | Log-Datei |
---|---|
XPlanManagerWeb |
${catalina.base}/logs/xplan-manager-web.log |
XPlanManagerAPI |
${catalina.base}/logs/xplan-manager-api.log |
XPlanManagerCLI |
./xplan-manager-cli.log |
XPlanValidatorWeb |
${catalina.base}/logs/xplan-validator-web.log |
XPlanValidatorAPI |
${catalina.base}/logs/xplan-validator-api.log |
XPlanValidatorCLI |
./xplan-validator-cli.log |
XPlanWMS |
${catalina.base}/logs/xplan-wms.log |
XPlanWFS |
${catalina.base}/logs/xplan-wfs.log |
XPlanSynWFS |
${catalina.base}/logs/xplansyn-wfs.log |
10.2. Protokollebenen
In den Anwendungen werden für die Nachrichten verschiedenen Protokollebenen (Log-Level) verwendet. Diese haben folgende Bedeutung:
-
FATAL: Schwerwiegender Fehler, die einen Betrieb der Software verhindern und Aktionen des Administrators erfordern (Vorgabeeinstellung: ist aktiviert)
-
ERROR: Programmfehler, die einen Betrieb der Software einschränken und Aktionen des Administrators erfordern (Vorgabeeinstellung: ist aktiviert)
-
WARN: Warnungen, die den Betrieb der Software nicht einschränken, aber auf Konfigurationsprobleme, -fehler o.ä. hinweisen, die von Administrator behoben werden sollten (Vorgabeeinstellung: ist aktiviert)
-
INFO: Informationen, die wichtige Programmschritte dokumentieren und vom Administrator und Entwickler zur Kontrolle ausgewertet werden können (Vorgabeeinstellung: nur in den Log-Dateien aktiviert)
-
DEBUG: Detaillierte Informationen zum Programmablauf, die vom Entwickler zur Fehler- und Laufzeitanalyse ausgewertet werden können (Vorgabeeinstellung: deaktiviert, wird bei Bedarf und nur temporär aktiviert)
-
TRACE: noch detailliertere Informationen zum Programmablauf (Vorgabeeinstellung: deaktiviert, wird bei Bedarf und nur temporär aktiviert, erzeugt viele Nachrichten)
10.3. Konfiguration
Die Konfiguration des verwendeten Apache Log4j-Frameworks erfolgt über die Konfigurationsdatei log4j2.yaml
. Diese Datei ist in allen Komponenten enthalten und liegt in den Webapps im Verzeichnis WEB-INF/classes
und bei den Kommandozeilenwerkzeugen im Verzeichnis etc/
.
Der Aufbau einer Log4j-Konfigurationsdatei ist in mehrere Abschnitte aufgeteilt.
Die verschiedenen Protokollausgabekanäle werden im Abschnitt Appenders
definiert:
Appenders:
Console: (1)
name: STDOUT
target: SYSTEM_OUT (2)
PatternLayout:
Pattern: "%d %p %C{1.} [%t] %m%n" (3)
RollingFile: (4)
name: RollingFile_Appender
fileName: ${log.path}/${log.file} (5)
filePattern: ${log.path}/${log.file}.%d{yyyy-MM-dd-hh-mm} (6)
PatternLayout:
pattern: "%d %p %C{1.} [%t] %m%n" (3)
Policies: (7)
SizeBasedTriggeringPolicy: (8)
size: 100 MB
DefaultRollOverStrategy: (9)
max: 5
1 | Definiert den Ausgabekanal STDOUT der auf die Konsole verweist |
2 | Konsolenausgabe erfolgt nach Standard-Out SYSTEM_OUT (oder SYSTEM_ERR ) |
3 | Definiert das Format für eine Nachricht |
4 | Definiert den Ausgabekanal RollingFile_Appender der auf eine Protokolldatei verweist |
5 | Definiert den Dateipfad und -namen der Protokolldatei |
6 | Definiert den Dateipfad und -namen der archivierten Protokolldateien |
7 | Definiert die Eigenschaften wann eine Protokolldatei automatisch archiviert wird |
8 | Auslöser bei einer Überschreitung der Protokolldatei von 100 MB |
9 | Begrenzung der Anzahl der Protokolldateien auf max. 5 Dateien. |
Im Abschnitt Loggers
werden die einzelnen Logger
konfiguriert:
Loggers:
Root: (1)
level: info
AppenderRef:
- ref: STDOUT (2)
level: error
- ref: RollingFile_Appender (3)
level: info
Logger:
- name: org.deegree (4)
level: info
- name: de.latlon.xplan
level: info
1 | Konfiguriert den Logger Root auf Log-Level info und schreibt in die beiden Ausgabekanäle STDOUT und RollingFile_Appender |
2 | Der Ausgabekanal STDOUT gibt nur Fehler aus (Log-Level error und fatal ) |
3 | Der Ausgabekanal RollingFile_Appender gibt Informationen, Warnung und Fehler aus (Log-Level info , warn , error und fatal ) |
4 | Für die Logger org.deegree und de.latlon.xplan ist ebenfalls ein Log-Level info gesetzt. Der Wert für den Log-Level kann trace , debug , info , warn , error , fatal oder off sein. Zwischen Klein- und Grossschreibung wird nicht unterschieden. |
Im Abschnitt Properties
können zusätzliche Eigenschaften definiert werden, die in der Konfigurationsdatei verwendet werden können:
Properties:
Property:
- name: log.file (1)
value: xplan-validator-api.log
- name: log.path (2)
value: ${sys:catalina.base:-.}/logs
1 | Definiert die Variable log.file mit dem Wert xplan-validator-api.log |
2 | Definiert die Variable log.path mit dem Wert ${sys:catalina.base:-.}/logs , dabei wird die Systemvariable catalina.base ausgewertet und dem Verzeichnisnamen logs vorangestellt. Ist die Systemvariable nicht gesetzt :- , wird der Vorgabewert . (Basisverzeichnis des Prozesses) verwendet und dem Verzeichnisnamen logs vorangestellt. |
Weitere Informationen zur Konfiguration von Log4j sind auf den Seiten des Projekts unter https://logging.apache.org/log4j/2.x/manual/configuration.html zu finden.
10.3.1. Setzen der Log4j-Konfiguration
Beim Betrieb der xPlanBox-Komponenten in einem Apache Tomcat muss die Systemvariable log4j2.configurationFile
gesetzt werden. Die Einstellung wird am besten zu den CATALINA_OPTS
hinzugefügt:
CATALINA_OPTS=-Dlog4j2.configurationFile=classpath:/log4j2.yaml
Weitere Informationen zur Konfiguration von Log4j in einem Servlet-Container sind unter https://logging.apache.org/log4j/2.x/manual/webapp.html zu finden.
11. Bekannte Probleme
11.1. HTTP Session Timeout bei lang andauernden HTTP-Anfragen
11.1.1. Problembeschreibung
Bei lang andauernden Validierungsanfragen im XPlanManagerWeb kann es dazu kommen, dass in der Oberfläche des XPlanManagerWeb der Import-Button nach Abschluss der Validierung nicht mehr angezeigt wird.
11.1.2. Lösungsansätze
-
Für den Import eines XPlanArchivs über den XPlanManagerWeb wird eine HTTP-Session genutzt. Der Vorgabewert des Apache Tomcat-Servers liegt bei 30 Minuten. Dieser Wert muss bei Bedarf in der Konfiguration des Servers angepasst werden. Es wird empfohlen den Wert auf 120 Minuten hochzusetzen.
-
siehe auch Kapazitätsbezogene Einschränkungen
Für eine vollständige Validierung kann bei einer Minimale Systemvoraussetzung eine Dauer von ca. 30 Minuten je 5 MB XPlanGML-Dateigröße angenommen werden, je nach Komplexität und Umfang der enthaltenen Geometrien. |
11.2. HTTP Timeout bei lang andauernden HTTP-Anfragen
11.2.1. Problembeschreibung
Bei lang andauernden Anfragen im XPlanValidatorWeb oder XPlanManagerWeb kann es zu einem Verbindungsabbruch kommen. Dies kann u.a. durch Fehlermeldungen im Browser wie z.B. HTTP-Statusfehler 408 oder 502 bzw. 504 angezeigt werden.
11.2.2. Lösungsansätze
-
Erhöhen der HTTP Timeout und Keepalive Zeiten in der Konfiguration der eingesetzten Webserver wie z.B. Apache httpd oder nginx sowie sonstiger Netzwerkkomponenten, die den Webkomponenten vorgeschaltet sind.
11.3. Kapazitätsbezogene Einschränkungen
11.3.1. Problembeschreibung
Sowohl für den XPlanManagerWeb als auch den XPlanManagerAPI gelten Obergrenzen beim Import von XPlanArchiven. XPlanArchive (ZIP-Datei inklusive Anhänge) größer als 50 MB und XPlanGML-Dateien größer als 2 MB können die Systemstabilität beeinträchtigen. Wenn XPlanArchive mit größeren Anhängen importiert werden sollen, so müssen Server-seitig entsprechende Systemvoraussetzungen erfüllt sein.
11.3.2. Lösungsansätze
-
Für die Bereitstellung von mehr als 500 XPlanArchiven über die Dienste XPlanWMS, XPlanWFS oder XPlanSynWFS müssen Server-seitig dann die Systemvoraussetzungen wie in der Empfohlene Systemkonfiguration erfüllt sein. Das Antwortzeitverhalten der Dienste ist von den verfügbaren System-Ressourcen abhängig.
-
Die Anwendungskomponenten der xPlanBox benötigt min. 1,5 GB freien Festplattenspeicherplatz. Anwachsende Daten über die Dauer der Laufzeit der Anwendung sind die Datenhaltung für die Pläne inkl. der Anhänge und die Systemlogdateien. Zur Kapazitätsplanung kann folgende Abschätzung gegeben werden: Der Festplattenspeicherplatz für die Daten ist erforderlich auf dem Server mit der XPlanDB und der Tomcat-Instanz mit dem [XPlanManager]. Folgende Formel kann bei der Kapazitätsplanung zur Hilfe gezogen werden: Größe eines XPlanArchivs (inkl. der Anhänge) * Anzahl der XPlanArchive * 2. Wenn also zum Beispiel 500 Pläne mit einer durchschnittlichen Größe von 50 MB inkl. der Anhänge importiert werden sollen, dann sind ca. 50 GB Festplattenspeicherplatz je Server notwendig.
12. Aktualisierung
Bei einer Aktualisierung der xPlanBox müssen folgende Schritte durchgeführt werden:
Datenunabhängige Aktualisierungsschritte:
-
Stoppen aller Tomcat-Instanzen
Aktualisierungsschritte, die die Datenhaltung betreffen:
Nachdem alle Aktualisierungsschritte erfolgreich durchgeführt worden, wird die Aktualisierung mit dem
abgeschlossen.
12.1. Austausch der Web-Archive
Es müssen die bereitgestellten WAR-Dateien in das Verzeichnis webapps/ der jeweiligen Tomcat-Instanz kopiert werden:
cp ${WORK_DIR}/web/xplan-manager-web.war <CATALINA_HOME>/webapps/ cp ${WORK_DIR}/web/xplan-validator-web.war <CATALINA_HOME>/webapps/ cp ${WORK_DIR}/web/xplan-api-manager.war <CATALINA_HOME>/webapps/ cp ${WORK_DIR}/web/xplan-api-validator.war <CATALINA_HOME>/webapps/ cp ${WORK_DIR}/web/xplansyn-wfs.war <CATALINA_HOME>/webapps/ cp ${WORK_DIR}/web/xplan-wfs.war <CATALINA_HOME>/webapps/ cp ${WORK_DIR}/web/xplan-wms.war <CATALINA_HOME>/webapps/
Falls die Hintergrundkarte der Kartenvorschau im XPlanValidatorWeb angepasst wurde, müssen die Änderungen in der Datei services-internet.template.json manuell in die neue Webapp xplan-validator-web übertragen werden (s. Kartenvorschau im XPlanValidatorWeb). |
12.2. Neustart der Tomcat-Server
Es müssen alle Tomcat-Instanzen neu gestartet werden. Der Neustart muss nach der Aktualisierung der Workspaces erfolgen (s. Aktualisierung der betroffenen Konfigurationsdateien in den Workspaces).
12.3. Austausch der Commandline-Tools
Es müssen die bereit gestellten ZIP-Archive für die Kommandozeilen-Tools entpackt werden:
unzip ${WORK_DIR}/cli/xplan-manager-cli-${VERSION}.zip unzip ${WORK_DIR}/cli/xplan-validator-cli-${VERSION}.zip
12.4. Übersicht über die Datenhaltung betreffende Änderungen
Folgende Tabelle listet auf, bei welchen xPlanBox Versionen die Datenhaltung betreffende Änderungen vorgenommen wurden (ab Version 2.0).
In der Tabelle sind nur Versionen aufgelistet, die auch Änderungen enthalten. In der Version 2.3 wurden gegenüber der Version 2.2 beispielsweise keine Änderungen vorgenommen. Somit können Version 2.2 und 2.3 mit exakt den gleichen Workspaces und dem gleichen Datenbankschema betrieben werden.
Anhand der Übersicht lässt sich ableiten, welche Schritte bei einer Aktualisierung ausgeführt werden müssen. Die Details zu den jeweiligen Aktualisierungsschritten werden in den nachfolgenden Kapiteln erläutert.
Alle Aktualisierungswerkzeuge und -skripte werden ohne Gewähr und nur für ausgewählte Versionen auf Anfrage zusammen mit der Liefereinheit bereitgestellt. Für weitere Fragen zur Aktualisierung, insbesondere von Versionen älter als 2.0, wenden Sie sich bitte an die lat/lon GmbH.
xPlanBox Version | Änderungen an den Workspaces/ der Konfiguration? | Änderungen am Datenbankschema? |
---|---|---|
2.0 |
ja |
ja |
2.2 |
ja |
|
2.4 |
ja |
|
2.7 |
ja (Details) |
ja (Details) |
2.8 |
ja |
|
3.0 |
ja (Details) |
ja (Details) |
3.3 |
ja (Details) |
ja (Details) |
4.0 |
ja (Details) |
ja (Details) |
4.1 |
ja (Details) |
ja (Details) |
4.2 |
ja (Details) |
ja (Details) |
4.3 |
ja (Details) |
|
5.0 |
ja (Details) |
ja (Details) |
Durchzuführende Aktualisierungen |
Aktualisierung der betroffenen Konfigurationsdateien in den Workspaces |
Aktualisierung des Datenbankschemas und Aktualisierung der Daten |
12.5. Aktualisierung der betroffenen Konfigurationsdateien in den Workspaces
Bei der Aktualisierung der Workspaces ist zwischen einer vollständigen und teilweisen Aktualisierung zu unterscheiden. Bei der im Abschnitt Vollständige Aktualisierung des Workspaces beschriebenen vollständigen Aktualisierung werden z. B. Rasterdaten aus Plänen, die bereits importiert wurden, verworfen. Sollen vorhandene Daten beibehalten werden, ist die im Abschnitt Teilweise Aktualisierung des Workspaces beschriebene Variante durchzuführen.
Alle Konfigurationsänderungen in xplan-manager-config und xplan-valdiator-config müssen manuell übertragen werden. |
12.5.1. Vollständige Aktualisierung des Workspaces
Es müssen die bereitgestellten Konfigurationsdateien in das Verzeichnis <DEEGREE_DIR>, z. B. .deegree/ kopiert werden. Diese ersetzen die bereits vorhandenen:
cd ${DEEGREE_DIR} && unzip -o ${WORK_DIR}/config/xplan-workspaces-${VERSION}-xplan-manager-workspace-${ENV}.zip cd ${DEEGREE_DIR} && unzip -o ${WORK_DIR}/config/xplan-workspaces-${VERSION}-xplan-wfs-workspace-${ENV}.zip cd ${DEEGREE_DIR} && unzip -o ${WORK_DIR}/config/xplan-workspaces-${VERSION}-xplansyn-wfs-workspace-${ENV}.zip cd ${DEEGREE_DIR} && unzip -o ${WORK_DIR}/config/xplan-workspaces-${VERSION}-xplansyn-wms-workspace-${ENV}.zip cd ${DEEGREE_DIR} && unzip -o ${WORK_DIR}/config/xplan-workspaces-${VERSION}-xplan-inspireplu-workspace-${ENV}.zip cd ${DEEGREE_DIR} && unzip -o ${WORK_DIR}/config/xplan-manager-config-${VERSION}-${ENV}.zip cd ${DEEGREE_DIR} && unzip -o ${WORK_DIR}/config/xplan-validator-config-${VERSION}.zip
12.5.2. Teilweise Aktualisierung des Workspaces
Es müssen die bereit gestellten Konfigurationsdateien mit Ausnahme des xplansyn-wms-workspace in das Verzeichnis <DEEGREE_DIR>, z. B. .deegree/ kopiert werden. Diese ersetzen die bereits vorhanden:
cd ${DEEGREE_DIR} && unzip -o ${WORK_DIR}/config/xplan-workspaces-${VERSION}-xplan-manager-workspace-${ENV}.zip cd ${DEEGREE_DIR} && unzip -o ${WORK_DIR}/config/xplan-workspaces-${VERSION}-xplan-wfs-workspace-${ENV}.zip cd ${DEEGREE_DIR} && unzip -o ${WORK_DIR}/config/xplan-workspaces-${VERSION}-xplansyn-wfs-workspace-${ENV}.zip cd ${DEEGREE_DIR} && unzip -o ${WORK_DIR}/config/xplan-workspaces-${VERSION}-xplan-inspireplu-workspace-${ENV}.zip cd ${DEEGREE_DIR} && unzip -o ${WORK_DIR}/config/xplan-manager-config-${VERSION}-${ENV}.zip cd ${DEEGREE_DIR} && unzip -o ${WORK_DIR}/config/xplan-validator-config-${VERSION}.zip
Folgende Ordner des neuen xplansyn-wms-workspace müssen in die bestehende Installation integriert werden:
-
appschemas
-
datasources/feature
-
layers
-
services
-
styles
-
themes (Wichtig: Nicht die Dateien, die auf raster.xml enden, ersetzen!)
Aktualisierung des WMS-Workspaces auf die Version 2.0 der xPlanBox
Bei Übernahme eines alten Workspaces für den WMS
(xplansyn-wms-workspace) mit bereits importierten Rasterdaten sind die
Themes-Konfigurationen anzupassen. Im ersten Theme
-Block ist ein neuer
Identifier, z. B. <Identifier>BP_Planraster</Identifier>
vor dem
Element Title
einzutragen.
<Themes xmlns="http://www.deegree.org/themes/standard"
xmlns:ns2="http://www.deegree.org/metadata/description"
xmlns:ns3="http://www.deegree.org/metadata/spatial"
configVersion="3.4.0">
<Theme>
<!-- Die folgende Zeile ist beim Update auf die Version 2.0 der xPlanBox hinzuzufügen -->
<Identifier>BP_Planraster</Identifier>
<ns2:Title>BPlan Raster</ns2:Title>
<ns3:CRS>EPSG:25832</ns3:CRS>
<Theme>
<Identifier>bplanraster_sortiert</Identifier>
<ns2:Title>BPlan Raster Theme</ns2:Title>
<Layer layerStore="1_Testplan.png">1_Testplan.png</Layer>
....
</Theme>
</Theme>
</Themes>
Die Benamung des Identifiers richtet sich nach dem Typ des Plans:
-
BP_Planraster (Dateien: bplanpreraster.xml, bplanarchiveraster.xml, bplanraster.xml)
-
FP_Planraster (Dateien: fplanpreraster.xml, fplanarchiveraster.xml, fplanraster.xml)
-
LP_Planraster (Dateien: lplanpreraster.xml, lplanarchiveraster.xml, lplanraster.xml)
-
RP_Planraster (Dateien: rplanpreraster.xml, rplanarchiveraster.xml, rplanraster.xml)
-
SO_Planraster (Dateien: soplanpreraster.xml, soplanarchiveraster.xml, soplanraster.xml)
Die Themes-Konfigurationen der Vektordaten sollten komplett ausgetauscht werden, Daten gehen dadurch nicht verloren. Folgende Dateien sind davon betroffen:
-
bplan.xml, bplanpre.xml, bplanarchive.xml
-
fplan.xml, fplanpre.xml, fplanarchive.xml
-
lplan.xml, lplanpre.xml, lplanarchive.xml
-
rplan.xml, rplanpre.xml, rplanarchive.xml
-
soplan.xml, soplanpre.xml, soplanarchive.xml
Aktualisierung des WMS-Workspaces auf die Version 2.4 der xPlanBox
Mit der Version 2.4 der xPlanBox wurde eine Möglichkeit eingeführt, die Ausgabe der Rasterdaten durch den XPlanWMSInAufstellung abhängig vom gesetzten Gültigkeitszeitraum steuern zu können. Dazu ist in Abschnitt Gültigkeitszeitraum beschrieben, wie die Konfiguration im XPlanWMS und XPlanWMSArchive zu erfolgen hat. Bei einer Aktualisierung auf die Version 2.4 ist dieser Schritt für den XPlanWMSInAufstellung manuell durchzuführen, um die Standardkonfiguration wiederherzustellen. Dies ist nicht notwendig, wenn der Workspace des XPlanWMS vollständig durch die neue Version ausgetauscht wird.
Aktualisierung des WMS-Workspaces auf die Version 3.3 der xPlanBox
Mit der Version 3.3 der xPlanBox wurden Anpassungen am Workspace für den XPlanWMS vorgenommen. Um diese Änderungen zu übernehmen müssen folgende Schritte ausgeführt werden:
-
Übernahme aller Dateien aus dem Verzeichnis /appschemas
-
Übernahme aller Dateien aus dem Verzeichnis /datasources/feature
-
Übernahme aller Dateien aus dem Verzeichnis /layers
-
Übernahme oder Abgleich aller Dateien aus dem Verzeichnis /services. Ein Abgleich ist erforderlich, wenn Änderungen an den Service-Metadaten vorgenommen wurden.
-
Übernahme aller Dateien aus dem Verzeichnis /styles
-
Übernahme aller Dateien aus dem Verzeichnis /themes, deren Dateiname nicht auf "raster.xml" enden.
12.6. Aktualisierung des Datenbankschemas
Achtung: Die folgenden Schritte müssen nur ausgeführt werden, wenn die bereits in das System importierten Daten beibehalten werden sollen. Für den Fall, dass dies nicht notwendig ist, muss lediglich die Datenbank neu aufgesetzt werden. Mehr Details hierzu finden Sie im Kapitel Konfiguration der Datenbank.
Die Datenbankschemas jeder Version befinden sich im xplan-manager-workspace im Ordner sql/ und für jedes Schema gibt es dort einen eigenen Unterordner. Neu hinzugekommene Schemas können direkt auf der Datenbank ausgeführt werden und stehen danach für die Anwendung bereit. Bei Änderungen in einem Schema müssen diese durch in ein Update-Skript überführt und damit an der Datenbank durchgeführt werden. Für einige Aktualisierungen sind Aktualisierungsskripte im Modul xplan-update-database-cli verfügbar.
Es gibt sowohl SQL-Update-Skripte als auch Liquibase-Skripte, die mit der Software Liquibase ausgeführt werden können. Falls beide Skript-Typen vorhanden sind, kann der Nutzer wählen, ob das Update per SQL oder Liquibase durchgeführt werden soll. |
Werden mehrere Aktualisierungschritte mit Liquibase ausgeführt, kann es zu folgender Fehlermeldungen: ERROR: relation "databasechangeloglock" already exists kommen. Diese Fehlermeldung kann ignoriert werden. |
12.7. Aktualisierung der Daten
Achtung: Die folgenden Schritte müssen nur ausgeführt werden, wenn die bereits in das System importierten Daten beibehalten werden sollen. Für den Fall, dass dies nicht notwendig ist, muss lediglich die Datenbank neu aufgesetzt werden. Dieser Schritt sollte bereits während der Anwendung des Kapitels Aktualisierung des Datenbankschemas durchgeführt worden sein.
Im Modul xplan-update-database-cli wird das Programm databaseUpdate für die
Datenaktualisierung bestimmter xPlanBox-Versionen bereitgestellt. Eine
Liste der für die Datenaktualisierung unterstützten Versionen wird beim
Programmaufruf mit dem Parameter --help
angezeigt.
12.7.1. Datenaktualisierung auf die Version 2.0 sowie 2.2 der xPlanBox
Bei der Aktualisierung der Daten auf die Version 2.0 sowie 2.2 (z. B. von 1.8 auf 2.0 oder 2.1 auf 2.2) der xPlanBox ist abschließend die Ausführung des CLIs zur Aktualisierung des Sortierreihenfolge für den XPlanWMS erforderlich. Informationen dazu finden sich im Abschnitt XPlanManagerCLI im XPlanBenutzerhandbuch. Die erforderliche Konfiguration ist im Abschnitt Konfiguration → Sortierung der Daten in der Visualisierung in dieser Dokumentation beschrieben.
12.8. Aktualisierung auf die Version 2.7 der xPlanBox
Mit der Version 2.7 bietet die xPlanBox die Möglichkeit die vom XPlanManager verwalteten Pläne im INSPIRE Datenthema Planned Land Use (PLU) bereitzustellen. Um diese Option für eine bestehende Installation zu aktivieren, sind folgende Schritte notwendig:
-
Aktualisierung von xplan-manager-workspace und xplan-manager-config (s. Teilweise Aktualisierung des Workspaces).
-
Aufsetzen des INSPIRE PLU Datenbankschemas (s. Manuelles Aufsetzen der Datenbank für die Bereitstellung von INSPIRE PLU).
-
Anlegen des xplan-inspireplu-workspace Workspaces (s. Konfigurationsdateien der Anwendungskomponenten).
-
Installation der xplan-inspireplu.war Webanwendung (s. Web-Anwendungen). Achtung: Anschließend muss der xplan-inspireplu-workspace Workspace initialisiert werden. Dies kann beispielsweise über die deegree Console oder direkt in der Datei webapps.properties mit anschliessendem Neustart der Webanwendung geschehen.
-
Installation von HALE CLI, wie in Installation und Konfiguration von HALE CLI beschrieben.
-
Konfiguration der neuen Option, wie in Bereitstellung als INSPIRE PLU beschrieben.
Falls die neue Funktionalität nicht genutzt werden soll, müssen die Änderungen nicht durchgeführt werden.
12.9. Aktualisierung auf die Version 2.8 der xPlanBox
-
Aktualisierung der Datenbank:
-
Ausführen der Skripte im Verzeichnis from_2.7_to_2.8 im Modul xplan-update-database-cli
-
12.10. Aktualisierung auf die Version 3.0 der xPlanBox
Mit der Version 3.0 der xPlanBox sind einige Erweiterungen und Fehlerbehebungen vorgenommen worden. Für die Aktualisierung auf die Version 3.0 sind folgende Schritte auszuführen:
-
Aktualisierung der Workspaces und Konfigurationen (s. Teilweise Aktualisierung des Workspaces)
-
Aktualisierung der Datenbank:
-
Ausführen der Skripte für die Erstellung der Datenhaltung für 5.0 aus dem Modul xplan-manager-workspace:
-
fix/xplan50/create.sql
-
pre/xplan50/create.sql
-
archive/xplan50/create.sql
-
-
Ausführen der Skripte für die Erstellung der Datenhaltung für 5.1 aus dem Modul xplan-manager-workspace:
-
fix/xplan51/create.sql
-
pre/xplan51/create.sql
-
archive/xplan51/create.sql
-
-
Ausführen der Skripte im Verzeichnis from_2.8_to_3.0 im Modul xplan-update-database-cli in der vorgegebenen Reihenfolge
-
-
Wurde bisher GDAL verwendet (s. Konfiguration von HALE) ist die Aktualisierung von GDAL auf die Version 2.4 erforderlich (s. auch Installation und Konfiguration von GDAL).
Mit der Version 3.0 der xPlanBox können mehrere Ortsteilnamen im XPlanGML auch durch Kommata separiert angegeben werden. Damit diese wie erwartet einem Bezirk zugeordnet werden können (s. Hinweis unter Ortsteile), muss eine Aktualisierung der in der Datenbank gespeicherten Daten erfolgen. Im Modul xplan-update-database-cli steht dafür das Programm districtUpdate zur Verfügung. Der Aufruf des Tools mit --help
liefert Hinweise zur Verwendung.
Weiterhin ist mit der Version 3.0 der xPlanBox die Abbildung von Kreisbögen im XPlanSynWFS und XPlanWMS verbessert worden. Um bereits importierte Pläne mit Kreisbögen in der verbesserten Abbildung abgeben zu können, muss eine Aktualisierung der in der XPlanSyn-Datenhaltung gespeicherten Daten erfolgen. Im Modul xplan-update-database-cli steht dafür das Programm reSynthesizer zur Verfügung. Der Aufruf des Tools mit --help
liefert Hinweise zur Verwendung.
Des Weiteren muss die HALE CLI auf Version 3.4.0 (siehe Installation und Konfiguration von HALE CLI) und GDAL auf Version 2.4 (siehe Installation und Konfiguration von GDAL) aktualisiert werden.
Mit der Version 3.0 wird bei entsprechender Konfiguration (s. Konfiguration der automatisierten Erstellung von Service-Metadatensätzen) beim Import eines Plans geprüft, ob für diesen Plan bereits ein Daten-Metadatensatz existiert. Ist dies der Fall wird automatisiert ein Service-Metadatensatz für den Plan bzw. dessen XPlanWerkWMS erstellt. Sollen für alle oder einzelne bereits importierten Pläne die Service-Metadatensätze generiert und die dazugehörigen Informationen zur Daten-Dienste-Kopplung, die in den Capabilities des XPlanWerkWMS ausgegeben werden, erstellt werden, steht im Modul xplan-update-database-cli das Werkzeug serviceMetadataRecordCreator zur Verfügung.
12.11. Aktualisierung auf die Version 3.3 der xPlanBox
Mit der Version 3.3 der xPlanBox sind einige Erweiterungen und Fehlerbehebungen vorgenommen worden. Darunter auch die Unterstützung von XPlanGML 5.2 und die Entfernung der Unterstützung von XPlanGML 2.0. Für die Aktualisierung auf die Version 3.3 sind folgende Schritte auszuführen:
-
Die Umgebungsvariable MANAGER_WEB wurde nach XPLANBOX_CONFIG umbenannt. MANAGER_WEB kann derzeit noch verwendet werden, die Unterstützung wird jedoch in einer zukünftigen Version der xPlanBox entfernt. Hinweise zu der Umgebungsvariablen XPLANBOX_CONFIG finden sich im Abschnitt Anwendungs-Tomcat. Sind im Anwendungs-Tomcat sowohl der XPlanManagerWeb als auch der XPlanValidatorWeb installiert, müssen alle Konfigurationsdateien aus xplan-validator-config/ und xplan-manager-config/ in einem Verzeichnis zusammengeführt werden, auf das die Umgebungsvariable XPLANBOX_CONFIG verweist.
-
Aktualisierung der Workspaces und Konfigurationen (s. Teilweise Aktualisierung des Workspaces)
-
Im xplansyn-wms-workspace ist mit dieser Version eine Dummy-Konfiguration eines GDALRasterLayers hinzugekommen. Diese muss bei der Aktualisierung nicht übernommen werden (Hintergründe: GDAL).
-
-
Aktualisierung der Datenbank:
-
Ausführen der Skripte für die Erstellung der Datenhaltung für 5.2 aus dem Modul xplan-manager-workspace:
-
fix/xplan52/create.sql
-
pre/xplan52/create.sql
-
archive/xplan52/create.sql
-
inspireplu/05_create_inspireplu_view.sql
-
-
Ausführen der Skripte im Verzeichnis from_3.0_to_3.3 im Modul xplan-update-database-cli in der vorgegebenen Reihenfolge
-
Ausführen des Kommandozeilenwerkzeug reSynthesizer im Modul xplan-update-database-cli zur Aktualisierung der in der XPlanSyn-Datenhaltung gespeicherten Daten. Der Aufruf des Tools mit
--help
liefert Hinweise zur Verwendung.
-
-
Anpassungen im Logging führen dazu, dass standardmäßig in das Log-Verzeichnis des Tomcat-Servers (${catalina.base}/logs) gelogged wird. Das Java Property
xplan.logdir
wird nicht mehr ausgewertet und kann entfernt werden.
Wenn die neuen Features Kartenvorschau im XPlanValidatorWeb und Semantische Validierungsregeln im XPlanValidatorWeb genutzt werden sollen, sind folgende Anpassungen nötig:
-
Workspace xplan-validator-wms-workspace und Konfiguration xplan-validator-config entpacken und installieren (siehe Konfigurationsdateien der Anwendungskomponenten).
-
Installation der xplan-validator-wms.war Webanwendung (s. Web-Anwendungen). Achtung: Anschließend muss der xplan-validator-wms-workspace initialisiert werden. Dies kann beispielsweise über die deegree Console oder durch Anpassung der Datei webapps.properties mit anschliessendem Neustart der Webanwendung erfolgen.
-
XPlanValidatorWeb gemäß Konfiguration des XPlanValidatorWeb konfigurieren.
12.12. Aktualisierung auf die Version 3.3.1 der xPlanBox
Mit der Version 3.3.1 der xPlanBox sind einige Fehlerbehebungen vorgenommen worden.
Für die Aktualisierung auf die Version 3.3.1 sind folgende Schritte auszuführen:
-
Aktualisierung der INSPIRE PLU Transformation (HALE Alignements)
-
Aktualisierung der Dateien xplanGml41-inspirePlu.halex.alignment.xml und xplanGml41-inspirePlu.halex im Verzeichnis xplan-manager-config (s. Teilweise Aktualisierung des Workspaces). Für die Aktualisierung der Daten im INSPIRE PLU Schema ist eine erneute Ausführung der Transformation notwendig.
-
-
Aktualisierung der Datenbank:
-
Ausführen der Skripte im Verzeichnis from_3.3_to_3.3.1 im Modul xplan-update-database-cli. Die Tabelle xplanmgr.plans wurde um die Spalte internalid erweitert.
-
Ausführen des Kommandozeilenwerkzeug reSynthesizer im Modul xplan-update-database-cli zur Aktualisierung der in der XPlanSyn-Datenhaltung gespeicherten Daten. Der reSynthesizer wurde so angepasst, dass die xplanmgr.plans.internalid bei Ausführung in die synthetisierte FeatureCollection übernommen wird.
-
12.13. Aktualisierung auf die Version 4.0 der xPlanBox
Mit der Version 4.0 der xPlanBox sind einige Fehlerbehebungen und Erweiterungen vorgenommen worden. Weiterhin sind die REST-Schnittstellen XPlanManagerAPI und XPlanValidatorAPI neu hinzugekommen.
Für die Aktualisierung auf die Version 4.0 sind folgende Schritte auszuführen:
-
Ist der Patch 3.3.1 nicht installiert, müssen die Aktualisierungsschritte aus Aktualisierung auf die Version 3.3.1 der xPlanBox zuerst ausgeführt werden (die Ausführung des Kommandozeilentools reSynthesizer ist nicht erforderlich).
-
Aktualisierung der Workspaces und Konfigurationen (s. Teilweise Aktualisierung des Workspaces)
-
Aktualisierung der Datenbank:
-
Ausführen der Skripte im Verzeichnis from_3.3_to_4.0 im Modul xplan-update-database-cli.
-
Ausführen des Kommandozeilenwerkzeug reSynthesizer im Modul xplan-update-database-cli zur Aktualisierung der in der XPlanSyn-Datenhaltung gespeicherten Daten.
-
Die Installation der XPlanManagerAPI und XPlanValidatorAPI ist im Abschnitt Web-Anwendungen und die Konfiguration unter Konfiguration der REST-Schnittstellen beschrieben.
12.14. Aktualisierung auf die Version 4.1 der xPlanBox
Für die Aktualisierung auf die Version 4.1 sind folgende Schritte auszuführen:
-
Aktualisierung der Workspaces und Konfigurationen (s. Teilweise Aktualisierung des Workspaces)
12.15. Aktualisierung auf die Version 4.2 der xPlanBox
Mit der Version 4.2 der xPlanBox wird die Version XPlanGML 5.3 unterstützt. Weiterhin sind einige Verbesserungen am XPlanValidator vorgenommen worden. Für die Aktualisierung auf die Version 4.2 sind folgende Schritte auszuführen:
-
Aktualisierung der Workspaces und Konfigurationen (s. Teilweise Aktualisierung des Workspaces)
-
Aktualisierung der Datenbank:
-
Ausführen der Skripte für die Erstellung der Datenhaltung für 5.3 aus dem Modul xplan-manager-workspace:
-
fix/xplan53/create.sql
-
pre/xplan53/create.sql
-
archive/xplan53/create.sql
-
-
Ausführen der Skripte im Verzeichnis from_4.0_to_4.2 im Modul xplan-update-database-cli in der vorgegebenen Reihenfolge
-
Ausführen des Kommandozeilenwerkzeug reSynthesizer im Modul xplan-update-database-cli zur Aktualisierung der in der XPlanSyn-Datenhaltung gespeicherten Daten. Der Aufruf des Tools mit
--help
liefert Hinweise zur Verwendung. -
Des Weiteren muss GDAL auf Version 3.0 aktualisiert werden (siehe Installation und Konfiguration von GDAL).
-
GDAL 2 wird nicht mehr unterstützt. |
12.16. Aktualisierung auf die Version 4.3 der xPlanBox
Für die Aktualisierung auf die Version 4.3 sind folgende Schritte auszuführen:
-
Aktualisierung der Workspaces und Konfigurationen (s. Teilweise Aktualisierung des Workspaces)
-
Ausführen des Kommandozeilenwerkzeug serviceMetadataRecordCreator im Modul xplan-update-database-cli zur Aktualisierung der generierten Metadatensätze, da sich die URL des XPlanWerkWMS geändert hat. Der Aufruf des Tools mit
--help
liefert Hinweise zur Verwendung.
12.17. Aktualisierung auf die Version 5.0
Mit der Version 5.0 der xPlanBox kann die xPlanBox ausschließlich unter Java 11 mit Tomcat 9 betrieben werden, außerdem wird die Version XPlanGML 5.4 unterstützt. Weiterhin sind einige Erweiterungen und Verbesserungen am XPlanValidator, XPlanManagerWeb und den XPlanDiensten vorgenommen worden. Zwei Kommandozeilenwerkzeuge (XPlanAuswerteschemaCLI und XPlanValdiateDB) sind neu hinzugekommen.
Für die Aktualisierung auf die Version 5.0 sind folgende Schritte auszuführen:
-
Aktualisierung der Workspaces und Konfigurationen (s. Teilweise Aktualisierung des Workspaces)
-
Aktualisierung der Datenbank:
-
Ausführen der Skripte für die Erstellung der Datenhaltung für 5.4 aus dem Modul xplan-manager-workspace:
-
fix/xplan54/create.sql
-
pre/xplan54/create.sql
-
archive/xplan54/create.sql
-
-
Ausführen der Skripte im Verzeichnis from_4.2_to_5.0 im Modul xplan-update-database-cli in der vorgegebenen Reihenfolge
-
Ausführen des Kommandozeilenwerkzeug reSynthesizer im Modul xplan-update-database-cli zur Aktualisierung der in der XPlanSyn-Datenhaltung gespeicherten Daten. Der Aufruf des Tools mit
--help
liefert Hinweise zur Verwendung. -
Installation bzw. Inbetriebnahme des neuen Kommandozeilenwerkzeugs XPlanAuswerteschemaCLI (wenn benötigt)
-
Java 1.8 wird nicht mehr unterstützt. |
12.18. Aktualisierung auf die Version 5.0.1
Für eine Installation der Bugfix-Version ist ein Austausch der beiden Webapps erforderlich:
-
xplan-api-manager.war
-
xplan-api-validator.war
Alle anderen Komponenten sind unverändert und müssen nicht aktualisiert werden. Anpassungen an den Konfigurationsdateien sind ebenfalls nicht erforderlich. |
12.19. Aktualisierung auf die Version 5.0.2
Für eine Installation der Bugfix-Version müssen folgende Schritte ausgeführt werden:
-
Austausch der beiden Webapps:
-
xplan-api-manager.war
-
xplan-manager-web.war
-
-
Ausführen der Skripte im Verzeichnis from_5.0_to_5.0.2 im Modul xplan-update-database-cli in der vorgegebenen Reihenfolge
-
Ausführen des Kommandozeilenwerkzeug databaseUpdate im Modul xplan-update-database-cli zur Aktualisierung der XPlanSyn-Datenhaltung, z.B. mit
./databaseUpdate -c <XPLANBOX_CONFIG>/
Alle anderen Komponenten sind unverändert und müssen nicht aktualisiert werden. |
12.20. Aktualisierung auf die Version 5.0.3
Für eine Installation der Bugfix-Version müssen folgende Schritte ausgeführt werden:
-
Setzen der Variable
jts.overlay=ng
im Anwendungs-Tomcat und API-Tomcat, siehe auch Kapitel Anwendungs-Tomcat. -
Austausch der Webapps:
-
xplan-api-validator.war
-
xplan-api-manager.war
-
xplan-validator-web.war
-
xplan-manager-web.war
-
Alle anderen Komponenten sind unverändert und müssen nicht aktualisiert werden. |
12.21. Troubleshooting
Bei unerwartetem Verhalten der xPlanBox nach der Aktualisierung können folgende Punkte helfen:
-
Löschen des Work-Verzeichnisses des Tomcat-Servers. Der Tomcat-Server muss zuvor gestoppt und anschließend neu gestartet werden.
-
Löschen des Browser-Caches.
12.22. Migration der Anwendung
Bei einer Migration der xPlanBox auf einen anderen Server, bei dem sich der Hostname des Servers ändert, muss die URL in mehreren Konfigurationen angepasst werden, damit die Funktionalität der Anwendungen gewährleistet ist. Dabei müssen folgende Anpassungen erfolgen:
12.22.1. Für den XPlanManager:
-
<XPLANBOX_CONFIG>/managerWebConfiguration.properties
-
<XPLANBOX_CONFIG>/managerConfiguration.properties
Anpassungen in der Datei managerWebConfiguration.properties:
In dieser Datei müssen Anpassungen an der URL erfolgen, damit die
Kartenvorschau im XPlanManager funktioniert. Dazu muss der Wert des
Schlüssels wmsUrl
angepasst werden:
wmsUrl=http://<host>:<port>/xplan-wms/services
Für mehr Details siehe Kapitel Kartenvorschau.
Anpassungen in der Datei managerConfiguration.properties:
Für einen Workspace-Reload, muss der XPlanManager den XPlanWMS
erreichen können. Es muss daher der Wert des Schlüssels
workspaceReloadUrls
angepasst werden:
#workspace reloader configuration workspaceReloadUrls=http://<host>:<port>/<service>/ workspaceReloadUser=<user> workspaceReloadPassword=<passwort>
Werden der XPlanWMS und der XPlanManager auf einem Server betrieben, so können die Dienste über den Hostnamen localhost kommunizieren. |
12.22.2. Für den XPlanWMS:
-
html.gfi (im Verzeichnis <DEEGREE_WORKSPACE_ROOT>/xplansyn-wms-workspace/services)
Anpassungen in der Datei html.gfi:
Dazu muss der Wert des Variable WMS_URL
in der Datei angepasst werden.
Für mehr Details siehe Kapitel XPlanWMS.
Anhang A: Vereinfachte Aktualisierungsanleitung
Im Folgenden wird für Dienste-Tomcat, Anwendungs-Tomcat und API-Tomcat jeweils das Verzeichnis <CATALINA_HOME> der entsprechenden Tomcat-Instanz vorausgesetzt und angewendet (siehe Kapitel Konfiguration der Applikationsserver).
Als Basisverzeichnis werden <DEEGREE_DIR> (entspricht <DEEGREE_WORKSPACE_ROOT>), <XPLANBOX_CONFIG> und temporär zur Ablage das Verzeichnis <BACKUP_CONFIG> (z.B. /home/user/tmp) sowie <WORK_DIR> vorausgesetzt.
Alle Tomcat-Instanzen müssen vor der Aktualisierung gestoppt werden!
A.1. Aktualisierung der Webanwendungen
Vorbereitung:
-
Alle WAR-Dateien bzw. die entpackten Verzeichnisse aus Dienste-Tomcat/webapps/, Anwendungs-Tomcat/webapps/, API-Tomcat/webapps/ sichern und im Verzeichnis <BACKUP_CONFIG> ablegen.
Kopieren der folgenden Dateien nach Dienste-Tomcat/webapps/:
-
xplan-wms.war
-
xplan-wfs.war
-
xplansyn-wfs.war
-
xplan-inspireplu.war
-
xplan-validator-wms.war
Kopieren der folgenden Dateien nach Anwendungs-Tomcat/webapps/:
-
xplan-manager-web.war
-
xplan-validator-web.war
-
xplan-root.war
Kopieren der folgenden Dateien nach API-Tomcat/webapps/:
-
xplan-api-manager.war
-
xplan-api-validator.war
A.1.1. Konfiguration der Webanwendung übertragen
Folgende Dateien für XPlanManager aus <BACKUP_CONFIG> zurückspielen, bzw. vergleichen und anpassen:
-
Anwendungs-Tomcat/webapps/xplan-manager-web/index.html anpassen
-
Anwendungs-Tomcat/webapps/xplan-manager-web/XPlanManager.jpg kopieren
-
Anwendungs-Tomcat/webapps/xplan-manager-web/XPlanMgrWeb.css kopieren
-
Anwendungs-Tomcat/webapps/xplan-manager-web/WEB-INF/web.xml anpassen der Konfiguration, wenn der XPlanManagerWeb abgesichert ist (siehe Kapitel Absicherung des XPlanManagerWeb)
-
Anwendungs-Tomcat/webapps/xplan-manager-web/WEB-INF/classes/security.properties anpassen
-
Anwendungs-Tomcat/webapps/xplan-manager-web/WEB-INF/classes/security-configuration.xml kopieren
Folgende Dateien für XPlanValidator sichern und zurückspielen, bzw. vergleichen und anpassen:
-
Anwendungs-Tomcat/webapps/xplan-manager-web/xplan-validator-web/index.html anpassen
-
Anwendungs-Tomcat/webapps/xplan-manager-web/xplan-validator-web/XPlanValidator.jpg kopieren
-
Anwendungs-Tomcat/webapps/xplan-manager-web/xplan-validator-web/XPlanValidatorWeb.css kopieren
-
Anwendungs-Tomcat/webapps/xplan-manager-web/xplan-validator-web/masterportal/config kopieren
-
Anwendungs-Tomcat/webapps/xplan-manager-web/xplan-validator-web/masterportal/config.json kopieren
-
Anwendungs-Tomcat/webapps/xplan-manager-web/xplan-validator-web/masterportal/template/config.template.json kopieren
-
Anwendungs-Tomcat/webapps/xplan-manager-web/xplan-validator-web/masterportal/template/services-internet.template.json kopieren
A.2. Konfiguration aus deegree Workspaces übertragen
Die Zuordnung der Anwendungskomponenten zu den jeweiligen Konfigurationen ist im Kapitel Installationskomponenten und Konfigurationsdateien der Anwendungskomponenten beschrieben.
Vorbereitung:
-
Alle deegree Workspace Verzeichnisse aus <DEEGREE_WORKSPACE_ROOT> und <XPLANBOX_CONFIG> sichern und im Verzeichnis <BACKUP_CONFIG> ablegen.
-
Neue deegree Workspaces ZIP-Dateien entpacken und in die jeweiligen Verzeichnisse unterhalb von <DEEGREE_WORKSPACE_ROOT> kopieren.
-
Die Dateien console.pw und webapps.properties aus <BACKUP_CONFIG> zurückkopieren.
Neben den in den folgenden Abschnitten genannten Dateien können noch weitere Dateien umgebungsspezifische Anpassungen enthalten. Hier sind neben den Service-Metadaten in den Dateien services/*metadata.xml auch die Service-Konfigurationen im Verzeichnis services/ sowie die Konfiguration für die WFS-Storedqueries im Verzeichnis storedqueries/ oder die bbox_cache.properties Konfiguration zu beachten. |
A.2.1. XPlanManager Konfiguration
Konfiguration im Verzeichnis <XPLANBOX_CONFIG>/manager-configuration/ aktualisieren:
-
managerApiConfiguration.properties, managerConfiguration.properties, managerWebConfiguration und validatorConfiguration.properties anpassen
-
<XPLANBOX_CONFIG>/manager-configuration/synthesizer/ kopieren
A.2.2. XPlanValidator Konfiguration
Konfiguration im Verzeichnis <XPLANBOX_CONFIG>/xplan-validator-config/ aktualisieren:
-
<XPLANBOX_CONFIG>/xplan-validator-config/validatorConfiguration.properties kopieren
A.2.3. XPlanManager Workspace Konfiguration
Konfiguration im Verzeichnis <DEEGREE_WORKSPACE_ROOT>/xplan-manager-workspace/ aktualisieren:
-
<BACKUP_CONFIG>/xplan-manager-workspace/jdbc/ kopieren
A.2.4. XPlanSynWFS Workspace Konfiguration
Konfiguration im Verzeichnis <DEEGREE_WORKSPACE_ROOT>/xplansyn-wfs-workspace/ aktualisieren:
-
<BACKUP_CONFIG>/xplansyn-wfs-workspace/jdbc/ kopieren
A.2.5. XPlanWMS Workspace Konfiguration
Konfiguration im Verzeichnis <DEEGREE_WORKSPACE_ROOT>/xplansyn-wms-workspace/ aktualisieren:
-
<BACKUP_CONFIG>/xplansyn-wms-workspace/jdbc/ kopieren
-
<BACKUP_CONFIG>/xplansyn-wms-workspace/gdal.xml kopieren und die Datei gdal.ignore entfernen, wenn GDAL genutzt wird (siehe Installation und Konfiguration von GDAL und GDAL)
-
<BACKUP_CONFIG>/xplansyn-wms-workspace/services/html.gfi
-
<BACKUP_CONFIG>/xplansyn-wms-workspace/data/ zurückkopieren
-
<BACKUP_CONFIG>/xplansyn-wms-workspace/datasources/tile zurückkopieren
-
<BACKUP_CONFIG>/xplansyn-wms-workspace/layers/ alle Layer, die mit einer Zahl beginnen, zurückkopieren
-
<BACKUP_CONFIG>/xplansyn-wms-workspace/themes/*raster.xml (alle Dateien die auf raster.xml enden) zurückkopieren
Weitere Hinweise zu der Verzeichnisstruktur und der Ablage von Rasterdateien sind im Anhang XPlanWMS Workspace zu finden. |
A.2.6. XPlanWFS Workspace Konfiguration
Konfiguration im Verzeichnis <DEEGREE_WORKSPACE_ROOT>/xplan-wfs-workspace/ aktualisieren:
-
<BACKUP_CONFIG>/xplan-wfs-workspace/jdbc/ kopieren
A.2.7. XPlanInspirePluWFS und XPlanInspirePluWMS Workspace Konfiguration
Konfiguration im Verzeichnis <XPLANBOX_CONFIG>/xplan-inspireplu-workspace/ aktualisieren:
-
<BACKUP_CONFIG>/xplan-inspireplu-workspace/jdbc/ kopieren
A.3. Aktualisierung der Datenbank
Anhang B: bbox_cache.properties Konfiguration
Im Folgenden befindet sich eine vollständige bbox_cache.properties. Diese ist vorkonfiguriert auf ganz Deutschland:
### # #%L # xplan-betriebshandbuch - Betriebshandbuch fuer XPlan Manager und XPlan Validator # %% # Copyright (C) 2008 - 2022 lat/lon GmbH, info@lat-lon.de, www.lat-lon.de # %% # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # #L% ### #Fri Mar 15 10:30:26 CET 2013 {http\://www.deegree.org/xplanung/1/0}BP_AbgrabungsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_AbstandsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_AbstandsMass=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_AbweichungVonBaugrenze=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_AbweichungVonUeberbaubererGrundstuecksFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_AnpflanzungBindungErhaltung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_AufschuettungsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_Ausgleich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_AusgleichsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_AusgleichsMassnahme=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_BahnVerkehr=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_Baugebiet=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_BaugebietsTeilFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_BauGrenze=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_BauLinie=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_Bauschutzbereich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_Bereich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_BereichOhneEinAusfahrtLinie=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_BesondererNutzungszweckFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_BodenschaetzeFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_DenkmalschutzEinzelanlage=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_DenkmalschutzEinzelanlagePunkt=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_DenkmalschutzEnsembleFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_EinfahrtPunkt=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_EinfahrtsbereichLinie=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_EingriffsBereich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_ErhaltungsBereichFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_ErneuerbareEnergieFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_Fachgesetz=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_FestsetzungenBaugebiet=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_FestsetzungNachLandesrecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_FirstRichtungsLinie=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_FlaecheOhneFestsetzung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_FoerderungsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_FreiFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_GebaeudeFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_GemeinbedarfsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_GemeinschaftsanlagenFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_GemeinschaftsanlagenZuordnung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_GenerischesObjekt=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_GestaltungBaugebiet=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_GewaesserFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_Grabungsschutzgebiet=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_GruenFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_HoehenMass=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_HoehenPunkt=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_Immissionsschutz=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_WohngebaeudeFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_KennzeichnungsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_KleintierhaltungFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_Laermschutzbereich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_Landwirtschaft=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_LandwirtschaftsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_LandwirtschaftsLinie=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_LuftreinhalteFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_LuftverkehrFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_NebenanlagenAusschlussFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_NebenanlagenFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_NichtUeberbaubareGrundstuecksflaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_NutzungsartenGrenze=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_PersGruppenBestimmteFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_Plan=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_RasterplanAenderung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_RegelungVergnuegungsstaetten=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_RekultivierungsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_RichtungssektorGrenze=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_Schutzgebiet=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_SchutzPflegeEntwicklungsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_SchutzPflegeEntwicklungsMassnahme=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_Sichtflaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_SpezielleBauweise=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_SpielSportanlagenFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_StrassenbegrenzungsLinie=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_Strassenkoerper=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_StrassenVerkehrsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_TechnikBestimmteFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_TechnischeMassnahmenFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_TextAbschnitt=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_TextlicheFestsetzungsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_UeberbaubareGrundstuecksFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_UnverbindlicheVormerkung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_Veraenderungssperre=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_VerEntsorgung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_VerEntsorgungsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_VerEntsorgungsleitungLinie=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_VerkehrsflaecheBesondererZweckbestimmung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_VorbHochwSchutzFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_WaldFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_WasserrechtlicheFestsetzungsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_WasserwirtschaftsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_Wegerecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_ZentralerVersorgungsbereich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_ZusatzkontingentLaerm=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}BP_ZusatzkontingentLaermFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Abgrabung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_AbgrabungsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_AnpassungKlimawandel=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Aufschuettung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_AufschuettungsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_AusgleichsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Bahnverkehr=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Bauschutzbereich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_BebauungsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Bereich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Bodenschaetze=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_BodenschaetzeFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_DarstellungNachLandesrecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_DenkmalschutzEnsemble=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Erhaltungssatzung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Fachgesetz=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_FlaecheOhneDarstellung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Gemeinbedarf=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_GenerischesObjekt=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Gewaesser=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Grabungsschutzgebiet=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Gruen=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_KeineZentrAbwasserBeseitigungFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Kennzeichnung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Laermschutzbereich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Landwirtschaft=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_LandwirtschaftsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Luftverkehr=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_NutzungsbeschraenkungsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Plan=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_PrivilegiertesVorhaben=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_PriviligiertesVorhaben=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_RasterplanAenderung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Schutzgebiet=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_SchutzPflegeEntwicklung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_SpielSportanlage=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Strassenverkehr=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_TextAbschnitt=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_TextlicheDarstellungsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_UnverbindlicheVormerkung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_VerEntsorgung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_VorbehalteFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_VorbHochwSchutz=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_WaldFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Wasserrecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_Wasserwirtschaft=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}FP_ZentralerVersorgungsbereich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_Abgrenzung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_AllgGruenflaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_AnpflanzungBindungErhaltung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_Ausgleich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_Bereich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_Biotopverbundflaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_Bodenschutzrecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_Denkmalschutzrecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_ErholungFreizeit=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_Forstrecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_GenerischesObjekt=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_Landschaftsbild=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_NRW_Biotopschutz=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_NRW_Brachflaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_NRW_ElementeKulturlandschaft=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_NRW_ForstlicheFestsetzung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_NRW_HerrichtungGrundstueck=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_NRW_PflegeAnpflanzung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_NRW_PflegeLandschaftsbild=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_NRW_SchutzobjektLandesrecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_NRW_SonstigeMassnahme=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_NRW_StrukturenElementeBesiedelterBereich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_NRW_TemporaererLandschaftsschutz=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_NRW_VerpflichtungWRRL=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_NutzungsAusschluss=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_NutzungserfordernisRegelung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_Plan=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_PlanerischeVertiefung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_RasterplanAenderung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_SchutzobjektBundesrecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_SchutzobjektInternatRecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_SchutzobjektLandesrecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_SchutzPflegeEntwicklung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_SonstigeAbgrenzuung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_SonstigesRecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_TextAbschnitt=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_TextlicheFestsetzungsFlaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_WasserrechtGemeingebrEinschraenkungNaturschutz=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_WasserrechtSchutzgebiet=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_WasserrechtSonstige=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_WasserrechtWirtschaftAbflussHochwSchutz=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_ZuBegruenendeGrundstueckflaeche=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}LP_Zwischennutzung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Achse=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Bereich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Bodenschutz=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Einzelhandel=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Energieversorgung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Entsorgung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Entwicklungsschwerpunkte=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Erholung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_ErneuerbareEnergie=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Forstwirtschaft=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Freiraum=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_FreizeitErholung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Funktionszuweisung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_GemeindeFunktionSiedlungsentwicklung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_GenerischesObjekt=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Gewaesser=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Grenze=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_GruenzugGruenzaesur=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Hochwasserschutz=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_IndustrieGewerbe=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Klimaschutz=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Kommunikation=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_KulturellesSachgut=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Kulturlandschaft=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_LaermschutzBauschutz=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Laermschutzbereich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Landwirtschaft=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Legendenobjekt=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Luftverkehr=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NaturLandschaft=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NaturschutzrechtlichesSchutzgebiet=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_ASB=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_AufschuettungAblagerung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_Forstwirtschaft=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_FreiraumAgrarbereich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_GIB=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_GrundwasserGewaesserschutz=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_Laermschutzzone=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_Landschaftsschutz=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_Luftverkehr=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_Naturschutz=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_OberflaechenGewaesser=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_OberflaechennaheBodenschaetze=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_Schienenverkehr=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_SonstigeInfrastruktur=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_SonstigerSiedlungsbereich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_SonstigeZweckbindung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_SonstVerkehr=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_Strassenverkehr=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_Ueberschwemmungsbereich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_Wasserverkehr=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_NRW_Zeitlinie=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Plan=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Planungsraum=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_RadwegWanderweg=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_RasterplanAenderung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Raumkategorie=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Rohstoff=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Rohstoffsicherung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Schienenverkehr=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Siedlung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_SonstigeInfrastruktur=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_SonstigerFreiraumschutz=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_SonstigerFreiraumstruktur=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_SonstigerSiedlungsbereich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_SonstigeSiedlungsstruktur=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_SonstVerkehr=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_SozialeInfrastruktur=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Sperrgebiet=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Sportanlage=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Strassenverkehr=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_TextAbschnitt=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Verkehr=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_VorbHochwasserschutz=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Wasserschutz=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Wasserverkehr=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Wasserwirtschaft=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Windenergie=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_Windenergienutzung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_WohnenSiedlung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}RP_ZentralerOrt=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_Bauverbotszone=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_Bereich=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_Bodenschutzrecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_Denkmalschutzrecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_Forstrecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_Gebiet=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_Gelaendemorphologie=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_Gewaesser=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_Grenze=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_Linienobjekt=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_Luftverkehrsrecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_Objekt=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_Plan=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_RasterplanAenderung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_Schienenverkehrsrecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_SchutzgebietNaturschutzrecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_SchutzgebietSonstigesRecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_SchutzgebietWasserrecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_SonstigesRecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_Strassenverkehrsrecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_TextAbschnitt=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}SO_Wasserrecht=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_BegruendungAbschnitt=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_DatumAttribut=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_DoubleAttribut=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_ExterneReferenz=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_ExterneReferenzPlan=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_FPO=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_Grenze=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_Hoehenangabe=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_IntegerAttribut=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_LPO=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_LTO=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_Nutzungsschablone=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_PPO=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_Praesentationsobjekt=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_PTO=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_Rasterdarstellung=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_RasterplanBasis=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_StringAttribut=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_TextAbschnitt=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_URLAttribut=epsg\:4326,5.7,47.2,15.1,55.1 {http\://www.deegree.org/xplanung/1/0}XP_VerfahrensMerkmal=epsg\:4326,5.7,47.2,15.1,55.1
Anhang C: XPlanWMS Workspace
Der Workspace xplansyn-wms-workspace wird durch den XPlanManager verwaltet. Werden XPlanArchive mit Rasterdaten über den XPlanManager importiert, dann werden die Rasterdateien im Dateisystem abgespeichert und entsprechende Konfigurationsdateien erzeugt bzw. erweitert. Die folgende Übersicht der Verzeichnisstruktur und der darin enthaltenen Dateien erläutert, wo die Rasterdateien abgelegt und die entsprechenden Konfigurationsdateien generiert werden. Dies sind die mit den Ziffern <2>, <3>, <4>, <7> und <13> markierten Verzeichnisse.
. ├── appschemas (1) │ ├── XPlanGML_3_0 │ │ ├── *.xsd │ ├── XPlanGML_4_0 │ │ ├── *.xsd │ ├── XPlanGML_4_1 │ │ ├── *.xsd │ ├── XPlanGML_5_0 │ │ ├── *.xsd │ ├── XPlanGML_5_1 │ │ ├── *.xsd │ ├── XPlanGML_5_2 │ │ ├── *.xsd │ └── XPlanGML_5_3 │ └── *.xsd ├── data (2) │ ├── *.[png|pgw|tif|tfw] ├── datasources/tile (3) │ ├── *.xml │ └── tilematrixset (4) │ └── *.xml ├── gdal.ignore (5) ├── gdal.xml (5) ├── jdbc (6) │ └── xplan.xml ├── layers (7) │ ├── bplan.xml │ ├── bplanarchive.xml │ ├── bplanpre.xml │ ├── fplan.xml │ ├── fplanarchive.xml │ ├── fplanpre.xml │ ├── lplan.xml │ ├── lplanarchive.xml │ ├── lplanpre.xml │ ├── rplan.xml │ ├── rplanarchive.xml │ ├── rplanpre.xml │ ├── soplan.xml │ ├── soplanarchive.xml │ └── soplanpre.xml ├── legends (8) │ └── *.png ├── services (9) │ ├── html.gfi (10) │ ├── wms.xml │ ├── wms_metadata.xml │ ├── wmsarchive.xml │ ├── wmsarchive_metadata.xml │ ├── wmspre.xml │ └── wmspre_metadata.xml ├── styles (11) │ └── *.xml ├── symbols (12) │ ├── *.ttf │ ├── LROP │ │ ├──*.svg │ ├── ROK │ │ ├── *.svg │ ├── RROP │ │ ├── *.svg │ └── *.svg └── themes (13) ├── bplan.xml ├── bplanarchive.xml ├── bplanarchiveraster.xml ├── bplanpre.xml ├── bplanpreraster.xml ├── bplanraster.xml ├── fplan.xml ├── fplanarchive.xml ├── fplanarchiveraster.xml ├── fplanpre.xml ├── fplanpreraster.xml ├── fplanraster.xml ├── lplan.xml ├── lplanarchive.xml ├── lplanarchiveraster.xml ├── lplanpre.xml ├── lplanpreraster.xml ├── lplanraster.xml ├── rplan.xml ├── rplanarchive.xml ├── rplanarchiveraster.xml ├── rplanpre.xml ├── rplanpreraster.xml ├── rplanraster.xml ├── soplan.xml ├── soplanarchive.xml ├── soplanarchiveraster.xml ├── soplanpre.xml ├── soplanpreraster.xml └── soplanraster.xml
1 | Im Verzeichnis appschemas/ liegen alle von der xPlanBox unterstützten XPlanGML-Schemadateien. |
2 | Im Verzeichnis data/ werden die Rasterdaten (PNG oder GeoTIFF) aus dem XPlanArchiv abgelegt. |
3 | Im Verzeichnis datasources/tile/ werden zu jeder Konfigurationsdatei aus <4> durch den XPlanManager Konfigurationsdateien nach dem Muster <planId>_<rasterdatei>.xml automatisch erzeugt. |
4 | Im Verzeichnis datasources/tile/tilematrixset/ werden zu jeder Rasterdatei aus <2> durch den XPlanManager Konfigurationsdateien nach dem Muster <planId>_<rasterdatei>.xml automatisch erzeugt. |
5 | Die Datei gdal.ignore ist nur erforderlich, wenn kein GDAL verwendet wird. Wird GDAL verwendet, dann muss die Konfigurationsdatei gdal.xml angelegt werden. |
6 | Im Verzeichnis jdbc/ liegt die Konfigurationsdatei mit der Datenbankverbindung zur XPlanDB. |
7 | Im Verzeichnis layers/ werden zu jeder Rasterdatei durch den XPlanManager eine Konfigurationsdatei passend zu <3> nach dem Muster <planId>_<rasterdatei>.xml automatisch erzeugt. |
8 | Im Verzeichnis legends/ liegen die Legendensymbole. |
9 | Im Verzeichnis services/ liegen die Konfigurationsdateien für den XPlanWMS. |
10 | Die Datei html.gfi beinhaltet die Konfiguration der HTML-Ausgabe der GetFeatureInfo-Operation des XPlanWMS. |
11 | Im Verzeichnis styles/ liegen die Zeichenvorschriften für den XPlanWMS. |
12 | Im Verzeichnis symbols/ liegen die Symbole, die in den Zeichenvorschriften verwendet werden. |
13 | Im Verzeichnis themes/ liegen die Konfigurationsdateien für den XPlanWMS, die den Ebenenbaum definieren. Die unter <6> generierten Konfigurationsdateien für die einzelnen Ebenen werden beim Import vom XPlanManager automatisch erweitert. Dies sind nach Planart und Planstatus die Dateien mit der Dateiendung *raster.xml . |
Anhang D: Datenbankmodell der XPlanDB
Die XPlanDB enthält für jede unterstützte XPlanGML-Version ein eigenes Datenbankschema. Die Datenbankschema je XPlanGML-Version unterscheiden sich nur im Namen des Schemas und nutzen das BLOB-Mapping von deegree (siehe deegree webservices BLOB mapping) für die Ablage von XPlanGML-Dokumenten.
D.1. Datenbankschema für XPlanGML 5.3
Das folgende Diagramm zeigt exemplarisch die Tabellenstruktur aus dem Datenbankschema xplan53
für die Ablage von XPlanGML-Dokumenten in der Version 5.3.
In der Tabelle feature_types
werden die in XPlanGML 5.3 enthaltenen Feature Types gespeichert. In der Tabelle gml_objects
werden die in den XPlanGML-Dokumenten enthaltenen Features in xplan53.gml_objects.binary_object
gespeichert.

Die Tabellenstruktur aus diesem Schema unterscheidet sich nicht zu den anderen von der xPlanBox unterstützten XPlanGML-Versionen. Nur die Inhalte in den jeweiligen feature_types
Tabellen der anderen Schemata unterscheiden sich je nach XPlanGML-Version.
D.2. Datenbankschema für XPlanSyn
Das XPlanSyn-Schema wird aus den von der xPlanBox unterstützten XPlanGML-Versionen abgeleitet. Dabei wird ein versionsübergreifendes Schema erzeugt.
In der aktuellen Version der xPlanBox sind dies die XPlanGML-Versionen 3.0 bis 5.4 und das Datenbankschema xplansyn
umfasst 324 Tabellen. XPlanGML-Dokumente werden im XPlanSyn-Schema unter Verwendung des relationalen Mappings von deegree (siehe deegree webservices relational mapping) gespeichert.
Wird eine ältere XPlanGML-Version abgekündigt oder eine neue XPlanGML-Version hinzugefügt, ändert sich das XPlanSyn-Schema! |
Die folgenden Diagramme zeigen die Tabellenstruktur für ausgewählte Fachdatenobjekte (abgeleitete Feature Types aus den XPlanGML-Schema) aus dem Schema xplansyn
.







D.3. Datenbankschema für XPlanManager
Das Datenbankschema für den XPlanManager enthält neben einigen Informationen aus dem XPlanGML-Dokument auch alle mit dem XPlanArchiv importierten Anhänge.
Das folgende Diagramm zeigt die Tabellenstruktur für das Schema xplanmgr
.
In der Tabelle xplanmgr.plans.artefacts
werden alle im XPlanArchiv enthaltenen Dokumente gespeichert. Die Tabelle xplanmgr.plans.planwerkwmsmetadata
beinhaltet Informationen zum XPlanWerkWMS.

Die Rasterdateien werden zusätzlich für die Bereitstellung über den XPlanWMS auch im Workspace des XPlanWMS abgelegt. Die Verzeichnisstruktur im Kapitel XPlanWMS Workspace beschrieben. |
Anhang E: Lizenzen der verwendeten Bibliotheken
(The Apache Software License, Version 2.0) ClassMate (com.fasterxml:classmate:1.3.4 - http://github.com/FasterXML/java-classmate)
(The Apache Software License, Version 2.0) Jackson-annotations (com.fasterxml.jackson.core:jackson-annotations:2.13.1 - http://github.com/FasterXML/jackson)
(The Apache Software License, Version 2.0) Jackson-annotations (com.fasterxml.jackson.core:jackson-annotations:2.9.6 - http://github.com/FasterXML/jackson)
(The Apache Software License, Version 2.0) Jackson-core (com.fasterxml.jackson.core:jackson-core:2.13.1 - https://github.com/FasterXML/jackson-core)
(The Apache Software License, Version 2.0) jackson-databind (com.fasterxml.jackson.core:jackson-databind:2.13.1 - http://github.com/FasterXML/jackson)
(The Apache Software License, Version 2.0) jackson-databind (com.fasterxml.jackson.core:jackson-databind:2.9.6 - http://github.com/FasterXML/jackson)
(The Apache Software License, Version 2.0) Jackson-dataformat-YAML (com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.13.1 - https://github.com/FasterXML/jackson-dataformats-text)
(The Apache Software License, Version 2.0) Jackson datatype: Joda (com.fasterxml.jackson.datatype:jackson-datatype-joda:2.13.1 - https://github.com/FasterXML/jackson-datatype-joda)
(The Apache Software License, Version 2.0) Jackson datatype: JSR310 (com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.12.1 - https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jsr310)
(The Apache Software License, Version 2.0) Jackson-JAXRS: base (com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:2.13.1 - http://github.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-base)
(The Apache Software License, Version 2.0) Jackson-JAXRS: JSON (com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:2.13.1 - http://github.com/FasterXML/jackson-jaxrs-providers/jackson-jaxrs-json-provider)
(The Apache Software License, Version 2.0) Jackson module: Old JAXB Annotations (javax.xml.bind) (com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.13.1 - https://github.com/FasterXML/jackson-modules-base)
(The Apache License, Version 2.0) Woodstox (com.fasterxml.woodstox:woodstox-core:5.1.0 - https://github.com/FasterXML/woodstox)
(Apache Software License, version 2.0) (Lesser General Public License, version 3 or greater) null (com.github.fge:btf:1.2 - https://github.com/fge/btf)
(Apache Software License, version 2.0) (Lesser General Public License, version 3 or greater) null (com.github.fge:jackson-coreutils:1.6 - https://github.com/fge/jackson-coreutils)
(Apache Software License, version 2.0) (Lesser General Public License, version 3 or greater) null (com.github.fge:json-patch:1.6 - https://github.com/fge/json-patch)
(Apache Software License, version 2.0) (Lesser General Public License, version 3 or greater) null (com.github.fge:msg-simple:1.1 - https://github.com/fge/msg-simple)
(Apache Software License, version 2.0) (Lesser General Public License, version 3 or greater) null (com.github.fge:uri-template:0.9 - https://github.com/fge/uri-template)
(Apache Software License, version 2.0) (Lesser General Public License, version 3 or greater) json-schema-core (com.github.java-json-tools:json-schema-core:1.2.8 - https://github.com/java-json-tools/json-schema-core)
(Apache Software License, version 2.0) (Lesser General Public License, version 3 or greater) json-schema-validator (com.github.java-json-tools:json-schema-validator:2.2.8 - https://github.com/box-metadata/json-schema-validator)
(The Apache Software License, Version 2.0) gwt-jackson :: API (com.github.nmorel.gwtjackson:gwt-jackson:0.15.4 - https://github.com/nmorel/gwt-jackson)
(Apache 2.0) Auto Common Libraries (com.google.auto:auto-common:1.2 - https://github.com/google/auto/tree/master/common)
(Apache 2.0) AutoService Processor (com.google.auto.service:auto-service:1.0.1 - https://github.com/google/auto/tree/master/service)
(Apache 2.0) AutoService (com.google.auto.service:auto-service-annotations:1.0.1 - https://github.com/google/auto/tree/master/service)
(The Apache Software License, Version 2.0) FindBugs-jsr305 (com.google.code.findbugs:jsr305:3.0.2 - http://findbugs.sourceforge.net/)
(The Apache Software License, Version 2.0) Gson (com.google.code.gson:gson:2.2.2 - http://code.google.com/p/google-gson/)
(Apache 2.0) Gson (com.google.code.gson:gson:2.8.7 - https://github.com/google/gson/gson)
(Apache 2.0) error-prone annotations (com.google.errorprone:error_prone_annotations:2.2.0 - http://nexus.sonatype.org/oss-repository-hosting.html/error_prone_parent/error_prone_annotations)
(Apache 2.0) error-prone annotations (com.google.errorprone:error_prone_annotations:2.7.1 - http://nexus.sonatype.org/oss-repository-hosting.html/error_prone_parent/error_prone_annotations)
(The Apache Software License, Version 2.0) Guava InternalFutureFailureAccess and InternalFutures (com.google.guava:failureaccess:1.0.1 - https://github.com/google/guava/failureaccess)
(The Apache Software License, Version 2.0) Guava: Google Core Libraries for Java (com.google.guava:guava:27.0.1-android - https://github.com/google/guava/guava)
(Apache License, Version 2.0) Guava: Google Core Libraries for Java (com.google.guava:guava:31.0.1-jre - https://github.com/google/guava)
(The Apache Software License, Version 2.0) Guava ListenableFuture only (com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava - https://github.com/google/guava/listenablefuture)
(GWT Terms) gwt-servlet (com.google.gwt:gwt-servlet:2.9.0 - http://www.gwtproject.org/gwt-servlet/)
(GWT Terms) gwt-user (com.google.gwt:gwt-user:2.9.0 - http://www.gwtproject.org/gwt-user/)
(The Apache Software License, Version 2.0) J2ObjC Annotations (com.google.j2objc:j2objc-annotations:1.1 - https://github.com/google/j2objc/)
(The Apache Software License, Version 2.0) J2ObjC Annotations (com.google.j2objc:j2objc-annotations:1.3 - https://github.com/google/j2objc/)
(The Apache Software License, Version 2.0) JsInterop Annotations (com.google.jsinterop:jsinterop-annotations:2.0.0 - https://github.com/google/jsinterop-annotations)
(The Apache Software License, Version 2.0) ZXing Core (com.google.zxing:core:3.3.3 - https://github.com/zxing/zxing/core)
(The Apache Software License, Version 2.0) libphonenumber (com.googlecode.libphonenumber:libphonenumber:8.0.0 - https://github.com/googlei18n/libphonenumber/)
(MPL 2.0 or EPL 1.0) H2 Database Engine (com.h2database:h2:1.4.200 - https://h2database.com)
(EPL 1.0) (MPL 2.0) H2 Database Engine (com.h2database:h2:2.1.210 - https://h2database.com)
(The Apache Software License, Version 2.0) project ':json-path' (com.jayway.jsonpath:json-path:2.4.0 - https://github.com/jayway/JsonPath)
(The Apache Software License, Version 2.0) project ':json-path-assert' (com.jayway.jsonpath:json-path-assert:2.4.0 - https://github.com/jayway/JsonPath)
(Mozilla Public License) iText, a Free Java-PDF library (com.lowagie:itext:2.1.7.js7 - http://www.lowagie.com/iText/)
(Eclipse Public License, Version 1.0) (GNU Lesser General Public License, Version 2.1) c3p0 (com.mchange:c3p0:0.9.5.4 - https://github.com/swaldman/c3p0)
(Eclipse Public License, Version 1.0) (GNU Lesser General Public License, Version 2.1) mchange-commons-java (com.mchange:mchange-commons-java:0.2.15 - https://github.com/swaldman/mchange-commons-java)
(Apache 2.0) JavaPoet (com.squareup:javapoet:1.0.0 - http://github.com/square/javapoet/)
(EDL 1.0) Jakarta Activation (com.sun.activation:jakarta.activation:1.2.2 - https://github.com/eclipse-ee4j/jaf/jakarta.activation)
(CDDL 1.1) (GPL2 w/ CPE) jersey-core (com.sun.jersey:jersey-core:1.19.4 - https://jersey.java.net/jersey-core/)
(CDDL 1.1) (GPL2 w/ CPE) jersey-server (com.sun.jersey:jersey-server:1.19.4 - https://jersey.java.net/jersey-server/)
(Sun Microsystems, Inc. Binary Code License Agreement) Java Advanced Imaging Codecs (com.sun.media:jai-codec:1.1.3 - http://java.sun.com/products/java-media/jai)
(BSD License) Java Advanced Imaging Image I/O Tools (com.sun.media:jai_imageio:1.1 - https://jai-imageio.dev.java.net/)
(Eclipse Distribution License - v 1.0) Old JAXB Runtime (com.sun.xml.bind:jaxb-impl:2.3.5 - https://eclipse-ee4j.github.io/jaxb-ri/)
(Apache License, Version 2.0) fastinfoset (com.sun.xml.fastinfoset:FastInfoset:1.2.13 - http://fi.java.net)
(Apache License, Version 2.0) (Eclipse Distribution License - v 1.0) fastinfoset (com.sun.xml.fastinfoset:FastInfoset:1.2.18 - https://projects.eclipse.org/projects/ee4j.jaxb-impl/FastInfoset)
(Eclipse Distribution License - v 1.0) Jakarta SOAP Implementation (com.sun.xml.messaging.saaj:saaj-impl:1.5.2 - https://projects.eclipse.org/projects/ee4j/metro-saaj/saaj-impl)
(Eclipse Distribution License - v 1.0) xmlstreambuffer (com.sun.xml.stream.buffer:streambuffer:1.5.9 - https://github.com/eclipse-ee4j/metro-xmlstreambuffer)
(Eclipse Distribution License - v 1.0) JAX-WS RI Runtime (jaxws-rt) (com.sun.xml.ws:jaxws-rt:2.3.3 - https://projects.eclipse.org/projects/ee4j/jaxws-ri-bom/jaxws-ri-bom-ext/project/jaxws-rt)
(Eclipse Distribution License - v 1.0) policy (com.sun.xml.ws:policy:2.7.10 - https://github.com/eclipse-ee4j/metro-policy)
(The Apache Software License, Version 2.0) HikariCP (com.zaxxer:HikariCP:3.4.5 - https://github.com/brettwooldridge/HikariCP)
(The Apache Software License, Version 2.0) HikariCP (com.zaxxer:HikariCP-java7:2.4.13 - https://github.com/brettwooldridge/HikariCP)
(Apache License, Version 2.0) Apache Commons BeanUtils (commons-beanutils:commons-beanutils:1.9.4 - https://commons.apache.org/proper/commons-beanutils/)
(The Apache Software License, Version 2.0) Commons CLI (commons-cli:commons-cli:1.2 - http://commons.apache.org/cli/)
(Apache License, Version 2.0) Apache Commons Codec (commons-codec:commons-codec:1.12 - http://commons.apache.org/proper/commons-codec/)
(Apache License, Version 2.0) Apache Commons Collections (commons-collections:commons-collections:3.2.2 - http://commons.apache.org/collections/)
(The Apache Software License, Version 2.0) Commons DBCP (commons-dbcp:commons-dbcp:1.4 - http://commons.apache.org/dbcp/)
(The Apache Software License, Version 2.0) Commons Digester (commons-digester:commons-digester:2.1 - http://commons.apache.org/digester/)
(Apache License, Version 2.0) Apache Commons FileUpload (commons-fileupload:commons-fileupload:1.3.3 - http://commons.apache.org/proper/commons-fileupload/)
(Apache License, Version 2.0) Apache Commons IO (commons-io:commons-io:2.7 - https://commons.apache.org/proper/commons-io/)
(The Apache Software License, Version 2.0) Commons Lang (commons-lang:commons-lang:2.4 - http://commons.apache.org/lang/)
(The Apache Software License, Version 2.0) Apache Commons Logging (commons-logging:commons-logging:1.2 - http://commons.apache.org/proper/commons-logging/)
(The Apache Software License, Version 2.0) Commons Pool (commons-pool:commons-pool:1.6 - http://commons.apache.org/pool/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-connectionprovider-datasource (de.latlon:deegree-connectionprovider-datasource:3.4.27 - http://www.deegree.org/deegree-core/deegree-connectionprovider-datasource/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-core-annotations (de.latlon:deegree-core-annotations:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-annotations/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-core-base (de.latlon:deegree-core-base:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-base/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-core-commons (de.latlon:deegree-core-commons:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-commons/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-core-coverage (de.latlon:deegree-core-coverage:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-coverage/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-core-cs (de.latlon:deegree-core-cs:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-cs/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-core-db (de.latlon:deegree-core-db:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-db/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-core-featureinfo (de.latlon:deegree-core-featureinfo:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-featureinfo/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-core-filterfunctions (de.latlon:deegree-core-filterfunctions:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-filterfunctions/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-core-gdal (de.latlon:deegree-core-gdal:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-gdal/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-core-geometry (de.latlon:deegree-core-geometry:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-geometry/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-core-layer (de.latlon:deegree-core-layer:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-layer/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-core-metadata (de.latlon:deegree-core-metadata:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-metadata/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-core-rendering-2d (de.latlon:deegree-core-rendering-2d:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-rendering-2d/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-core-style (de.latlon:deegree-core-style:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-style/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-core-theme (de.latlon:deegree-core-theme:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-theme/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-core-tile (de.latlon:deegree-core-tile:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-tile/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-core-workspace (de.latlon:deegree-core-workspace:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-workspace/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-featurestore-commons (de.latlon:deegree-featurestore-commons:3.4.27 - http://www.deegree.org/deegree-datastores/deegree-featurestores/deegree-featurestore-commons/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-featurestore-memory (de.latlon:deegree-featurestore-memory:3.4.27 - http://www.deegree.org/deegree-datastores/deegree-featurestores/deegree-featurestore-memory/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-featurestore-shape (de.latlon:deegree-featurestore-shape:3.4.27 - http://www.deegree.org/deegree-datastores/deegree-featurestores/deegree-featurestore-shape/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-featurestore-simplesql (de.latlon:deegree-featurestore-simplesql:3.4.27 - http://www.deegree.org/deegree-datastores/deegree-featurestores/deegree-featurestore-simplesql/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-featurestore-sql (de.latlon:deegree-featurestore-sql:3.4.27 - http://www.deegree.org/deegree-datastores/deegree-featurestores/deegree-featurestore-sql/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-layers-feature (de.latlon:deegree-layers-feature:3.4.27 - http://www.deegree.org/deegree-layers/deegree-layers-feature/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-layers-tile (de.latlon:deegree-layers-tile:3.4.27 - http://www.deegree.org/deegree-layers/deegree-layers-tile/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-mdstore-commons (de.latlon:deegree-mdstore-commons:3.4.27 - http://www.deegree.org/deegree-datastores/deegree-mdstores/deegree-mdstore-commons/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-protocol-commons (de.latlon:deegree-protocol-commons:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-protocol/deegree-protocol-commons/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-protocol-csw (de.latlon:deegree-protocol-csw:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-protocol/deegree-protocol-csw/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-protocol-wfs (de.latlon:deegree-protocol-wfs:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-protocol/deegree-protocol-wfs/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-protocol-wms (de.latlon:deegree-protocol-wms:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-protocol/deegree-protocol-wms/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-remoteows-commons (de.latlon:deegree-remoteows-commons:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-remoteows/deegree-remoteows-commons/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-remoteows-wms (de.latlon:deegree-remoteows-wms:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-remoteows/deegree-remoteows-wms/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-services-commons (de.latlon:deegree-services-commons:3.4.27 - http://www.deegree.org/deegree-services/deegree-services-commons/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-services-wms (de.latlon:deegree-services-wms:3.4.27 - http://www.deegree.org/deegree-services/deegree-services-wms/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-sqldialect-commons (de.latlon:deegree-sqldialect-commons:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-sqldialect/deegree-sqldialect-commons/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-sqldialect-postgis (de.latlon:deegree-sqldialect-postgis:3.4.27 - http://www.deegree.org/deegree-core/deegree-core-sqldialect/deegree-sqldialect-postgis/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-tilestore-commons (de.latlon:deegree-tilestore-commons:3.4.27 - http://www.deegree.org/deegree-datastores/deegree-tilestores/deegree-tilestore-commons/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-tilestore-gdal (de.latlon:deegree-tilestore-gdal:3.4.27 - http://www.deegree.org/deegree-datastores/deegree-tilestores/deegree-tilestore-gdal/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-tilestore-geotiff (de.latlon:deegree-tilestore-geotiff:3.4.27 - http://www.deegree.org/deegree-datastores/deegree-tilestores/deegree-tilestore-geotiff/)
(GNU Lesser General Public License (LGPL), version 2.1) deegree-webservices (de.latlon:deegree-webservices:3.4.27 - http://www.deegree.org/deegree-services/deegree-webservices/)
(GNU Affero General Public License (AGPL), version 3) xplan-api-commons (de.latlon.product.xplanbox:xplan-api-commons:5.0-20220328.083833-6 - https://xplanbox.lat-lon.de/xplan-api/xplan-api-commons)
(GNU Affero General Public License (AGPL), version 3) xplan-benutzerhandbuch (de.latlon.product.xplanbox:xplan-benutzerhandbuch:5.0-20220328.083833-6 - https://xplanbox.lat-lon.de/xplan-documentation/xplan-benutzerhandbuch)
(GNU Affero General Public License (AGPL), version 3) xplan-commons (de.latlon.product.xplanbox:xplan-commons:5.0-20220328.083833-6 - https://xplanbox.lat-lon.de/xplan-core/xplan-commons)
(GNU Affero General Public License (AGPL), version 3) xplan-commons-cli (de.latlon.product.xplanbox:xplan-commons-cli:5.0-20220328.083833-6 - https://xplanbox.lat-lon.de/xplan-core/xplan-commons-cli)
(GNU Affero General Public License (AGPL), version 3) xplan-commons-web (de.latlon.product.xplanbox:xplan-commons-web:5.0-20220328.083833-6 - https://xplanbox.lat-lon.de/xplan-webapps/xplan-commons-web)
(GNU Affero General Public License (AGPL), version 3) xplan-commons-webservices (de.latlon.product.xplanbox:xplan-commons-webservices:5.0-20220328.083833-6 - https://xplanbox.lat-lon.de/xplan-webservices/xplan-commons-webservices)
(GNU Affero General Public License (AGPL), version 3) xplan-inspireplu-transformation (de.latlon.product.xplanbox:xplan-inspireplu-transformation:5.0-20220328.083833-6 - https://xplanbox.lat-lon.de/xplan-core/xplan-inspireplu-transformation)
(GNU Affero General Public License (AGPL), version 3) xplan-manager-core (de.latlon.product.xplanbox:xplan-manager-core:5.0-20220328.083833-6 - https://xplanbox.lat-lon.de/xplan-core/xplan-manager-core)
(GNU Affero General Public License (AGPL), version 3) xplan-schemas (de.latlon.product.xplanbox:xplan-schemas:5.0-20220328.083833-6 - https://xplanbox.lat-lon.de/xplan-resources/xplan-schemas)
(GNU Affero General Public License (AGPL), version 3) xplan-sql-scripts (de.latlon.product.xplanbox:xplan-sql-scripts:5.0-20220328.083833-6 - https://xplanbox.lat-lon.de/xplan-resources/xplan-sql-scripts)
(GNU Affero General Public License (AGPL), version 3) xplan-sql-update-scripts (de.latlon.product.xplanbox:xplan-sql-update-scripts:5.0-20220328.083833-5 - https://xplanbox.lat-lon.de/xplan-resources/xplan-sql-update-scripts)
(GNU Affero General Public License (AGPL), version 3) xplan-synthesizer (de.latlon.product.xplanbox:xplan-synthesizer:5.0-20220328.083833-6 - https://xplanbox.lat-lon.de/xplan-core/xplan-synthesizer)
(GNU Affero General Public License (AGPL), version 3) xplan-tests-resources (de.latlon.product.xplanbox:xplan-tests-resources:5.0-20220328.083833-6 - https://xplanbox.lat-lon.de/xplan-tests/xplan-tests-resources)
(GNU Affero General Public License (AGPL), version 3) xplan-validator-core (de.latlon.product.xplanbox:xplan-validator-core:5.0-20220328.083833-6 - https://xplanbox.lat-lon.de/xplan-core/xplan-validator-core)
(GNU Affero General Public License (AGPL), version 3) xplan-validator-web-commons (de.latlon.product.xplanbox:xplan-validator-web-commons:5.0-20220328.083833-6 - https://xplanbox.lat-lon.de/xplan-webapps/xplan-validator-web-commons)
(GNU Affero General Public License (AGPL), version 3) xplan-workspaces (de.latlon.product.xplanbox:xplan-workspaces:5.0-20220328.083833-6 - https://xplanbox.lat-lon.de/xplan-workspaces)
(The MIT License (MIT)) ClassGraph (io.github.classgraph:classgraph:4.8.117 - https://github.com/classgraph/classgraph)
(MIT License) ToolFactory JVM Driver (io.github.toolfactory:jvm-driver:4.0.0 - https://toolfactory.github.io/jvm-driver/)
(MIT License) Narcissus (io.github.toolfactory:narcissus:1.0.1 - https://github.com/toolfactory/narcissus)
(The Apache Software License, Version 2.0) micrometer-core (io.micrometer:micrometer-core:1.5.14 - https://github.com/micrometer-metrics/micrometer)
(Apache License 2.0) swagger-annotations (io.swagger:swagger-annotations:1.6.2 - https://github.com/swagger-api/swagger-core/modules/swagger-annotations)
(Apache License 2.0) swagger-compat-spec-parser (io.swagger:swagger-compat-spec-parser:1.0.51 - http://nexus.sonatype.org/oss-repository-hosting.html/swagger-parser-project/modules/swagger-compat-spec-parser)
(Apache License 2.0) swagger-core (io.swagger:swagger-core:1.6.2 - https://github.com/swagger-api/swagger-core/modules/swagger-core)
(Apache License 2.0) swagger-models (io.swagger:swagger-models:1.6.2 - https://github.com/swagger-api/swagger-core/modules/swagger-models)
(Apache License 2.0) swagger-parser (io.swagger:swagger-parser:1.0.51 - http://nexus.sonatype.org/oss-repository-hosting.html/swagger-parser-project/modules/swagger-parser)
(Apache License 2.0) swagger-annotations (io.swagger.core.v3:swagger-annotations:2.1.12 - https://github.com/swagger-api/swagger-core/modules/swagger-annotations)
(Apache License 2.0) swagger-core (io.swagger.core.v3:swagger-core:2.1.12 - https://github.com/swagger-api/swagger-core/modules/swagger-core)
(Apache License 2.0) swagger-integration (io.swagger.core.v3:swagger-integration:2.1.12 - https://github.com/swagger-api/swagger-core/modules/swagger-integration)
(Apache License 2.0) swagger-jaxrs2 (io.swagger.core.v3:swagger-jaxrs2:2.1.12 - https://github.com/swagger-api/swagger-core/modules/swagger-jaxrs2)
(Apache License 2.0) swagger-jaxrs2-servlet-initializer (io.swagger.core.v3:swagger-jaxrs2-servlet-initializer:2.1.12 - https://github.com/swagger-api/swagger-core/modules/swagger-jaxrs2-servlet-initializer)
(Apache License 2.0) swagger-models (io.swagger.core.v3:swagger-models:2.1.12 - https://github.com/swagger-api/swagger-core/modules/swagger-models)
(Apache License 2.0) swagger-parser (io.swagger.parser.v3:swagger-parser:2.0.21 - http://nexus.sonatype.org/oss-repository-hosting.html/swagger-parser-project/modules/swagger-parser)
(Apache License 2.0) swagger-parser (io.swagger.parser.v3:swagger-parser-core:2.0.21 - http://nexus.sonatype.org/oss-repository-hosting.html/swagger-parser-project/modules/swagger-parser-core)
(Apache License 2.0) swagger-parser-v2-converter (io.swagger.parser.v3:swagger-parser-v2-converter:2.0.21 - http://nexus.sonatype.org/oss-repository-hosting.html/swagger-parser-project/modules/swagger-parser-v2-converter)
(Apache License 2.0) swagger-parser-v3 (io.swagger.parser.v3:swagger-parser-v3:2.0.21 - http://nexus.sonatype.org/oss-repository-hosting.html/swagger-parser-project/modules/swagger-parser-v3)
(Lesser General Public License (LGPL)) Image I/O-Extensions - GeoCore (it.geosolutions.imageio-ext:imageio-ext-geocore:1.1.29 - no url defined)
(Lesser General Public License (LGPL)) Image I/O-Extensions - Custom Streams (it.geosolutions.imageio-ext:imageio-ext-streams:1.1.29 - no url defined)
(Lesser General Public License (LGPL)) Improved TIFF Plugin (it.geosolutions.imageio-ext:imageio-ext-tiff:1.1.29 - no url defined)
(Lesser General Public License (LGPL)) Image I/O-Extensions - utilities classes and methods (it.geosolutions.imageio-ext:imageio-ext-utilities:1.1.29 - no url defined)
(EDL 1.0) Jakarta Activation API jar (jakarta.activation:jakarta.activation-api:1.2.2 - https://github.com/eclipse-ee4j/jaf/jakarta.activation-api)
(EPL 2.0) (GPL2 w/ CPE) Jakarta Annotations API (jakarta.annotation:jakarta.annotation-api:1.3.5 - https://projects.eclipse.org/projects/ee4j.ca)
(Eclipse Distribution License - v 1.0) Jakarta Web Services Metadata API (jakarta.jws:jakarta.jws-api:2.1.0 - https://github.com/eclipse-ee4j/jws-api)
(EPL 2.0) (GPL2 w/ CPE) Jakarta Servlet (jakarta.servlet:jakarta.servlet-api:4.0.3 - https://projects.eclipse.org/projects/ee4j.servlet)
(Apache License 2.0) Jakarta Bean Validation API (jakarta.validation:jakarta.validation-api:2.0.2 - https://beanvalidation.org)
(EPL 2.0) (GPL2 w/ CPE) javax.ws.rs-api (jakarta.ws.rs:jakarta.ws.rs-api:2.1.2 - https://github.com/eclipse-ee4j/jaxrs-api)
(Eclipse Distribution License - v 1.0) Jakarta XML Binding API (jakarta.xml.bind:jakarta.xml.bind-api:2.3.3 - https://github.com/eclipse-ee4j/jaxb-api/jakarta.xml.bind-api)
(Eclipse Distribution License - v 1.0) Jakarta SOAP with Attachments API (jakarta.xml.soap:jakarta.xml.soap-api:1.4.2 - https://github.com/eclipse-ee4j/saaj-api)
(Eclipse Distribution License - v 1.0) Jakarta XML Web Services API (jakarta.xml.ws:jakarta.xml.ws-api:2.3.3 - https://github.com/eclipse-ee4j/jax-ws-api)
(Common Development and Distribution License (CDDL) v1.0) JavaBeans Activation Framework (JAF) (javax.activation:activation:1.1 - http://java.sun.com/products/javabeans/jaf/index.jsp)
(The Apache Software License, Version 2.0) javax.batch-api (javax.batch:javax.batch-api:1.0 - http://java.net/projects/jbatch/javax.batch-api)
(CDDL) (GPLv2+CE) JavaMail API jar (javax.mail:mailapi:1.4.3 - http://java.sun.com/projects/javamail/mailapi)
(BSD) Units of Measurement API (javax.measure:unit-api:2.0 - http://unitsofmeasurement.github.io/unit-api/)
(Sun Microsystems, Inc. Binary Code License Agreement) Java Advanced Imaging (javax.media:jai-core:1.1.3 - http://java.sun.com/products/java-media/jai)
(JDL (Java Distribution License)) Java Advanced Imaging (javax.media:jai_core:1.1.3 - https://jai.dev.java.net/)
(CDDL + GPLv2 with classpath exception) Java Servlet API (javax.servlet:javax.servlet-api:3.0.1 - http://servlet-spec.java.net)
(CDDL + GPLv2 with classpath exception) Java Servlet API (javax.servlet:javax.servlet-api:4.0.1 - https://javaee.github.io/servlet-spec/)
(Apache License, Version 2.0) Bean Validation API (javax.validation:validation-api:1.0.0.GA - no url defined)
(CDDL License) jsr311-api (javax.ws.rs:jsr311-api:1.1.1 - https://jsr311.dev.java.net)
(http://jaxen.codehaus.org/license.html) jaxen (jaxen:jaxen:1.1.6 - http://jaxen.codehaus.org/)
(BSD License 2.0) jaxen (jaxen:jaxen:1.2.0 - http://www.cafeconleche.org/jaxen)
(Apache License, Version 2.0) Joda-Time (joda-time:joda-time:2.10.8 - https://www.joda.org/joda-time/)
(Eclipse Public License 1.0) JUnit (junit:junit:4.13.2 - http://junit.org)
(The Apache Software License, Version 2.0) Byte Buddy (without dependencies) (net.bytebuddy:byte-buddy:1.9.10 - http://bytebuddy.net/byte-buddy)
(The Apache Software License, Version 2.0) Byte Buddy Java agent (net.bytebuddy:byte-buddy-agent:1.9.10 - http://bytebuddy.net/byte-buddy-agent)
(The Apache Software License, Version 2.0) ASM based accessors helper used by json-smart (net.minidev:accessors-smart:1.2 - http://www.minidev.net/)
(The Apache Software License, Version 2.0) JSON Small and Fast Parser (net.minidev:json-smart:2.3 - http://www.minidev.net/)
(GNU Lesser General Public License) Postgis JDBC Driver (net.postgis:postgis-jdbc:2.3.0 - http://postgis.net/postgis-jdbc)
(The Apache Software License, Version 2.0) Barcode4J (net.sf.barcode4j:barcode4j:2.1 - http://barcode4j.sourceforge.net)
(The Apache Software License, Version 2.0) Ehcache Core (net.sf.ehcache:ehcache-core:2.6.11 - http://ehcache.org)
(The MIT License(MIT)) Java implementation of GeographicLib (net.sf.geographiclib:GeographicLib-Java:1.49 - https://geographiclib.sourceforge.io)
(GNU Lesser General Public License) JasperReports Library (net.sf.jasperreports:jasperreports:6.12.2 - http://jasperreports.sourceforge.net)
(The MIT License) JOpt Simple (net.sf.jopt-simple:jopt-simple:5.0.3 - http://pholser.github.io/jopt-simple)
(Mozilla Public License Version 2.0) Saxon-HE (net.sf.saxon:Saxon-HE:9.9.1-8 - http://www.saxonica.com/)
(GNU Lesser General Public License) DynamicReports - adhoc (net.sourceforge.dynamicreports:dynamicreports-adhoc:6.12.1 - https://github.com/dynamicreports)
(GNU Lesser General Public License) DynamicReports - core (net.sourceforge.dynamicreports:dynamicreports-core:6.12.1 - https://github.com/dynamicreports)
(GNU Lesser General Public License) DynamicReports - googlecharts (net.sourceforge.dynamicreports:dynamicreports-googlecharts:6.12.1 - https://github.com/dynamicreports)
(BSD licence) ANTLR 3 Runtime (org.antlr:antlr-runtime:3.5.2 - http://www.antlr.org)
(Apache License, Version 2.0) Apache Commons Collections (org.apache.commons:commons-collections4:4.2 - http://commons.apache.org/proper/commons-collections/)
(Apache License, Version 2.0) Apache Commons Collections (org.apache.commons:commons-collections4:4.3 - http://commons.apache.org/proper/commons-collections/)
(Apache License, Version 2.0) Apache Commons CSV (org.apache.commons:commons-csv:1.6 - http://commons.apache.org/proper/commons-csv/)
(Apache License, Version 2.0) Apache Commons Lang (org.apache.commons:commons-lang3:3.10 - https://commons.apache.org/proper/commons-lang/)
(Apache License, Version 2.0) Apache Commons Lang (org.apache.commons:commons-lang3:3.11 - https://commons.apache.org/proper/commons-lang/)
(Apache License, Version 2.0) Apache Commons Lang (org.apache.commons:commons-lang3:3.7 - http://commons.apache.org/proper/commons-lang/)
(The Apache Software License, Version 2.0) Commons Math (org.apache.commons:commons-math:2.2 - http://commons.apache.org/math/)
(Apache License, Version 2.0) Apache Commons Text (org.apache.commons:commons-text:1.9 - https://commons.apache.org/proper/commons-text)
(The Apache Software License, Version 2.0) Activation 1.1 (org.apache.geronimo.specs:geronimo-activation_1.1_spec:1.1 - http://geronimo.apache.org/maven/specs/geronimo-activation_1.1_spec/1.1)
(The Apache Software License, Version 2.0) Streaming API for XML (STAX API 1.0) (org.apache.geronimo.specs:geronimo-stax-api_1.0_spec:1.0.1 - http://geronimo.apache.org/specs/geronimo-stax-api_1.0_spec)
(Apache License, Version 2.0) Apache HttpClient (org.apache.httpcomponents:httpclient:4.3.6 - http://hc.apache.org/httpcomponents-client)
(Apache License, Version 2.0) Apache HttpClient (org.apache.httpcomponents:httpclient:4.5.13 - http://hc.apache.org/httpcomponents-client)
(Apache License, Version 2.0) Apache HttpCore (org.apache.httpcomponents:httpcore:4.3.3 - http://hc.apache.org/httpcomponents-core-ga)
(Apache License, Version 2.0) Apache HttpCore (org.apache.httpcomponents:httpcore:4.4.13 - http://hc.apache.org/httpcomponents-core-ga)
(Apache License, Version 2.0) Apache HttpCore (org.apache.httpcomponents:httpcore:4.4.14 - http://hc.apache.org/httpcomponents-core-ga)
(The Apache Software License, Version 2.0) Apache JAMES Mime4j (Core) (org.apache.james:apache-mime4j-core:0.7.2 - http://james.apache.org/mime4j/apache-mime4j-core)
(Apache License, Version 2.0) Apache Log4j API (org.apache.logging.log4j:log4j-api:2.17.1 - https://logging.apache.org/log4j/2.x/log4j-api/)
(Apache License, Version 2.0) Apache Log4j Core (org.apache.logging.log4j:log4j-core:2.17.1 - https://logging.apache.org/log4j/2.x/log4j-core/)
(Apache License, Version 2.0) Apache Log4j SLF4J Binding (org.apache.logging.log4j:log4j-slf4j-impl:2.17.1 - https://logging.apache.org/log4j/2.x/log4j-slf4j-impl/)
(Apache License, Version 2.0) Apache Log4j Web (org.apache.logging.log4j:log4j-web:2.17.1 - https://logging.apache.org/log4j/2.x/log4j-web/)
(The Apache Software License, Version 2.0) Apache Velocity (org.apache.velocity:velocity:1.7 - http://velocity.apache.org/engine/devel/)
(Apache License, Version 2.0) Axiom API (org.apache.ws.commons.axiom:axiom-api:1.2.15 - http://ws.apache.org/axiom/)
(Apache License, Version 2.0) Axiom Impl (org.apache.ws.commons.axiom:axiom-impl:1.2.15 - http://ws.apache.org/axiom/)
(The Apache Software License, Version 2.0) org.apache.xmlgraphics:batik-anim (org.apache.xmlgraphics:batik-anim:1.14 - http://xmlgraphics.apache.org/batik/batik-anim/)
(The Apache Software License, Version 2.0) org.apache.xmlgraphics:batik-awt-util (org.apache.xmlgraphics:batik-awt-util:1.14 - http://xmlgraphics.apache.org/batik/batik-awt-util/)
(The Apache Software License, Version 2.0) org.apache.xmlgraphics:batik-bridge (org.apache.xmlgraphics:batik-bridge:1.14 - http://xmlgraphics.apache.org/batik/batik-bridge/)
(The Apache Software License, Version 2.0) org.apache.xmlgraphics:batik-constants (org.apache.xmlgraphics:batik-constants:1.14 - http://xmlgraphics.apache.org/batik/batik-constants/)
(The Apache Software License, Version 2.0) org.apache.xmlgraphics:batik-css (org.apache.xmlgraphics:batik-css:1.14 - http://xmlgraphics.apache.org/batik/batik-css/)
(The Apache Software License, Version 2.0) org.apache.xmlgraphics:batik-dom (org.apache.xmlgraphics:batik-dom:1.14 - http://xmlgraphics.apache.org/batik/batik-dom/)
(The Apache Software License, Version 2.0) org.apache.xmlgraphics:batik-ext (org.apache.xmlgraphics:batik-ext:1.14 - http://xmlgraphics.apache.org/batik/batik-ext/)
(The Apache Software License, Version 2.0) org.apache.xmlgraphics:batik-gvt (org.apache.xmlgraphics:batik-gvt:1.14 - http://xmlgraphics.apache.org/batik/batik-gvt/)
(The Apache Software License, Version 2.0) org.apache.xmlgraphics:batik-i18n (org.apache.xmlgraphics:batik-i18n:1.14 - http://xmlgraphics.apache.org/batik/batik-i18n/)
(The Apache Software License, Version 2.0) org.apache.xmlgraphics:batik-parser (org.apache.xmlgraphics:batik-parser:1.14 - http://xmlgraphics.apache.org/batik/batik-parser/)
(The Apache Software License, Version 2.0) org.apache.xmlgraphics:batik-script (org.apache.xmlgraphics:batik-script:1.14 - http://xmlgraphics.apache.org/batik/batik-script/)
(The Apache Software License, Version 2.0) org.apache.xmlgraphics:batik-shared-resources (org.apache.xmlgraphics:batik-shared-resources:1.14 - http://xmlgraphics.apache.org/batik/batik-shared-resources/)
(The Apache Software License, Version 2.0) org.apache.xmlgraphics:batik-svg-dom (org.apache.xmlgraphics:batik-svg-dom:1.14 - http://xmlgraphics.apache.org/batik/batik-svg-dom/)
(The Apache Software License, Version 2.0) org.apache.xmlgraphics:batik-svggen (org.apache.xmlgraphics:batik-svggen:1.14 - http://xmlgraphics.apache.org/batik/batik-svggen/)
(The Apache Software License, Version 2.0) org.apache.xmlgraphics:batik-transcoder (org.apache.xmlgraphics:batik-transcoder:1.14 - http://xmlgraphics.apache.org/batik/batik-transcoder/)
(The Apache Software License, Version 2.0) org.apache.xmlgraphics:batik-util (org.apache.xmlgraphics:batik-util:1.14 - http://xmlgraphics.apache.org/batik/batik-util/)
(The Apache Software License, Version 2.0) org.apache.xmlgraphics:batik-xml (org.apache.xmlgraphics:batik-xml:1.14 - http://xmlgraphics.apache.org/batik/batik-xml/)
(The Apache Software License, Version 2.0) Apache XML Graphics Commons (org.apache.xmlgraphics:xmlgraphics-commons:2.6 - http://xmlgraphics.apache.org/commons/)
(Bouncy Castle Licence) Bouncy Castle Provider (org.bouncycastle:bcprov-jdk15on:1.62 - http://www.bouncycastle.org/java.html)
(GNU General Public License, version 2 (GPL2), with the classpath exception) (The MIT License) Checker Qual (org.checkerframework:checker-compat-qual:2.5.2 - https://checkerframework.org)
(The MIT License) Checker Qual (org.checkerframework:checker-qual:3.12.0 - https://checkerframework.org)
(MIT license) Animal Sniffer Annotations (org.codehaus.mojo:animal-sniffer-annotations:1.17 - http://www.mojohaus.org/animal-sniffer/animal-sniffer-annotations)
(The BSD License) Stax2 API (org.codehaus.woodstox:stax2-api:3.1.1 - http://woodstox.codehaus.org/StAX2)
(The BSD License) Stax2 API (org.codehaus.woodstox:stax2-api:4.1 - http://github.com/FasterXML/stax2-api)
(GNU Lesser General Public License (LGPL), Version 2.1) Woodstox (org.codehaus.woodstox:woodstox-core-lgpl:4.2.0 - http://woodstox.codehaus.org)
(Apache License, Version 2.0) junidecode (org.deegree:junidecode:0.2 - https://github.com/deegree/junidecode)
(The Eclipse Public License Version 1.0) org.eclipse.emf.common (org.eclipse.emf:org.eclipse.emf.common:2.15.0 - http://www.eclipse.org/emf)
(The Eclipse Public License Version 1.0) org.eclipse.emf.ecore (org.eclipse.emf:org.eclipse.emf.ecore:2.15.0 - http://www.eclipse.org/emf)
(The Eclipse Public License Version 1.0) org.eclipse.emf.ecore.xmi (org.eclipse.emf:org.eclipse.emf.ecore.xmi:2.15.0 - http://www.eclipse.org/emf)
(Eclipse Public License v1.0) Eclipse ECJ (org.eclipse.jdt.core.compiler:ecj:4.6.1 - http://www.eclipse.org/jdt/)
(The Apache Software License, Version 2.0) EJML (org.ejml:ejml-core:0.34 - http://ejml.org/)
(The Apache Software License, Version 2.0) EJML (org.ejml:ejml-ddense:0.34 - http://ejml.org/)
(The Apache Software License, Version 2.0) restygwt (org.fusesource.restygwt:restygwt:2.2.7 - http://restygwt.fusesource.org/restygwt)
(MIT License) gdal (org.gdal:gdal:3.0.0 - http://gdal.org)
(BSD License for HSQL) (EPSG database distribution license) (Lesser General Public License (LGPL)) EPSG Authority Service using HSQL database (org.geotools:gt-epsg-hsql:26.1 - no url defined)
(Lesser General Public License (LGPL)) HTTP Clients (org.geotools:gt-http:26.1 - no url defined)
(Lesser General Public License (LGPL)) Main module (org.geotools:gt-main:26.1 - no url defined)
(Lesser General Public License (LGPL)) Metadata (org.geotools:gt-metadata:26.1 - no url defined)
(Lesser General Public License (LGPL)) (OGC copyright) Open GIS Interfaces (org.geotools:gt-opengis:26.1 - no url defined)
(Lesser General Public License (LGPL)) Referencing services (org.geotools:gt-referencing:26.1 - no url defined)
(Lesser General Public License (LGPL)) Shapefile module (org.geotools:gt-shapefile:26.1 - no url defined)
(Lesser General Public License (LGPL)) Open Web Services Model (org.geotools.ogc:net.opengis.ows:26.1 - no url defined)
(Lesser General Public License (LGPL)) Xlink Model (org.geotools.ogc:org.w3.xlink:26.1 - no url defined)
(EDL 1.0) management-api (org.glassfish.external:management-api:3.2.2 - https://github.com/eclipse-ee4j/orb-gmbal-commons)
(EDL 1.0) gmbal (org.glassfish.gmbal:gmbal:4.0.1 - https://projects.eclipse.org/projects/ee4j.orb)
(EPL 2.0) (GPL2 w/ CPE) GlassFish High Availability APIs and SPI (org.glassfish.ha:ha-api:3.1.12 - https://projects.eclipse.org/projects/ee4j/ha-api)
(EPL 2.0) (GPL2 w/ CPE) Class Model for Hk2 (org.glassfish.hk2:class-model:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/class-model)
(EPL 2.0) (GPL2 w/ CPE) HK2 module of HK2 itself (org.glassfish.hk2:hk2:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/hk2)
(EPL 2.0) (GPL2 w/ CPE) HK2 API module (org.glassfish.hk2:hk2-api:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/hk2-api)
(EPL 2.0) (GPL2 w/ CPE) HK2 core module (org.glassfish.hk2:hk2-core:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/hk2-core)
(EPL 2.0) (GPL2 w/ CPE) ServiceLocator Default Implementation (org.glassfish.hk2:hk2-locator:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/hk2-locator)
(EPL 2.0) (GPL2 w/ CPE) Run Level Service (org.glassfish.hk2:hk2-runlevel:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/hk2-runlevel)
(EPL 2.0) (GPL2 w/ CPE) HK2 Implementation Utilities (org.glassfish.hk2:hk2-utils:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/hk2-utils)
(EPL 2.0) (GPL2 w/ CPE) OSGi resource locator (org.glassfish.hk2:osgi-resource-locator:1.0.3 - https://projects.eclipse.org/projects/ee4j/osgi-resource-locator)
(EPL 2.0) (GPL2 w/ CPE) HK2 Spring Bridge (org.glassfish.hk2:spring-bridge:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/spring-bridge)
(EPL 2.0) (GPL2 w/ CPE) aopalliance version 1.0 repackaged as a module (org.glassfish.hk2.external:aopalliance-repackaged:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/external/aopalliance-repackaged)
(EPL 2.0) (GPL2 w/ CPE) javax.inject:1 as OSGi bundle (org.glassfish.hk2.external:jakarta.inject:2.6.1 - https://github.com/eclipse-ee4j/glassfish-hk2/external/jakarta.inject)
(Apache License, 2.0) (BSD 2-Clause) (EDL 1.0) (EPL 2.0) (GPL2 w/ CPE) (MIT license) (Modified BSD) (Public Domain) (W3C license) (jQuery license) jersey-connectors-apache (org.glassfish.jersey.connectors:jersey-apache-connector:2.35 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-apache-connector)
(Apache License, 2.0) (BSD 2-Clause) (EDL 1.0) (EPL 2.0) (GPL2 w/ CPE) (MIT license) (Modified BSD) (Public Domain) (W3C license) (jQuery license) jersey-container-servlet (org.glassfish.jersey.containers:jersey-container-servlet:2.35 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-container-servlet)
(Apache License, 2.0) (BSD 2-Clause) (EDL 1.0) (EPL 2.0) (GPL2 w/ CPE) (MIT license) (Modified BSD) (Public Domain) (W3C license) (jQuery license) jersey-container-servlet-core (org.glassfish.jersey.containers:jersey-container-servlet-core:2.35 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-container-servlet-core)
(Apache License, 2.0) (BSD 2-Clause) (EDL 1.0) (EPL 2.0) (GPL2 w/ CPE) (MIT license) (Modified BSD) (Public Domain) (W3C license) (jQuery license) jersey-core-client (org.glassfish.jersey.core:jersey-client:2.35 - https://projects.eclipse.org/projects/ee4j.jersey/jersey-client)
(Apache License, 2.0) (EPL 2.0) (Public Domain) (The GNU General Public License (GPL), Version 2, With Classpath Exception) jersey-core-common (org.glassfish.jersey.core:jersey-common:2.35 - https://projects.eclipse.org/projects/ee4j.jersey/jersey-common)
(Apache License, 2.0) (EPL 2.0) (Modified BSD) (The GNU General Public License (GPL), Version 2, With Classpath Exception) jersey-core-server (org.glassfish.jersey.core:jersey-server:2.35 - https://projects.eclipse.org/projects/ee4j.jersey/jersey-server)
(Apache License, 2.0) (BSD 2-Clause) (EDL 1.0) (EPL 2.0) (GPL2 w/ CPE) (MIT license) (Modified BSD) (Public Domain) (W3C license) (jQuery license) jersey-ext-entity-filtering (org.glassfish.jersey.ext:jersey-entity-filtering:2.35 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-entity-filtering)
(Apache License, 2.0) (BSD 2-Clause) (EDL 1.0) (EPL 2.0) (GPL2 w/ CPE) (MIT license) (Modified BSD) (Public Domain) (W3C license) (jQuery license) jersey-spring4 (org.glassfish.jersey.ext:jersey-spring4:2.35 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-spring4)
(Apache License, 2.0) (BSD 2-Clause) (EDL 1.0) (EPL 2.0) (GPL2 w/ CPE) (MIT license) (Modified BSD) (Public Domain) (W3C license) (jQuery license) jersey-inject-hk2 (org.glassfish.jersey.inject:jersey-hk2:2.35 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-hk2)
(Apache License, 2.0) (BSD 2-Clause) (EDL 1.0) (EPL 2.0) (GPL2 w/ CPE) (MIT license) (Modified BSD) (Public Domain) (W3C license) (jQuery license) jersey-media-jaxb (org.glassfish.jersey.media:jersey-media-jaxb:2.35 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-media-jaxb)
(Apache License, 2.0) (EPL 2.0) (The GNU General Public License (GPL), Version 2, With Classpath Exception) jersey-media-json-jackson (org.glassfish.jersey.media:jersey-media-json-jackson:2.35 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-media-json-jackson)
(Apache License, 2.0) (BSD 2-Clause) (EDL 1.0) (EPL 2.0) (GPL2 w/ CPE) (MIT license) (Modified BSD) (Public Domain) (W3C license) (jQuery license) jersey-media-multipart (org.glassfish.jersey.media:jersey-media-multipart:2.35 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-media-multipart)
(Apache License, 2.0) (BSD 2-Clause) (EDL 1.0) (EPL 2.0) (GPL2 w/ CPE) (MIT license) (Modified BSD) (Public Domain) (W3C license) (jQuery license) jersey-test-framework-core (org.glassfish.jersey.test-framework:jersey-test-framework-core:2.35 - https://projects.eclipse.org/projects/ee4j.jersey/project/jersey-test-framework-core)
(Apache License, 2.0) (BSD 2-Clause) (EDL 1.0) (EPL 2.0) (GPL2 w/ CPE) (MIT license) (Modified BSD) (Public Domain) (W3C license) (jQuery license) jersey-test-framework-provider-inmemory (org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-inmemory:2.35 - https://projects.eclipse.org/projects/ee4j.jersey/project/project/jersey-test-framework-provider-inmemory)
(EDL 1.0) PFL Basic (org.glassfish.pfl:pfl-basic:4.1.0 - https://github.com/eclipse-ee4j/orb-gmbal-pfl/pfl-basic)
(EDL 1.0) PFL TF (org.glassfish.pfl:pfl-tf:4.1.0 - https://github.com/eclipse-ee4j/orb-gmbal-pfl/pfl-tf)
(The Apache Software License, Version 2.0) gwt-openlayers-client (org.gwtopenmaps.openlayers:gwt-openlayers-client:1.1.0 - http://gwt-openlayers.sourceforge.net/maven-site-latest/gwt-openlayers-client)
(New BSD License) Hamcrest All (org.hamcrest:hamcrest-all:1.3 - https://github.com/hamcrest/JavaHamcrest/hamcrest-all)
(New BSD License) Hamcrest Core (org.hamcrest:hamcrest-core:1.3 - https://github.com/hamcrest/JavaHamcrest/hamcrest-core)
(New BSD License) Hamcrest library (org.hamcrest:hamcrest-library:1.3 - https://github.com/hamcrest/JavaHamcrest/hamcrest-library)
(BSD-2-Clause) (Public Domain, per Creative Commons CC0) HdrHistogram (org.hdrhistogram:HdrHistogram:2.1.12 - http://hdrhistogram.github.io/HdrHistogram/)
(Apache License 2.0) Hibernate Validator Engine (org.hibernate.validator:hibernate-validator:6.1.6.Final - http://hibernate.org/validator/hibernate-validator)
(HSQLDB License, a BSD open source license) HyperSQL Database (org.hsqldb:hsqldb:2.4.1 - http://hsqldb.org)
(HSQLDB License, a BSD open source license) HyperSQL Database (org.hsqldb:hsqldb:2.5.2 - http://hsqldb.org)
(Apache License 2.0) (LGPL 2.1) (MPL 1.1) Javassist (org.javassist:javassist:3.27.0-GA - http://www.javassist.org/)
(Apache License, version 2.0) JBoss Logging 3 (org.jboss.logging:jboss-logging:3.3.2.Final - http://www.jboss.org)
(GNU Lesser General Public Licence) JCommon (org.jfree:jcommon:1.0.23 - http://www.jfree.org/jcommon/)
(GNU Lesser General Public Licence) JFreeChart (org.jfree:jfreechart:1.0.19 - http://www.jfree.org/jfreechart/)
(Eclipse Distribution License - v 1.0) MIME streaming extension (org.jvnet.mimepull:mimepull:1.9.13 - https://github.com/eclipse-ee4j/metro-mimepull)
(Eclipse Distribution License - v 1.0) Extended StAX API (org.jvnet.staxex:stax-ex:1.8.3 - https://projects.eclipse.org/projects/ee4j/stax-ex)
(Public Domain, per Creative Commons CC0) LatencyUtils (org.latencyutils:LatencyUtils:2.0.3 - http://latencyutils.github.io/LatencyUtils/)
(Eclipse Distribution License - v 1.0) (Eclipse Public License, Version 2.0) org.locationtech.jts:jts-core (org.locationtech.jts:jts-core:1.18.2 - https://www.locationtech.org/projects/technology.jts/jts-modules/jts-core)
(The MIT License) mockito-core (org.mockito:mockito-core:2.28.2 - https://github.com/mockito/mockito)
(Mozilla Public License, Version 2.0) Mozilla Rhino (org.mozilla:rhino:1.7R4 - https://developer.mozilla.org/en/Rhino)
(The Apache Software License, Version 2.0) MyBatis (org.mybatis:mybatis:3.2.8 - http://www.mybatis.org/core/)
(Apache 2) Objenesis (org.objenesis:objenesis:2.6 - http://objenesis.org)
(BSD) asm (org.ow2.asm:asm:7.1 - http://asm.ow2.org/)
(BSD) asm-analysis (org.ow2.asm:asm-analysis:7.1 - http://asm.ow2.org/)
(BSD) asm-commons (org.ow2.asm:asm-commons:7.1 - http://asm.ow2.org/)
(BSD) asm-tree (org.ow2.asm:asm-tree:7.1 - http://asm.ow2.org/)
(BSD) asm-util (org.ow2.asm:asm-util:7.1 - http://asm.ow2.org/)
(BSD-2-Clause) PostgreSQL JDBC Driver - JDBC 4.2 (org.postgresql:postgresql:42.2.8 - https://github.com/pgjdbc/pgjdbc)
(The Apache Software License, Version 2.0) PowerMock (org.powermock:powermock-api-mockito2:2.0.9 - http://www.powermock.org)
(The Apache Software License, Version 2.0) PowerMock (org.powermock:powermock-api-support:2.0.9 - http://www.powermock.org)
(The Apache Software License, Version 2.0) PowerMock (org.powermock:powermock-core:2.0.9 - http://www.powermock.org)
(The Apache Software License, Version 2.0) PowerMock (org.powermock:powermock-module-junit4:2.0.9 - http://www.powermock.org)
(The Apache Software License, Version 2.0) PowerMock (org.powermock:powermock-module-junit4-common:2.0.9 - http://www.powermock.org)
(The Apache Software License, Version 2.0) PowerMock (org.powermock:powermock-reflect:2.0.9 - http://www.powermock.org)
(The Apache Software License, Version 2.0) quartz (org.quartz-scheduler:quartz:2.3.2 - http://www.quartz-scheduler.org/quartz)
(The New BSD License) (WTFPL) Reflections (org.reflections:reflections:0.9.12 - http://github.com/ronmamo/reflections)
(Apache License, Version 2.0) JCL 1.2 implemented over SLF4J (org.slf4j:jcl-over-slf4j:1.7.33 - http://www.slf4j.org)
(MIT License) JUL to SLF4J bridge (org.slf4j:jul-to-slf4j:1.7.33 - http://www.slf4j.org)
(MIT License) SLF4J API Module (org.slf4j:slf4j-api:1.7.33 - http://www.slf4j.org)
(MIT License) SLF4J Extensions Module (org.slf4j:slf4j-ext:1.7.30 - http://www.slf4j.org)
(Apache License, Version 2.0) Spring AOP (org.springframework:spring-aop:5.2.18.RELEASE - https://github.com/spring-projects/spring-framework)
(Apache License, Version 2.0) Spring Beans (org.springframework:spring-beans:5.2.18.RELEASE - https://github.com/spring-projects/spring-framework)
(Apache License, Version 2.0) Spring Context (org.springframework:spring-context:5.2.18.RELEASE - https://github.com/spring-projects/spring-framework)
(Apache License, Version 2.0) Spring Core (org.springframework:spring-core:5.2.18.RELEASE - https://github.com/spring-projects/spring-framework)
(Apache License, Version 2.0) Spring Expression Language (SpEL) (org.springframework:spring-expression:5.2.18.RELEASE - https://github.com/spring-projects/spring-framework)
(Apache License, Version 2.0) Spring Commons Logging Bridge (org.springframework:spring-jcl:5.2.15.RELEASE - https://github.com/spring-projects/spring-framework)
(Apache License, Version 2.0) Spring Commons Logging Bridge (org.springframework:spring-jcl:5.2.18.RELEASE - https://github.com/spring-projects/spring-framework)
(Apache License, Version 2.0) Spring JDBC (org.springframework:spring-jdbc:5.2.15.RELEASE - https://github.com/spring-projects/spring-framework)
(Apache License, Version 2.0) Spring TestContext Framework (org.springframework:spring-test:5.2.18.RELEASE - https://github.com/spring-projects/spring-framework)
(Apache License, Version 2.0) Spring Transaction (org.springframework:spring-tx:5.2.15.RELEASE - https://github.com/spring-projects/spring-framework)
(Apache License, Version 2.0) Spring Transaction (org.springframework:spring-tx:5.2.18.RELEASE - https://github.com/spring-projects/spring-framework)
(Apache License, Version 2.0) Spring Web (org.springframework:spring-web:5.2.18.RELEASE - https://github.com/spring-projects/spring-framework)
(Apache License, Version 2.0) Spring Web MVC (org.springframework:spring-webmvc:5.2.18.RELEASE - https://github.com/spring-projects/spring-framework)
(The Apache Software License, Version 2.0) Spring Batch Core (org.springframework.batch:spring-batch-core:4.3.5 - https://projects.spring.io/spring-batch/)
(The Apache Software License, Version 2.0) Spring Batch Infrastructure (org.springframework.batch:spring-batch-infrastructure:4.2.7.RELEASE - https://projects.spring.io/spring-batch/)
(Apache License, Version 2.0) spring-boot (org.springframework.boot:spring-boot:2.3.12.RELEASE - https://spring.io/projects/spring-boot)
(Apache License, Version 2.0) spring-boot-autoconfigure (org.springframework.boot:spring-boot-autoconfigure:2.3.12.RELEASE - https://spring.io/projects/spring-boot)
(Apache License, Version 2.0) spring-boot-starter (org.springframework.boot:spring-boot-starter:2.3.12.RELEASE - https://spring.io/projects/spring-boot)
(Apache License, Version 2.0) spring-boot-starter-batch (org.springframework.boot:spring-boot-starter-batch:2.3.12.RELEASE - https://spring.io/projects/spring-boot)
(Apache License, Version 2.0) spring-boot-starter-jdbc (org.springframework.boot:spring-boot-starter-jdbc:2.3.12.RELEASE - https://spring.io/projects/spring-boot)
(Apache License, Version 2.0) spring-boot-starter-logging (org.springframework.boot:spring-boot-starter-logging:2.3.12.RELEASE - https://spring.io/projects/spring-boot)
(The Apache Software License, Version 2.0) spring-ldap-core (org.springframework.ldap:spring-ldap-core:2.3.4.RELEASE - https://www.springframework.org/ldap)
(Apache 2.0) Spring Retry (org.springframework.retry:spring-retry:1.2.5.RELEASE - https://www.springsource.org)
(The Apache Software License, Version 2.0) spring-security-config (org.springframework.security:spring-security-config:5.2.13.RELEASE - http://spring.io/spring-security)
(The Apache Software License, Version 2.0) spring-security-core (org.springframework.security:spring-security-core:5.2.13.RELEASE - http://spring.io/spring-security)
(The Apache Software License, Version 2.0) spring-security-ldap (org.springframework.security:spring-security-ldap:5.2.13.RELEASE - http://spring.io/spring-security)
(The Apache Software License, Version 2.0) spring-security-web (org.springframework.security:spring-security-web:5.2.13.RELEASE - http://spring.io/spring-security)
(The W3C Software License) Simple API for CSS (org.w3c.css:sac:1.3 - http://www.w3.org/Style/CSS/SAC/)
(The Apache Software License, Version 2.0) org.xmlunit:xmlunit-core (org.xmlunit:xmlunit-core:2.8.2 - https://www.xmlunit.org/)
(The Apache Software License, Version 2.0) org.xmlunit:xmlunit-matchers (org.xmlunit:xmlunit-matchers:2.8.2 - https://www.xmlunit.org/)
(Apache License, Version 2.0) SnakeYAML (org.yaml:snakeyaml:1.26 - http://www.snakeyaml.org)
(Apache License, Version 2.0) SnakeYAML (org.yaml:snakeyaml:1.28 - http://www.snakeyaml.org)
(Apache 2) JUnitParams (pl.pragmatists:JUnitParams:1.1.1 - https://github.com/Pragmatists/JUnitParams)
(BSD) SI Quantities (si.uom:si-quantity:2.0.1 - https://unitsofmeasurement.github.io/si-parent/si-quantity/)
(BSD) SI Units (si.uom:si-units:2.0.1 - https://unitsofmeasurement.github.io/si-parent/si-units/)
(BSD) Units of Measurement Common Unit Systems (systems.uom:systems-common:2.0.2 - http://www.uom.systems/systems-common)
(BSD) Units of Measurement Reference Implementation (tech.units:indriya:2.0.2 - https://unitsofmeasurement.github.io/indriya)
(BSD) Units of Measurement Common Library (tech.uom.lib:uom-lib-common:2.0 - http://github.com/unitsofmeasurement/uom-lib/uom-lib-common)
(The Apache Software License, Version 2.0) Xalan Java Serializer (xalan:serializer:2.7.2 - http://xml.apache.org/xalan-j/)
(The Apache Software License, Version 2.0) Xalan Java (xalan:xalan:2.7.2 - http://xml.apache.org/xalan-j/)
(The Apache Software License, Version 2.0) Xerces2-j (xerces:xercesImpl:2.12.1 - https://xerces.apache.org/xerces2-j/)
(The Apache Software License, Version 2.0) (The SAX License) (The W3C License) XML Commons External Components XML APIs (xml-apis:xml-apis:1.4.01 - http://xml.apache.org/commons/components/external/)
(The Apache Software License, Version 2.0) XML Commons External Components XML APIs Extensions (xml-apis:xml-apis-ext:1.3.04 - http://xml.apache.org/commons/components/external/)