Die Web Map Service-(WMS-)Spezifikation des Open Geospatial Consortium, Inc. (OGC) ist eine internationale Spezifikation zur Bereitstellung und Verwendung dynamischer Karten im Web. Sie können einen WMS-Service in ArcGIS for Server veröffentlichen, indem Sie beim Veröffentlichen einer Karte oder eines Image-Service in ArcGIS for Desktop 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. Die Versionen heißen v1.0.0, v1.1.0, v1.1.1 und v1.3.0 (aktuellste Version).
Client-Anwendungen arbeiten mit einem WMS-Service, indem sie Parameter an die URL des Service anhängen. WMS-Services, die in ArcGIS for 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 Karten-Service mit aktivierter WMS-Funktion veröffentlichen. Um einen Karten-Service 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 im Service-Editor auf der Registerkarte Funktionen das Kontrollkästchen WMS aktivieren. Ein ausführliches exemplarische Erläuterung des Prozesses zur Erstellung eines WMS-Service finden Sie unter Lernprogramm: Veröffentlichen eines WMS-Service.
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 diese die Startzeit möglicherweise verkürzen, indem Sie Layer im Service entfernen oder konsolidieren.
WMS-Services nutzen einen Karten-Service-Cache, sofern dieser verfügbar ist. Der Karten-Service-Cache wird nur zum Anfordern der ursprünglichen Projektion, der Layer-Reihenfolge und der 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 Symbologie aufweist, die andernfalls nur mit viel Zeitaufwand dynamisch gezeichnet werde könnte. Wenn Sie nur wenige Layer und eine unkomplizierte Symbologie haben, erzielen Sie ohne Cache eine höhere Performance.
Hinweis:
WMS-Services können nur Karten-Service-Caches verwenden, Image-Service-Caches werden nicht unterstützt.
Wenn Sie einen WMS-Service aus einem bedarfsgesteuert gecachten Karten-Service anzeigen, werden im Cache Kacheln erstellt, wenn ein Benutzer zu einem bislang nicht gecachten Bereich navigiert.
Wenn der WMS aus einem auf einem Mosaik-Dataset basierenden Image-Service von ArcGIS for Server stammt, kann der Client Abfragen für bestimmte Raster im Dataset durchführen. 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 automatisch einzufügen. 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 for Desktop 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. Verfügbare Operationen:
- 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. Weitere Informationen finden Sie unter Verwenden von externen Capabilities-Dateien mit WMS-Services.
Sichern von WMS-Services
Die Sicherheit für einen WMS-Service in ArcGIS Server wird dadurch verwaltet, dass die Sicherheit des ihm übergeordneten Karten- oder Image-Service gesteuert wird. Wenn einer bestimmten Rolle, z. B. einer Rolle mit der Bezeichnung "Planners", der Zugriff auf eine Karte verweigert wird, dann 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 for Server unterstützt eine Reihe unterschiedlicher Authentifizierungsschemas, beispielsweise die HTTP-basierte Authentifizierung (Basic und Digest), die integrierte Windows-Authentifizierung und die von ArcGIS for Server verwaltete Token-basierte Authentifizierung.
Integrierte Windows-Authentifizierung
Services, auf die über WMS-Schnittstellen zugegriffen werden soll, sollten mit HTTP Basic, HTTP Digest oder der integrierten Windows-Authentifizierung gesichert werden. Die meisten WMS-Clients (sowohl Esri Clients als auch andere Clients) können diese weit verbreiteten Standardauthentifizierungsschemas erkennen und verarbeiten.
Von ArcGIS Server verwaltete Token-basierte Authentifizierung
Obwohl dies nicht empfohlen wird, kann ein WMS-Service nach wie vor mit der von ArcGIS Server verwalteten Token-basierten Authentifizierung gesichert werden, indem dieser Typ der Authentifizierung auf den entsprechenden Parent-Karten- oder -Image-Service angewendet wird. 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:
http://<WMS_service_url>?<Standard-WMS-Parameter>&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 der 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 for Server veröffentlichte WMS-Services weisen folgendes URL-Format auf:
http://gisserver.domain.com:6080/arcgis/services/folder/service/service type(kann MapServer oder ImageServer sein)/WMSServer?
Beachten Sie, dass die WMS-Funktion sowohl für Karten-Services 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 Karten-Service "Tokyo" enthalten ist und der auf "gisserver" mit der Portnummer 6080 ausgeführt wird, so lautet die URL des WMS-Service wie folgt:
http://gisserver:6080/arcgis/services/Japan/Tokyo/MapServer/WMSServer?
Bei einem Image-Service namens "IdahoImages", der auf "myServer" mit der Portnummer 6080 ausgeführt wird, würde die URL für den WMS-Service wie folgt lauten:
http://gisserver:6080/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 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, Symbologien 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 Symbologie der Layer im Service zurückgegeben werden. Clients können mithilfe dieser Informationen eine Legende erstellen. Standardmäßig sind WMS-Services, die Sie in ArcGIS for Server veröffentlichen, so eingestellt, dass sie 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.
Tipp:
Legendeninformationen für WMS-Layer können in ArcMap durch Rechtsklicken auf den Layer im Inhaltsverzeichnis und Auswählen von WMS-Legende zu Karte hinzufügen angezeigt werden.