OWS Dienste

Die GBD WebSuite kann als OWS (OGC Web Services) Server fungieren. Sie können diese Dienste für jedes Projekt frei konfigurieren. Wenn mehrere Versionen für einen OWS unterstützt werden, antwortet der Server immer mit der Version die angefragt wird, d.h. wenn z.B. http://host.de/wms?service=WMS&version=1.1.1 aufgerufen wird, erfolgt die Ausgabe in der Version 1.1.1.

Aktion ows

Die Dienste werden freigeschaltet indem Sie die Aktion ows global oder in einem Projekt konfigurieren. Diese Aktion besitzt eine Liste von Diensten (service), wo Sie die konkrete Dienste konfigurieren.

Für alle OWS Dienste muss aus den Projekt-Layern ein “root” Layer ausgewählt sein. Sie können diesen Layer explizit mit der root Eigenschaft konfigurieren, ansonste wird der erste Layer, auf der obersten Ebene genommen.

Unterstützte Dienste

Derzeit sind folgende Dienste implementiert:

wms

Der WMS-Dienst ist vollständig gemäß der Eigenschaften der Version 1.1.0, 1.1.1 und 1.3.0 implementiert.

wfs

Der WFS-Dienst ist gemäß der Eigenschaften der Version 2.0 implementiert. Derzeit unterstützen wir nur folgenden Funktionen:

  • GetCapabilities

  • DescribeFeatureType

  • GetFeature mit der Envelope Operation

Note

In der Zukunft, planen wir das “Basic WFS” Profil sowie WFS 3.0 umzusetzen.

Ein Ausschnitt aus einer Projektkonfiguration um eine Layer-Gruppe mit einer Postgres Layer als wfs Dienst zur Verfügung stellen kann z.B. so aussehen:

api.actions+ {
    type "ows"
    services [
        {
            uid "my_wfs_service"
            root "my_project_uid.map.wfs_layer_root"
        }
    ]
}

layers+ {
    type "group"
    uid "wfs_layer_root"
    layers+ {
        type "postgres"
        title "my wfs layer"
        table.name "schema.table"
    }
}

wcs

Es werden WCS Versionen 1.0.0 und 2.0.1 unterstützt.

wmts

Es wird WMTS Version 1.0.0 unterstützt.

CSW Dienst

Die GBD WebSuite enthält eine Basis-Implementation von einem CSW Dienst. Dieser Dienst kann nur in der App-Konfig konfiguriert werden. Derzeit sind folgende Operationen implementiert:

  • GetCapabilities

  • DescribeRecord

  • GetRecords, mit PropertyIsLike und Envelope Filtern

  • GetRecordById

Sie können auch zwischen Metadata-Profilen iso (ISO 19139) oder dcmi (Dublin Core) wählen.

CSW Dienst ist für alle OWS und ISO Metadaten zuständig. Sobald Sie den Dienst aktivieren, werden alle im System vorhandene Metadaten gesammelt und als CSW Einträge (record) dargestellt. Jedes Objekt bekommt automatisch eine MetadataURL, die auf die entsprechende CSW Seite zeigt, sofern Sie unter meta.url nicht anderes angeben.

Layer-Konfiguration

Zusätzlich zur der Aktion Konfiguration, können Sie bei jedem Layer definieren, ob dieser Layer überhaupt für OWS Dienste berücksichtigt wird (enabled), wenn ja, für welche (enabledServices) und welchen Namen der Layer selbst (name) und die Features, die sich auf diesem Layer befinden (featureName) haben.

Externe WMS/WFS Layer werden automatisch “kaskadiert”.

URL rewriting

Standardmäßig werden OWS-Dienste unter einer dynamischen URL angezeigt, die die Dienst uid sowie Projekt uid enthält, z.B.

http://example.com/_?cmd=owsHttpService&uid=my_wms_service&projectUid=meinprojekt

Sie können diese URL in eine schönere Form mit URL-Rewriting umschreiben, z.B:

https://example.com/my_wms_service/meinprojekt

Damit Ihre in Capabilities Dokumenten angegebene URLs auch “schön” aussehen, müssen Sie auch reversierte Rewriting (reversedRewrite) konfigurieren. Siehe Web Server für Details.

Vorlagen

Die für einen Dienst notwendige XML Dokumente werden vom System automatisch erstellt. Sie haben jedoch die Möglichkeit, diese Dokumente anzupassen. Dafür definieren Sie unter Dienst templates eine Vorlage mit dem subject das für eine der folgenden Dokument-Kategorien steht:

Subject

Dienste

ows.GetCapabilities

alle

ows.GetFeatureInfo

WMS, WFS

ows.DescribeFeatureType

WFS

ows.DescribeCoverage

WCS

ows.DescribeRecord

CSW

ows.GetRecords

CSW

ows.GetRecordById

CSW

Die Vorlagen müssen in xml bzw text Format sein, s. Vorlagen für mehr Info.

INSPIRE Support

Die GBD WebSuite unterstützt die Europäische Direktive INSPIRE indem die GetCapabilities Dokumente INSPIRE Metadaten enthalten. Es ist auch möglich INSPIRE-Konforme (harmonisierte) Sachdaten in GetFeature Responses auszugeben.

INSPIRE Metadaten

Um einen INSPIRE Meta-Block (inspire_vs:ExtendedCapabilities) in Ihren GetCapabilities Dokument einzubauen, setzen Sie die Eigenschaft withInspireMeta auf true und befüllen Sie die notwendigen Eigenschaften in Dienst Metadaten.

INSPIRE Harmonisierung

Derzeit können Sie INSPIRE Sachdaten erstellen indem Sie eine dedizierte Vorlage für ows.GetFeatureInfo einbauen die anhand von Quell-Feature Attributen eine INSPIRE-konforme Struktur generiert.