Das Open Geospatial Consortium. (OGC) hat eine Web Map Service-(WMS-)Spezifikation erarbeitet. Dabei handelt es sich um eine internationale Spezifikation zur Bereitstellung und Verwendung dynamischer Karten im Web. Sie können einen WMS-Service in ArcGIS Server veröffentlichen, indem Sie beim Veröffentlichen einer Karte oder eines Image-Service die WMS-Funktion aktivieren.
WMS-Services sind hilfreich, wenn Sie Ihre Karten über eine für verschiedene Plattformen und Clients offene, anerkannte Methode online verfügbar machen möchten. Jeder Client, der die WMS-Spezifikation unterstützt, kann Ihren Service anzeigen und mit ihm arbeiten. Bisher wurden vier Versionen der WMS-Spezifikation veröffentlicht: 1.0.0, 1.1.0, 1.1.1 und 1.3.0 (aktuelle Version).
Client-Anwendungen arbeiten mit einem WMS-Service, indem sie Parameter an die URL des Service anhängen. WMS-Services, die in ArcGIS Server veröffentlicht werden, unterstützen folgende Operationen:
- Anfordern von Metadaten zum Service (GetCapabilities)
- Anfordern eines Kartenbildes (GetMap)
- Anfordern von Informationen zu Features in der Karte (GetFeatureInfo [optional])
- Anfordern von benutzerdefinierten Styles (GetStyles)
- Anfordern von Legendensymbolen (GetLegendGraphic)
Es ist nicht erforderlich, dass ein WMS-Service alle Operationen unterstützt; er muss aber zumindest die GetCapabilities- und GetMap-Operationen unterstützen, um ein Basic-WMS zu sein, und er muss die optionale GetFeatureInfo-Operation unterstützen, um ein abfragbarer WMS zu sein. GetStyles als auch GetLegendGraphic sind nur in Styled-Layer-Deskriptoren (SLD) verfügbar.
Die von einem WMS-Service zurückgegebenen Karten-Images enthalten keine tatsächlichen Daten, obwohl Attributanforderungen über die GetFeatureInfo-Operation ausgeführt werden können. Um die Daten über OGC-Spezifikationen als Vektor-Features verfügbar zu machen, müssen Sie stattdessen einen WFS-Service verwenden. Um Daten als Raster-Layer bereitzustellen, veröffentlichen Sie einen WCS-Service. Auf der Open Geospatial Consortium-Website erfahren Sie mehr über WMS-Services.
Veröffentlichen eines WMS-Service
Es gibt zwei Möglichkeiten für die Veröffentlichung eines WMS-Service:
- Sie können einen Kartenservice mit aktivierter WMS-Funktion veröffentlichen. Um einen Kartenservice zu veröffentlichen, müssen Sie zunächst ein Kartendokument erstellen.
- Sie können einen Image-Service mit aktivierter WMS-Funktion veröffentlichen. Um einen Image-Service zu veröffentlichen, ist entweder ein Raster-Dataset, ein Mosaik-Dataset oder eine Layer-Datei erforderlich, die auf ein Raster-Dataset oder ein Mosaik-Dataset verweist.
Wenn Sie den Karten- oder Image-Service veröffentlichen, aktivieren Sie die WMS-Funktion, indem Sie auf der Registerkarte Konfiguration das Kontrollkästchen WMS aktivieren.
Die Anzahl von Layern in der Karte wirkt sich direkt auf die Dauer aus, die dafür benötigt wird, den WMS-Service erstmalig zu erstellen oder ihn zu starten, nachdem er beendet wurde. Sie können die Startzeit möglicherweise verkürzen, indem Sie Layer im Service entfernen oder konsolidieren.
WMS-Services nutzen einen Kartenservice-Cache, sofern dieser verfügbar ist. Der Kartenservice-Cache wird nur zum Anfordern der ursprünglichen Layer-Reihenfolge und Layer-Sichtbarkeit des Service verwendet. Die gecachten Kacheln werden neu gesampelt, um dem vom Client angeforderten Maßstab zu entsprechen. Dieser Vorgang kann einige Verarbeitungszeit in Anspruch nehmen, und zu einer geringeren Bildqualität führen. Die Verwendung eines Cache ist vor allem dann von Vorteil, wenn der WMS-Service viele Layer oder eine komplexe Symbolisierung aufweist, die andernfalls nur mit viel Zeitaufwand dynamisch gezeichnet werden könnte. Wenn Sie lediglich einige Layer und eine unkomplizierte Symbolisierung haben, erzielen Sie möglicherweise ohne Cache eine bessere Leistung.
Hinweis:
Die Option Änderung der Layer-Reihenfolge und Symbolisierung nach Anforderung zulassen muss im Kartenservice deaktiviert sein, damit die Anforderungen der Operation "GetMap" den Kartenservice-Cache verwenden. Wenn die Option aktiviert ist, greifen Anforderungen der Operation "GetMap" auf die Datenquelle des Service-Layer zu.
Falls für Ihren Image-Service mehrere Raster-Funktionsvorlagen konfiguriert wurden, kann auf diese über Sublayer in WMS zugegriffen werden. Falls Ihr Image-Service auf einem multidimensionalen Mosaik-Dataset basiert, kann auf die in diesem Mosaik-Dataset definierten Variablen über Sublayer in WMS zugegriffen werden.
Hinweis:
WMS-Services können nur Kartenservice-Caches verwenden, Image-Service-Caches werden nicht unterstützt.
Wenn Sie einen WMS-Service aus einem bedarfsgesteuert gecachten Kartenservice anzeigen, werden im Cache Kacheln erstellt, wenn ein Benutzer zu einem bislang nicht gecachten Bereich navigiert.
Wenn der WMS aus einem ArcGIS Server-Image-Service stammt, der auf einem Mosaik-Dataset basiert, kann der Client Abfragen für bestimmte Raster in dem Dataset ausgeben. In diesem Fall verfügt die WMS GetMap-Anforderung über den zusätzlichen Parameter IMAGES. Wenn beispielsweise IMAGES=1,2 festgelegt wird, werden die Images mit den Objekt-IDs 1 und 2 aus der Katalog-Tabelle des Image-Service angefordert.
Konfigurieren der Eigenschaften des WMS-Service
Die Eigenschaften eines WMS-Service werden in seinen Capabilities-Dateien widergespiegelt, damit jeder Benutzer den Publisher des Service nachvollziehen kann. Wenn Sie einen WMS-Service mit vom System generierten Capabilities-Dateien (Standard) veröffentlichen, empfiehlt es sich, die WMS-Service-Eigenschaften auszufüllen. Informationen zu den WMS-Service-Eigenschaften, die Sie festlegen können, finden Sie unter Verfügbare WMS-Service-Eigenschaften. Darüber hinaus finden Sie in den folgenden Themen Anweisungen dazu, wo Sie WMS-Service-Eigenschaften festlegen können.
Konfigurieren von Operationen, die von einem WMS-Service unterstützt werden
Die zulässigen Operationen von WMS-Services werden in Manager und ArcGIS Pro gesteuert. Soll beispielsweise der Zugriff auf einzelne Feature-Informationen beschränkt werden, deaktivieren Sie die Option GetFeatureInfo. Anforderungen für den Zugriff auf Feature-Informationen werden daraufhin verweigert.
Standardmäßig sind alle Operationen des Service aktiviert. Folgende Vorgänge sind verfügbar:
- GetCapabilities: Gibt die Capabilities-Informationen als Antwort auf die Anforderung "GetCapabilities" an den Client zurück.
- GetFeatureInfo: Gibt Features als Antwort auf die Anforderung "GetFeatureInfo" an den Client zurück.
- GetLegendGraphic: Gibt ein Legendenbild als Antwort auf die Anforderung "GetLegendGraphic" an den Client zurück.
- GetMap: Gibt ein Kartenbild als Antwort auf die Anforderung "GetMap" an den Client zurück.
- GetSchemaExtension: Gibt das Schema als Antwort auf die Anforderung "GetSchemaExtension" an den Client zurück.
- GetStyles: Gibt Informationen zu verfügbaren Styles als Antwort auf die Anforderung "GetStyles" an den Client zurück.
Hinweis:
Um eine vollständige Kompatibilität mit OGC WMS zu gewährleisten, aktivieren Sie (mindestens) die Operationen "GetCapabilities" und "GetMap".
Festlegen von WMS-Eigenschaften über externe Capabilities-Dateien
Sie können die Metadaten auch mithilfe einer externen Capabilities-Datei definieren. Dies ermöglicht Ihnen, zusätzliche Projektionen für die Feature-Typen einzuschließen, die standardmäßig nicht vorgesehen sind. Die Standardeinstellungen schließen das Koordinatensystem des Layers oder der Feature-Class und WGS84 (EPSG 4326) ein.
Sichern von WMS-Services
Die Sicherheit eines ArcGIS Server-WMS-Service wird über die Sicherheit des übergeordneten Karten- oder Image-Service gesteuert und verwaltet. Wenn einer bestimmten Rolle, z. B. einer Rolle mit der Bezeichnung "Planners", der Zugriff auf eine Karte verweigert wird, können Mitglieder der Rolle "Planners" nicht auf die Karte zuzugreifen, weder über SOAP oder REST (Representational State Transfer) noch über eine OGC-Schnittstelle (z. B. WMS). ArcGIS Server unterstützt eine Reihe von Authentifizierungsschemas, beispielsweise die HTTP-basierte Authentifizierung (Basic und Digest) und die von ArcGIS Server verwaltete tokenbasierte Authentifizierung.
HTTP-Authentifizierung
Services, auf die über WMS-Schnittstellen zugegriffen werden soll, müssen mit HTTP Basic oder HTTP Digest gesichert werden. Die meisten WMS-Clients (sowohl Esri Clients als auch andere Clients) können diese weit verbreiteten Standardauthentifizierungsschemas erkennen und verarbeiten.
ArcGIS Server-verwaltete tokenbasierte Authentifizierung
Auch wenn es nicht empfohlen wird, kann ein WMS-Service weiterhin mit der ArcGIS Server-verwalteten tokenbasierten Authentifizierung gesichert werden, wobei diese Art der Authentifizierung auf seinem übergeordneten Karten- oder Image-Service erfolgt. Um unverarbeitete Anforderungen an von einem Token geschützte WMS-Services zu stellen, können Sie aus dem Token-Service ein gültiges Token abrufen und die Token-Zeichenfolge als zusätzlichen Parameter an die Anforderungen anhängen, die Sie senden. Anforderungen an einen Token-gesicherten WMS-Service müssen demzufolge das folgende Format verwenden:
https://<WMS_service_url>?<standard WMS parameters>&token=<valid_tokenString>
Die meisten Desktop-WMS-Clients von Drittanbietern können keine Verbindungen zu WMS-Services herstellen, die auf diese Weise gesichert sind. Diese Methode kann jedoch mit WMS-Clients verwendet werden, die mithilfe von ArcGIS API for JavaScript erstellt wurden.
Verwenden von WMS-Services
Um eine Verbindung mit einem WMS-Service herzustellen, müssen Sie die URL kennen. In ArcGIS Server veröffentlichte WMS-Services weisen folgendes URL-Format auf:
https://gisserver.domain.com:6443/arcgis/services/folder/service/service type(can be MapServer or ImageServer)/WMSServer?
Beachten Sie, dass die WMS-Funktion sowohl für Kartenservices als auch für Image-Services verfügbar ist. Aus diesem Grund gibt es zwei Optionen für den Service-Typ.
Wenn Sie beispielsweise einen Ordner namens "Japan" haben, in dem der Kartenservice "Tokyo" enthalten ist und der auf "gisServer" mit der Portnummer 6443 ausgeführt wird, so lautet die URL des WMS-Service wie folgt:
https://gisserver:6443/arcgis/services/Japan/Tokyo/MapServer/WMSServer?
Bei einem Image-Service namens "IdahoImages", der auf "gisServer" mit der Portnummer 6443 ausgeführt wird, lautet die URL für den WMS-Service wie folgt:
https://gisserver:6443/arcgis/services/IdahoImages/ImageServer/WMSServer?
Gängige WMS-Clients
Ein Webbrowser ist der einfachste Client für einen WMS-Service. WMS-Anforderungen können über HTTP gestellt werden, und die Antworten oder Ausnahmen (Exceptions) werden durch den Browser zurückgegeben. WMS-Services unterstützen mehrere Operationen: GetCapabilities, GetMap, GetFeatureInfo, GetStyles und GetLegendGraphic. Durch URL-Parameter kann ein Client mithilfe dieser Operationen Service-Metadaten, Karten, Informationen zu Features, Symbolisierungen und Legendensymbole aus dem WMS-Service abrufen. Diese Operationen und Parameter werden in den OGC-WMS-Spezifikationen aufgeführt.
Anzeigen von Legendeninformationen für einen WMS-Service
WMS-Services können so konfiguriert werden, dass Informationen zur Symbolisierung der Layer im Service zurückgegeben werden. Clients können mithilfe dieser Informationen eine Legende erstellen. WMS-Services, die Sie in ArcGIS Server veröffentlichen, können standardmäßig Legendeninformationen zurückgeben. Dies kann über die Eigenschaft Layer-Namen aus dem Kartendokument verwenden deaktiviert werden. Weitere Informationen finden Sie unter Verfügbare WMS-Service-Eigenschaften.