Verwenden von externen Capabilities-Dateien mit WMS-Services
Externe Capabilities-Dateien ermöglichen Ihnen die vollständige Kontrolle über die Capabilities-Datei des WMS-Services, sodass Sie folgende Tasks durchführen können:
- Hinzufügen von Service-Metadaten
- Hinzufügen von Layer-Metadaten
- Hinzufügen von Raumbezugssystemen aus der vordefinierten Projektionsliste von ArcGIS Server
- Anpassen der Legendeninformation für jeden Layer
Externe Capabilities-Dateien bieten Ihnen zwar mehr Flexibilität, das Arbeiten mit ihnen erfordert jedoch, dass Sie sich mit der OGC WMS-Spezifikation auskennen.
Dieses Thema enthält Anweisungen dazu, wie Sie den WMS-Service zur Verwendung externer Capabilities-Dateien konfigurieren können, und enthält außerdem einige Anwendungsfälle, bei denen sich die Verwendung externer Capabilities-Dateien anbietet.
Hinweis: Bei der Verwendung externer Capabilities-Dateien für den WMS-Service sind Sie für das Überprüfen der Capabilities-Dateien in Bezug auf das DTD- oder XML-Schema von OGC zuständig. Sie sind auch für die gesamte Synchronisierung zwischen den Capabilities-Dateien und dem Quellkartendokument zuständig, über die der WMS-Service veröffentlicht wird.
Konfigurieren eines WMS-Services zur Verwendung externer Capabilities-Dateien
Um einen WMS-Service zur Verwendung externer Capabilities-Dateien zu konfigurieren, muss bereits mindestens eine WMS-Capabilities-Datei vorhanden sein. Sie können die Datei von Grund auf neu erstellen, aber es ist oft einfacher, eine vom System generierte Capabilities-Datei als Vorlage zu verwenden. (Standardmäßig wird bei jedem Starten des Services im ArcGIS Server-Ausgabeverzeichnis ein Satz vom System generierter Capabilities-Dateien erstellt. Diese Dateien werden beim Beenden des Services gelöscht.)
Wenn der WMS-Service verschiedene Versionen des WMS-Protokolls unterstützen soll – z. B. 1.0.0, 1.1.0, 1.1.1 und 1.3.0 – muss jeweils eine Capabilities-Datei für jede WMS-Version vorhanden sein. Sobald Sie alle notwendigen Capabilities-Dateien erstellt haben, benennen Sie sie mit einem allgemeinen Präfix (z. B. Capabilities) plus einer eindeutigen dreistelligen Versionsnummer (z. B. Capabilities100, Capabilities110, Capabilities111, Capabilities130). Platzieren Sie all Ihre Capabilities-Dateien in einem allgemeinen Ordner, auf den über eine URL zugegriffen werden kann. Führen Sie dann die unten beschriebenen Schritte aus, um den Service zur Verwendung der Dateien zu konfigurieren:
Anweisungen für ArcGIS Server Manager
- Klicken Sie im Manager auf die Registerkarte Services.
- Suchen Sie den Service, und klicken Sie auf das Symbol Bearbeiten.
- Klicken Sie auf die Registerkarte Funktionen.
- Suchen Sie "WMS" in der Liste Funktionen. Stellen Sie sicher, dass das Kontrollkästchen aktiviert ist, und klicken Sie auf den Text WMS (achten Sie darauf, das Kontrollkästchen nicht zu deaktivieren). Sie sehen, dass einige Eigenschaften angezeigt werden.
- Wählen Sie Externe Capabilities-Dateien verwenden.
- Geben Sie im Feld Verzeichnis und Präfix angeben die URL des Ordners ein, in dem sich die Capabilities-Dateien befinden, und das allgemeine Präfix, das Sie für die Capabilities-Dateien verwendet haben (Beispiel: Wenn Sie "Capabilities" als allgemeines Präfix verwendet und die Dateien unter C:\Inetpub\wwwroot\<Instanzname>\wms abgelegt haben und IIS mit ArcGIS Server for .NET verwenden, geben Sie Folgendes ein: http://<Servername>/<Instanzname>/wms/capabilities).
- Klicken Sie auf Speichern.
Anweisungen für ArcCatalog
- Melden Sie sich als Administrator an dem GIS-Server an, auf dem der Service ausgeführt wird.
- Suchen Sie den Service, und beenden Sie ihn, sofern er ausgeführt wird.
- Klicken Sie mit der rechten Maustaste auf den Service, und wählen Sie Diensteigenschaften.
- Klicken Sie auf die Registerkarte Funktionen.
- Suchen Sie "WMS" in der Liste Funktionen. Stellen Sie sicher, dass das Kontrollkästchen aktiviert ist, und klicken Sie auf den Text WMS (achten Sie darauf, das Kontrollkästchen nicht zu deaktivieren). Sie sehen, dass einige Eigenschaften angezeigt werden.
- Wählen Sie Externe Capabilities-Dateien verwenden.
- Geben Sie im Feld Verzeichnis und Präfix angeben die URL des Ordners ein, in dem sich die Capabilities-Dateien befinden, und das allgemeine Präfix, das Sie für die Capabilities-Dateien verwendet haben (Beispiel: Wenn Sie "Capabilities" als allgemeines Präfix verwendet und die Dateien unter C:\Inetpub\wwwroot\<Instanzname>\wms abgelegt haben und IIS mit ArcGIS Server for .NET verwenden, geben Sie Folgendes ein: http://<Servername>/<Instanzname>/wms/capabilities).
- Klicken Sie auf "OK", und starten Sie den Service neu.
Anwendungsfall 1: Hinzufügen weiterer Raumbezugssysteme (SRS/CRS)
Problem: Die WMS-Services, die Sie mit ArcGIS Server erstellen, unterstützen Hunderte von Raumbezugssystemen, aber nur zwei werden in der Capabilities-Datei verwendet: EPSG 4326 (erforderlich für jeden WMS-Service) und der Raumbezug des Datenrahmens, aus dem Sie den Service veröffentlicht haben. Sie können zwar festlegen, dass eine Karte des WMS-Services eins der Hunderten von unterstützten Raumbezugssystemen verwendet, aber einige WMS-Clients geben einen Fehler zurück, wenn der von Ihnen angeforderte Raumbezug nicht in der Capabilities-Datei enthalten ist. Andere Clients, z. B. ArcMap, ermöglichen lediglich ein Umschalten zwischen den in der Capabilities-Datei aufgeführten Raumbezugssystemen.
Lösung: Durch die Veröffentlichung eines WMS-Services mit externen Capabilities-Dateien können den Capabilities dieses WMS-Service weitere Raumbezugssysteme hinzugefügt werden, sodass WMS-Clients diese erkennen.
Ausführliche Schritte: Ein ausführliches Beispiel finden Sie unter Adding spatial reference systems to a WMS service's capabilities file im ArcGIS Server-Blog.
Anwendungsfall 2: Umleiten von WMS-Anforderungen durch das Konfigurieren von OnlineResource-Tags
Problem: OnlineResource-Tags in der Capabilities-Datei eines WMS-Services teilen Clients mit, wohin GetCapabilities-, GetMap- und GetFeatureInfo-Anforderungen nach der ersten Verbindung gesendet werden sollen. Normalerweise enthalten OnlineResource-Tags die gleiche URL wie der WMS-Service, aber wenn ein Reverse-Proxy verwendet wird oder wenn der Benutzer möchte, dass verschiedene Typen von WMS-Anforderungen an verschiedene Server gesendet werden, ist es notwendig, OnlineResource-Tags konfigurierbar zu machen.
Lösung: Durch das Veröffentlichen eines WMS-Services mit externen Capabilities-Dateien können OnlineResource-Tags so konfiguriert werden, dass sie für verschiedene WMS-Anforderungen jeweils auf verschiedene URLs verweisen.
Ausführliche Schritte:
- Führen Sie die Schritte im Abschnitt Konfigurieren eines WMS-Services zur Verwendung externer Capabilities-Dateien dieser Dokumentation aus, um einen WMS-Service mit externen Capabilities-Dateien zu veröffentlichen.
- Öffnen Sie die externe Capabilities-Datei für Version 1.3.0 (z. B. capabilities130.xml) in einem Texteditor.
- Suchen Sie alle <OnlineResource>-Tags. Es sollte vier geben. Eines für den WMS-Service selbst und die anderen drei für die drei Typen von WMS-Anforderungen (GetCapabilities, GetMap und GetFeatureInfo).
- Legen Sie das xlink:href-Attribut von <OnlineResource> auf die URL fest, an die dieser Typ der WMS-Anforderung gesendet werden soll. Speichern Sie die Änderung. (Das xlink:href-Attribut kann unter den vier <OnlineResource>-Tags eindeutig sein.)
- Wiederholen Sie Schritt 2 bis 4 für andere Versionen (1.0.0, 1.1.0, 1.1.1 usw.) externer Capabilities-Dateien.
- Greifen Sie über die URLs auf die externen Capabilities-Dateien zu, und stellen Sie sicher, dass die Änderungen ordnungsgemäß gespeichert werden.
Sie müssen den WMS-Service oder seine übergeordnete Karte oder den Image-Service nicht neu starten, nachdem Sie diese Schritte ausgeführt haben. Das Aktualisieren dieser Verbindung über den Client sollte ausreichen.
Hinweis: Wenn die gleiche URL, bei der es sich nicht um die WMS-Service-URL handelt, für alle Typen von WMS-Anforderungen verwendet wird, müssen keine externen Capabilities-Dateien verwendet werden. Legen Sie stattdessen das allgemeine OnlineResource-Tag über ArcCatalog oder Manager fest, und veröffentlichen Sie den WMS-Service mit vom System generierten Capabilities-Dateien.
Anwendungsfall 3: Konfigurieren und Anpassen von Layer-Informationen in WMS-Capabilities-Dateien
Problem: WMS-Capabilities-Dateien sind die einzige Verbindung zwischen einem WMS-Service und einem WMS-Client, bei der der Server Informationen ankündigt und der Client diese verwendet. Die WMS-Spezifikation definiert einen großen Satz von Eigenschaften (durch XML-Tags in der Capabilities-Datei), um jeden Layer im Service sowie den Service selbst zu beschreiben, aber viele dieser Eigenschaften von Layern können nicht hinzugefügt oder konfiguriert werden, wenn Sie einen WMS-Service über ArcGIS Server mit vom System generierten Capabilities-Dateien veröffentlichen.
Lösung: Sie können durch das Veröffentlichen eines WMS-Services mit externen Capabilities-Dateien Metadateninformationen für jeden WMS-Layer im Service konfigurieren und anpassen.
Beispiel: In diesem Beispiel wird gezeigt, wie Sie der Capabilities-Datei des WMS-Services Metadaten für einen WMS-Layer hinzufügen. Diese Metadaten können Zusammenfassungen, Schlüsselwörter, URL-Links zu den Metadaten im Standardformat, Attributierungen und sogar den URL-Link zu den Feature-Daten umfassen.