WMS-Diensteverwaltung

Aus Wiki GeoCMS
Version vom 7. Januar 2015, 15:07 Uhr von Mfriedel (Diskussion | Beiträge) (Der Reiter Basiskonfiguration)

Wechseln zu: Navigation, Suche

Historie

Durch Geodateninfrastrukturen wird eine organisationsübergreifende Nutzung von Geodaten ermöglicht. Dies geschieht unter Verwendung von standardisierten Dienste-Architekturen. Der Web Map Service (WMS) ist dabei einer der praktisch Bedeutendsten. Aktuell liegt der Standard in Version 1.3.0 vor, der aktive Betrieb mit älteren Versionen ist aber weiterhin möglich.

Allgemeines

Die brain-GeoCMS®-Technologie enthält leistungsfähige Komponenten für den Betrieb einer Geodateninfrastruktur (GDI). Geodienste können webbasiert konfiguriert und über eine eigene URL bereitgestellt werden. Dieser Artikel dokumentiert das Vorgehen zur Konfiguration von Darstellungsdiensten nach OGC-Standard und den darauf aufbauenden Profilen der GDI-DE und des INSPIRE View Service.

Mandantenfähigkeit

Das Grundprinzip "jede Organisation bleibt Herr ihrer Daten" gilt natürlich auch für die Geodienste-Plattform. Ein Dienst-Administrator kann nur Daten (im Folgenden Layer oder Themen genannt) veröffentlichen, auf die er selbst auch Zugriffsberechtigungen besitzt. Diese Zugriffberechtigungen können direkt oder durch eine Benutzergruppenzugehörigkeit definiert sein.

Technische Voraussetzungen

Die brain-GeoCMS® Geodienste-Plattform ist eine Web-Applikation. Zur Arbeit mit dem System sind daher ein Internetzugang sowie ein Browser der neueren Generation erforderlich. Unterstützt werden aktuell der Internet Explorer ab Version 7, der Mozilla Firefox ab Version 3.0, der Google Chrome ab Version 12 sowie der Opera ab Version 10. Durch den Einsatz moderner Web 2.0 Technologien ist es notwendig, dass JavaScript im Browser aktiviert ist.

Technischer Hintergrund

Durch die klar definierten Schnittstellen und Parameter des WMS kann auf die hinterlegten Daten zugegriffen werden. Die Bereitstellung erfolgt in Form einer räumlich referenzierten Karte. Somit werden nicht die nativen Daten, sondern eine rasterisierte Form dieser geliefert. Unter anderem kann spezifiziert werden in welchem Koordinatensystem oder Format die Antwort des Dienstes erfolgt.

WMS konfigurieren

Das folgende Kapitel beschreibt die Bereitstellung und Konfigurationsoptionen für Darstellungsdienste (WebMapService - WMS). Nach der erfolgreichen Anmeldung am System muss der Menüpunkt „WMS Verwaltung“ aufgerufen werden, um das Verwaltungs- und Konfigurationsmodul für WebMapServices zu starten. Hinweis: Je nach eingestellten Berechtigungen für Ihren Account, stellt das oben gezeigte Menü ggf. weitere oder andere Funktionen zur Verfügung.

Abbildung 1: Bearbeitungsmenü

Die WMS Diensteverwaltung

Die WMS-Verwaltung zeigt nach dem Start in tabellarischer Form alle, durch Ihren Account administrierbaren, WMS-Dienste.

Abbildung 2: Listenansicht verfügbare Darstellungsdienste - fiktives Beispiel

Im oben gezeigten Beispiel sind fünf Dienste verfügbar. In der Spalte Profil wird durch eine entsprechende Symbolik das Dienstprofil dargestellt. Es wird zwischen OGC-, GDI-DE und INSPIRE-Dienst unterschieden. Die Symbole haben dabei folgende Bedeutung:

OGC-Icon.gif OGC-konformer Darstellungsdienst
GDI-DE-Icon.gif GDI-DE-konformer Darstellungsdienst
Inspire-Icon.gif INSPIRE-konformer Darstellungsdienst


Die Spalte „Aktiviert“ zeigt den Aktivierungsstatus des Darstellungsdienstes. Deaktivierte Dienste liefern auf eine Anfrage durch einen Client eine OGC-Exception mit der Fehlermeldung "Access denied". Auch der Aktivierungsstatus wird durch eine entsprechende Symbolik in der Dienstübersicht angezeigt.

Activ-Icon.gif Darstellungsdienst ist aktiviert
Inactiv-Icon.gif Darstellungsdienst wurde deaktiviert


Unter "Verfügbarkeit" wird angezeigt ob eine zeitliche Beschränkung für den einzelnen Dienst existiert. Wenn der Dienst zum Anfragezeitpunkt nicht verfügbar ist, wird eine Exception geliefert. Die Angabe erfolgt aus Kombination eines Symbols und eines Zeitintervalls.

Status green time.gif (unbegrenzt) Darstellungsdienst ist verfügbar
Status green time.gif (TT.MM.JJJJ hh:mm Uhr - TT.MM.JJJJ hh:mm Uhr) Darstellungsdienst ist zeitlich begrenzt verfügbar
Status red time.gif (TT.MM.JJJJ hh:mm Uhr - TT.MM.JJJJ hh:mm Uhr) Darstellungsdienst ist aktuell nicht verfügbar


Folgende Bearbeitungsschaltflächen stehen zur Verfügung:

Add.png Neuen Darstellungsdienst erstellen Das Erstellen eines neuen WMS erfolgt über die Schaltfläche oben rechts in der Tabellenansicht. Die weiteren Konfigurationsparameter werden in den folgenden Abschnitten genauer beschrieben.
Edit.png Bearbeiten eines bestehenden Darstellungsdienstes Bestehende Darstellungsdienste können über die Schaltfläche der Tabellenansicht angepasst bzw. erweitert werden. Die weiteren Konfigurationsparameter werden in den folgenden Abschnitten genauer beschrieben.
Copy.png Darstellungsdienst kopieren (duplizieren) Eine bestehende WMS-Konfiguration kann über die Schaltfläche dupliziert und damit als Grundlage für einen neuen Dienst genutzt werden. Dies ermöglicht die Übernahme von Konfigurationseinstellungen wie z.B. Service-Metadaten, Layeroptionen, etc.
Delete.png Löschen eines Darstellungsdienstes Das Löschen eines Darstellungsdienstes erfolgt über die Schaltfläche . Der Dienst wird damit vollständig aus der Diensteverwaltung entfernt und kann zukünftig nicht mehr genutzt werden.
View.png Capabilities-Dokument anzeigen (Vorschau) Mit der Schaltfläche können Sie das Capabilities-Dokument zu einem Darstellungsdienst aufrufen.

Konfigurationsmaske für Darstellungsdienste

Die Konfigurationsmaske kann durch Klick auf einer der Schaltflächen "Neuen Darstellungsdienst erstellen" oder "Bearbeiten eines bestehenden Darstellungsdienstes" geöffnet werden. Sie unterteilt sich in einzelne Reiter, die nachfolgend erläutert werden. Zum Speichern von WMS-Diensten bzw. zur Änderung bestehender Dienstkonfigurationen, verwenden Sie die Schaltfläche „Speichern“ mit dem Diskettensymbol (im unteren Teil der Eingabemaske). Möchten Sie Ihre Änderungen verwerfen, klicken Sie auf die Schaltfläche „Abbrechen“.

Der Reiter Basiskonfiguration

Im Reiter Basiskonfiguration werden die Grundeinstellungen für einen Darstellungsdienst vorgenommen. Im ersten Schritt sollte hier stets die gewünschte Form des Dienstes ausgewählt werden. Entsprechend der getroffenen Auswahl werden fallspezifisch die weiteren Konfigurationseinstellungen eingeblendet, sowie optionale und verpflichtende Eingaben festgesetzt. Es stehen folgende WMS-Profile zur Auswahl:

OGC Wählen Sie dieses Profil zur Bereitstellung eines OGC-konformen Darstellungsdienstes. [1]
GDI-DE WMS-DE_1.0 Wählen Sie dieses Profil zur Bereitstellung eines Darstellungsdienstes gemäß dem Applikationsprofils der GDI-DE WMS-DE Version 1.0. [2]
INSPIRE View Service mit Metadatenverlinkung (Szenario 1) Bei diesem Szenario werden die geforderten Metadaten über eine Referenz auf einen Katalogdienst bereitgestellt. [3][4]
INSPIRE View Service mit vollständiger Beschreibung (Szenario 2) Wählen Sie dieses Profil zur Bereitstellung eines Darstellungsdienstes nach den INSPIRE Empfehlungen mit vollständiger Metadatenbeschreibung innerhalb des Dienstes d.h. Szenario 2.
Abbildung 3: Der Reiter Basiskonfiguration


Parameter Beschreibung
WMS-Profil Sollte stets als erste Einstellung vorgenommen werden und legt die Einstellungsmöglichkeiten der weiteren Reiter fest (siehe oben).
Darstellungsdienst aktivieren Mit dieser Option können Sie einen Dienst aktivieren bzw. deaktivieren. Deaktivierte Dienste bleiben im System vorhanden, liefern jedoch bei einer Anfrage durch einen Client eine OGC-Exception mit der Fehlermeldung "Access denies".
Name Legt den Namen des WMS fest. Dieser Name wird im Root-Layer des WMS verwendet. Zulässig sind alphanumerische Zeichen, Unterstrich, Minus und Doppelpunkt.
Abbildung 4: Auszug Capabilities Dokument mit Namen des Root-Layers
Besitzer Dieses Feld ermöglicht die Einstellung des Besitzers der WMS-Konfiguration. Ist hier Ihr eigener Account hinterlegt, kann der Dienst nur durch Sie administriert werden. Prinzipiell besteht die Möglichkeit über den "Besitzer" Ihren Account oder einer Nutzergruppe, zu der Sie zugehörig sind, die Bearbeitungsrechte für einen Darstellungsdienst zu übertragen.

Beispiel:
Name der Benutzergruppe: "WMS Admin"
Mitglieder der Gruppe " WMS Admin" sind:

  • Nutzer A
  • Nutzer B

Nutzer A legt einen WMS an und stellt den Besitzer auf "Nutzer A". Damit kann nur Nutzer A administrative Arbeiten an der WMS-Konfiguration durchführen. Um das Vertreterprinzip zu gewährleisten, möchte "Nutzer A" auch seinen Kollegen "Nutzer B" Zugriff auf die WMS-Konfiguration erlauben. In diesem Falle stellt er als Besitzer die Gruppe "WMS-Admin" ein. Damit kann neben "Nutzer A" auch der "Nutzer B" Anpassungen an der Dienstkonfiguration vornehmen.

Bemerkungen (interne Notizen) Dieses Feld kann für interne Bemerkungen des Administrators verwendet werden. Diese Bemerkungen können nicht durch einen WMS-Client abgerufen werden.
Service-URL Alias Legt einen Alias für den Dienst fest. Der Alias ist systemweit eindeutig und wird stellvertretend für die Service-ID in der WMS-URL verwendet. Beim Speichern einer Dienstkonfiguration wird der Alias auf Eindeutigkeit geprüft.
Funktionen des Dienstes Mit Hilfe dieser Häkchenboxen können die einzelnen Funktionen des WMS
  • Metadaten abrufen (GetCapabilities)
  • Kartengrafik abrufen (GetMap)
  • Sachdaten abfragen (GetFeatureInfo)
  • Legendengrafik abrufen (GetLegendGraphic)

aktiviert oder deaktiviert werden. Im Standardfall sollten hier alle vier Funktionen aktiviert werden.

Koordinatensysteme Mit Hilfe dieser Auswahlliste können Sie die Koordinatenreferenzsysteme festlegen, die der Dienst unterstützt.

Der Reiter Metadaten

Die möglichen Konfigurationsoptionen im Reiter Metadaten ist abhängig vom gewählten WMS-Profil. Folgende Konfigurationsoptionen stehen mit dem WMS-Profil "OGC" zur Verfügung.

Abbildung 5: Reiter Metadaten am Beispiel WMS Badegewässer Sachsen-Anhalt, Profil: OGC
Titel Legt den Titel des Root-Layers im Capabilities-Dokument fest.
Zugriffsbeschränkungen Hier können Zugriffsbeschränkungen zur Nutzung des Dienstes formuliert werden. Diese werden im Capabilities-Dokument als AccessConstraints ausgegeben.
Gebühren In diesem Feld können Hinweise auf Kosten, die bei der Nutzung des Dienstes entstehen, gegeben werden. Sie werden im Capabilities-Dokument als Fees ausgegeben. Die Angabe eines Verweises (URL) z.B. auf eine Gebührensatzung in einem Portal ist möglich.
Schlüsselworte Dieses Textfeld ermöglicht die Eingabe von Schlüsselworten (Suchbegriffe) zur Beschreibung des Dienstes. Mehrere Schlüsselwörter können durch einen Zeilenumbruch getrennt werden. Die Ausgabe im Capabilities-Dokument erfolgt im Bereich KeywordList.
Kurzbeschreibung In diesem Textfeld sollte eine Kurzbeschreibung zum Dienst hinterlegt werden. Diese wird im Capabilities-Dokument im Element Abstract ausgewiesen.

Die oben gezeigte Konfiguration spiegelt sich im Capabilities XML-Dokument wie folgt wieder.

Abbildung 6: Service-Metadaten am Beispiel WMS Badegewässer Sachsen-Anhalt

Die Konfigurationsoptionen bei Auswahl des WMS-Profils "GDI-DE WMS_DE_1.0" unterscheiden sich im Wesentlichen von der OGC-Version durch die Auswahl eines zusätzlichen Sprachparameters und einer "Hinzufügen-Schaltfläche". Es ist bei diesem Dienstprofil möglich, Metadaten zu einem Dienst in mehreren Sprachen zu hinterlegen. Zum Entfernen eines sprachabhängigen Metadatensatzes können einfach die entsprechenden Eingabefelder geleert werden.

Abbildung 7: Multilinguale Service-Metadaten

Bei der Auswahl des WMS-Profils "INSPIRE View Service mit Metadatenverlinkung (Szenario 1)" besteht die Möglichkeit, wie auch beim WMS-Profil "GDI-DE WMS_DE_1.0", die Service-Metadaten in mehreren Sprachen anzugeben. Zusätzlich muss jedoch in diesem Falle ein Service-Metadatensatz als Standard festgelegt werden. Dies erfolgt über die Häkchenbox "als Standardsprache festlegen". Wird ein INSPIRE Darstellungsdienst ohne Angabe des Sprachparameters "LANGUAGE" aufgerufen, so antwortet der Dienst mit den Metadaten der Standardsprache. Weiterhin ist es in diesem Szenario erforderlich einen Verweis auf ein INSPIRE-konformes ISO-Metadatendokument zu setzen. Derartige Dokumente werden über einen Katalogservice per CSW-Schnittstelle bereitgestellt. Es ist daher ausreichend die Service URL zum Metadatensuchdienst und die ID des Metadatensatzes im Katalogdienst zu hinterlegen.

Abbildung 8: Service-Metadaten INSPIRE Szenario 1, Beispiel Schutzgebiete Sachsen-Anhalt

Wird ein INSPIRE Darstellungsdienst mit dem Szenario 2 - vollständige dienstseitige Metadatenbeschreibung - erstellt, ist im Reiter Metadaten eine umfangreiche Metadatenbeschreibung notwendig. Neben den Metadatenattributen, wie sie auch im Szenario 1 angegeben werden müssen, sind im Szenario 2 folgende Zusatzattribute erforderlich. Das Setzen eines Verweises auf ein INSPIRE-konformes ISO-Metadatendokument ist in diesem Falle optional.

Kontakt für die Metadaten [metadata point if contact]
Name der verantwortlichen Stelle Beschreibung der Stelle, die für die Erstellung und Pflege der Meta-daten zuständig ist.
E-Mail zur Kontaktaufnahme E-Mail-Kontaktadresse der zuständigen Stelle.
Konformität
Grad der Konformität Grad der Übereinstimmung des Dienstes mit den nach Artikel 7 Absatz 1 der Richtlinie EG/2/2007 erlassenen Durchführungsbestimmungen oder einer sonstigen Spezifikation.
Bezeichnung der Spezifikation der Konformität Bezeichnung der Quelle der nach Artikel 7 Absatz 1 der Richtlinie 2007/2/EG erlassenen Durchführungsbestimmungen oder einer sonstigen Spezifikation, mit der der Dienst übereinstimmt.
Bezugsdatum der Quelle Bezugsdatum der Quelle (letzte Überarbeitung oder Erstellung) der nach Artikel 7 Absatz 1 der Richtlinie 2007/2/EG erlassenen Durchführungsbestimmungen oder einer sonstigen Spezifikation, mit der der Dienst übereinstimmt.

Hinweis: Wenn Sie mit der Maus über ein Eingabefeld fahren und dort kurz verweilen, wird im Tooltipp eine Beschreibung zum jeweiligen Feld eingeblendet.

Der Reiter Kontakt

Jeder Darstellungsdienst sollte Kontaktinformationen für Rückfragen und Ähnliches im Capabilities-Dokument ausweisen. Entsprechende Kontaktinformationen können im Reiter "Kontakt" hinterlegt werden.

Zur Referenzierung der Daten am Layer-Objekt wird für jeden Layer eines Darstellungsdienstes ein Resource Identifier angegeben, der durch die Elemente AuthorityURL und Identifier repräsentiert wird. Die AuthorityURL verweist meist auf die geodatenhaltende Stelle, der Identifier referenziert dem Layer zugrundeliegenden Geodatensatz und nutzt den über die AuthorityURL bereitgestellten Namensraum. Die Definition der geodatenhaltenden Stelle (Authority) erfolgt hier im Reiter "Kontakt". Es muss ein Name angegeben werden, welcher als Namespace (CodeSpace) fungiert und ein Online-Verweis (AuthorityURL). Dazu wird meist der Verweis auf das Portal der geodatenhaltenden Stelle verwendet. Der Identifier, zu den Daten eines Layers, wird im Kartenkatalog hinterlegt.

Abbildung 9: Beispiel einer AuthorityURL WMS

Der Reiter Ebenen

In diesem Reiter werden die Ebenen (Layer) ausgewählt, welche über den Darstellungsdienst veröffentlicht werden sollen. Es stehen dabei die Ebenen aus dem Kartenkatalog zur Verfügung. Ein Dienst-Administrator darf dabei nur Layer publizieren, für welche er Zugriffsberechtigungen besitzt.

Abbildung 10: Beispiel Veröffentlichung von DTK-Layern

Zur Veröffentlichung von Layern per WMS, navigieren Sie durch den Themenbaum bis zur gewünschten Position und klicken danach den entsprechenden Layer an. Es erfolgt eine Übernahme in die Box auf der linken Seite. Die Reihenfolge der Ebenen innerhalb der Box legt die Reihenfolge der Layer im Capabilities-Dokument fest. Die Schaltflächen rechts neben der Box können zur Änderung der Reihenfolge und zum Entfernen einer oder aller Layer aus der Layerauswahl verwendet werden. Durch Anklicken eines Layers mit der Maus wird dieser markiert und kann danach aus der Box gelöscht oder in der Reihenfolge verschoben werden.

Schaltfläche Beschreibung
TopIcon.gif Markierten Layer an den Anfang verschieben
MoveUpIcon.gif Markierten Layer eine Position höher verschieben
MoveDownIcon.gif Markierten Layer eine Position tiefer verschieben
BottomIcon.gif Markierten Layer ans Ende verschieben
RemoveIcon.gif Markierten Layer aus der Auswahl entfernen
DeleteIcon.gif Aller Layer aus der Auswahl entfernen

Hinweis: Nach dem endgültigen Zusammenstellen der Layer muss die Dienstkonfiguration gespeichert werden, um die ausgewählten Layer für die weiteren Konfigurationsschritte zu übernehmen.

Der Reiter Sicherheit

Hier können Sie diverse Zugriffsbeschränkungen für Ihren WMS festlegen.

Zugriffsschutz
Anzeige aller Ebenen erzwingen Wird diese Option aktiviert,werden unabhängig von denen im GetMap-Request angegebenen Layern, stets alle Layer des Dienstes als Kartengrafik gerendert und an den Client übertragen.
Service-Hash aktivieren (empfohlen) Diese Option erzeugt einen Service-Hash für den Dienst, welcher innerhalb der Service-URL eingesetzt wird. Bei der Verwendung des Dienstes durch einen Client, muss dieser den Service-Hash und die Service-ID bzw. den Alias kennen. Es wird dadurch verhindert, dass ein Client per Iteration über ID-Bereiche Zugriff auf Dienste erhält.

Beispiel:
http://www.example.com/ows/ws/wms/242c19b5-7fx6-ad24/Der_WMS_Alias/?
Dieser Dienst kann nur durch Angabe des Service-Hashs und des zugehörigen Alias aufgerufen werden.

IP-Sperre aktivieren Aktiviert oder deaktiviert den IP-Schutz des Dienstes.
IP Adressen In diesem Feld werden die IP-Adressen angegeben für die der Zu-griff auf den Dienst gestattet wird. Bemerkungen können hinter einer IP-Adresse mit dem Trennzeichen # gegeben werden.
Beispiel:
192.168.1.101 # der Rechner von Klaus
192.168.1.102 # der Rechner von Claudia
Verfügbarkeit
von, bis Mit Hilfe dieser beiden Konfigurationsoptionen können WMS mit zeitlicher Begrenzung oder stichtagbezogen erstellt werden. Der Zugriff auf den Dienst ist in diesem Falle nur im angegebenen Zeitfenster möglich. Auch die Angabe einer der beiden Optionen, also nur Start- oder nur Endzeit ist möglich.

Der Reiter WMS-Info Spalten

In diesem Konfigurationsschritt werden, für die zuvor ausgewählten Layer, die für die GetFeature-Info Operation zu berücksichtigenden Spalten definiert. Diese Konfigurationsmöglichkeit steht für Fachdatenbank-Layer zur Verfügung. Im Falle von Layern auf Basis von ESRI Shapefiles, werden stets alle Attribute des Datensatzes bei einem GetFeatureInfo-Request ausgewertet. Bei reinen Rasterdatenlayern wird kein GetFeatureInfo-Request unterstütz. Dies wird im Capabilities-Dokument am Layer entsprechend ausgewiesen.

Damit ein Attribut beim GetFeatureInfo entsprechend berücksichtigt wird, muss es per Klick von der Auswahlbox auf der rechten Seite in die Box auf der linken Seite übernommen werden. Die Attribute können mit Hilfe der Schaltflächen neben der Auswahlbox sortiert und zurückgesetzt werden.

Abbildung 11: Beispiel Attributfreigabe für den GetFeatureInfo-Request (Fachdatenbank-Layer)

Der Reiter WMS-Info Transformation

Standardmäßig werden als GetFeatureInfo-Formate Text (text/plain), HTML (text/html) und GML (app-lication/vnd.ogc.gml) von der Geodienste-Plattform unterstützt. In einigen Fällen ist es jedoch erforderlich die Standardausgabe zu formatieren oder weitere Ausgabetypen (z.B. text/xml) bereitzustellen. Die Format-/Schematransformation kann dazu mit Hilfe einer XSL-Transformation realisiert werden. Dazu wird das Standardformat GML (application/vnd.ogc.gml) mit Hilfe von Transformationsanweisungen in das gewünschte Zielformat konvertiert. An dieser Stelle kann keine Einführung in XSLT gegeben werden, es sei dazu auf einschlägige Literatur verwiesen. Das Vorgehen soll jedoch anhand eines Beispiels erläutert werden.

Zielstellung ist es das zusätzliche GetFeatureInfo-Format XML (text/xml) mit vorgegebenen Abbildungsvorschriften zu implementieren.

Abbildung 12: Beispiel GetFeatureInfo-Format (text/xml) mit Transformation

GetFeatureInfo-Response als GML (wird standardmäßig unterstützt):

<?xml version="1.0" encoding="UTF-8"?>
<msGMLOutput xmlns:gml="http://www.opengis.net/gml"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <lau_wsg_lsa_layer>
        <lau_wsg_lsa_feature>
            <gml:boundedBy>
                <gml:Box srsName="EPSG:31468">
                    <gml:coordinates>4506722.500000,5762503.000000
                        4525973.500000,5779176.000000</gml:coordinates>
                </gml:Box>
            </gml:boundedBy>
            <GEBIETSNAM>Fläming</GEBIETSNAM>
            <GEBIETSNUM>STWSG0051</GEBIETSNUM>
            <RECHTSGRUN>
                Beschluss-Nr. 52-10(VIII)/78 Kr. Zerbst vom 20.12.1978
            </RECHTSGRUN>
            <SCHUTZZONE>3</SCHUTZZONE>
            <ERFASSUNGS>mindest. 1 : 25.000</ERFASSUNGS>
            <INFO_KONTA></INFO_KONTA>
            <AMTSBLATT></AMTSBLATT>
        </lau_wsg_lsa_feature>
    </lau_wsg_lsa_layer>
</msGMLOutput>

GetFeatureInfo-Response als XML (nach der Transformation):

<?xml version="1.0" encoding="UTF-8"?>
<sg:FeatureInfoResponse
    xmlns:sg="http://schemas.gdi-de.org/schutzgebietsinformationen/1.0/getfeatureinfo.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://schemas.gdi-de.org/schutzgebietsinformationen/1.0/getfeatureinfo.xsd
    http://schemas.gdi-de.org/schutzgebietsinformationen/1.0/getfeatureinfo.xsd">
    <sg:Schutzgebiet>
        <sg:Schutzgebietsart>Wasserschutzgebiet</sg:Schutzgebietsart>
        <sg:Gebietsname>Fläming</sg:Gebietsname>
        <sg:Gebietsnummer>STWSG0051</sg:Gebietsnummer>
        <sg:Rechtsgrundlage>
            Beschluss-Nr. 52-10(VIII)/78 Kr. Zerbst vom 20.12.1978
        </sg:Rechtsgrundlage>
        <sg:Schutzzone>3</sg:Schutzzone>
        <sg:Erfassungsgrundlage>mindest. 1 : 25.000</sg:Erfassungsgrundlage>
        <sg:Info_Kontakt />
    </sg:Schutzgebiet>
</sg:FeatureInfoResponse>

XLS-Stylesheet zur Schematransformation:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:fn="http://www.w3.org/2005/xpath-functions"
    xmlns:sg="http://schemas.gdi-de.org/schutzgebietsinformationen/1.0/getfeatureinfo.xsd" 
    xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
   
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

    <!--  Konstante Werte -->
    <xsl:variable name='WSG'>Wasserschutzgebiet</xsl:variable>
    <xsl:variable name='NSG'>Naturschutzgebiet</xsl:variable>
    <xsl:variable name='FFHG'>Fauna-Flora-Habitat-Gebiet</xsl:variable>
    <xsl:variable name='VSG'>Vogelschutzgebiet</xsl:variable>
    <xsl:variable name='NationalP'>Nationalpark</xsl:variable>
    <xsl:variable name='BSR'>Biosphaerenreservat</xsl:variable>
    <xsl:variable name='NaturPark'>Naturpark</xsl:variable>
    <xsl:variable name='LSG'>Landschaftsschutzgebiet</xsl:variable>   
    <xsl:variable name='RAMSAR'>Ramsar-Feuchtgebiet</xsl:variable>   
    <xsl:variable name='NDF'>Flächenhaftes Naturdenkmal</xsl:variable>   
    <xsl:variable name='FND'>Flächennaturdenkmal</xsl:variable>   
    <xsl:variable name='GLB'>Geschützter Landschaftsteil</xsl:variable>   
    <xsl:variable name='GP'>Geschützter Park</xsl:variable>       

    <xsl:attribute-set name="schemaLocation">
        <xsl:attribute name="xsi:schemaLocation">
            http://schemas.gdi-de.org/schutzgebietsinformationen/1.0/getfeatureinfo.xsd
            http://schemas.gdi-de.org/schutzgebietsinformationen/1.0/getfeatureinfo.xsd
        </xsl:attribute>
    </xsl:attribute-set>


    <xsl:template match="/msGMLOutput">
        <xsl:element name="sg:FeatureInfoResponse"  use-attribute-sets="schemaLocation">
        <xsl:apply-templates/>
        </xsl:element>
    </xsl:template>   

    <!--WSG-->
    <!--
        Im Falle eines Wasserschutzgebiets enthält FeatureInfo-GML den Tag "lau_wsg_lsa_layer".
        In diesem Falle soll folgende Schematransformation vorgenommen werden:
        <sg:Schutzgebiet>
            <sg:Schutzgebietsart>Wasserschutzgebiet</sg:Schutzgebietsart>
            <sg:Gebietsname>Wert des Attributs GEBIETSNAM einsetzen</sg:Gebietsname>
            <sg: Gebietsnummer>Wert des Attributs GEBIETSNAM einsetzen</sg: Gebietsnummer>
            ...
        </sg:Schutzgebiet>
     -->
    <xsl:template match="lau_wsg_lsa_layer">
        <xsl:element name="sg:Schutzgebiet">
            <!--1:1 mapping-->
            <xsl:element name="sg:Schutzgebietsart">
                <xsl:value-of select='$WSG'/>
            </xsl:element>
            <xsl:element name="sg:Gebietsname">
                <xsl:value-of select="lau_wsg_lsa_feature/GEBIETSNAM"/>
            </xsl:element>
            <xsl:element name="sg:Gebietsnummer">
                <xsl:value-of select="lau_wsg_lsa_feature/GEBIETSNUM"/>
            </xsl:element>
            <xsl:element name="sg:Rechtsgrundlage">
                <xsl:value-of select="lau_wsg_lsa_feature/RECHTSGRUN"/>   
            </xsl:element>
            <xsl:element name="sg:Schutzzone">
                <xsl:value-of select="lau_wsg_lsa_feature/SCHUTZZONE"/>
            </xsl:element>
            <xsl:element name="sg:Erfassungsgrundlage">
                <xsl:value-of select="lau_wsg_lsa_feature/ERFASSUNGS"/>
            </xsl:element>                               
            <xsl:element name="sg:Info_Kontakt">
                <xsl:value-of select="lau_wsg_lsa_feature/INFO_KONTA"/>
            </xsl:element>                               
        </xsl:element>
    </xsl:template>
    <!--NSG-->
    <xsl:template match="lau_nsg_lsa_layer">
        <xsl:element name="sg:Schutzgebiet">
            <!--1:1 mapping-->
            <xsl:element name="sg:Schutzgebietsart">
                <xsl:value-of select='$NSG'/>
            </xsl:element>
            <xsl:element name="sg:Gebietsname">
                <xsl:value-of select="lau_nsg_lsa_feature/GEBIETSNAM"/>
            </xsl:element>
            <xsl:element name="sg:Gebietsnummer">
                <xsl:value-of select="lau_nsg_lsa_feature/GEBIETSNUM"/>
            </xsl:element>
            <xsl:element name="sg:Rechtsgrundlage">
                <xsl:value-of select="lau_nsg_lsa_feature/RECHTSGRUN"/>   
            </xsl:element>
            <xsl:element name="sg:Schutzzone">
                <xsl:value-of select="lau_nsg_lsa_feature/SCHUTZZONE"/>
            </xsl:element>
            <xsl:element name="sg:Erfassungsgrundlage">
                <xsl:value-of select="lau_nsg_lsa_feature/ERFASSUNGS"/>
            </xsl:element>                               
            <xsl:element name="sg:Info_Kontakt">
                <xsl:value-of select="lau_nsg_lsa_feature/INFO_KONTA"/>
            </xsl:element>                               
        </xsl:element>
    </xsl:template>
   
    <!-- ... -->
   
</xsl:stylesheet>

Literatur

  1. OpenGIS Web Map Service (WMS) Implementation Specification (Version 1.3.0, 2006-03-15), (Version 1.1.1, 2002-01-16)
  2. GDI-DE Profil WMS-DE_1.0 Applikationsprofil für Web Map Services innerhalb der Geodateninfrastruktur Deutschland (Version 1.0, 2006-10-17)
  3. Technical Guidance for the implementation of INSPIRE View Services (Version 3.11, 2013-04-04)
  4. Handlungsempfehlungen für die Bereitstellung von INSPIRE konformen Darstellungsdiensten (INSPIRE View Services) (Version 1.0, 2011-12-19)