Lernprogramm: WFS-T-Service veröffentlichen

Komplexität: Einsteiger Erforderliche Daten: Eigene Daten verwenden

Dieses Lernprogramm zeigt, wie ein WFS-Service mit Lese-/Schreibzugriff veröffentlicht wird, indem Transaktionen (WFS-T) mithilfe von ArcGIS Server Manager aktiviert werden. Ein WFS-Service mit Transaktionen (WFS-T) ermöglicht, dass WFS-Clients über den WFS-Service Änderungen (Einfügungen, Löschungen und Aktualisierungen) auf die Daten in der Quelldatenbank anwenden. Um Änderungen durch WFS-T anzuwenden, müssen die Daten aus einer ArcSDE-Geodatabase stammen. Dieses Lernprogramm veranschaulicht den empfohlenen Workflow beim Arbeiten mit versionierten Daten.

Wenn ein Karten-Service oder ein Geodaten-Service mit WFS-Funktionen veröffentlicht wird, können OGC-konforme WFS-Clients auf die Daten zugreifen, einschließlich der Erweiterung Data Interoperability in ArcCatalog und ArcMap. Diese WFS-Clients können auch die letzten an den Daten vorgenommenen Änderungen anzeigen. Wenn Sie die WFS-Services noch nicht kennen und gerne mehr darüber erfahren möchten, lesen Sie unter WFS-Services nach.

Wenn Sie ArcGIS Server gerade installiert haben, müssen Sie noch einige vorbereitende Schritte ausführen, bevor Sie sich bei Manager anmelden oder Services veröffentlichen können. Sie können diese Schritte im Abschnitt Erste Schritte nach der Installation dieses Hilfesystems finden.

Setup-Anforderungen zum Veröffentlichen eines Services

Um einen Karten-Service oder einen Geodaten-Service zu erstellen, müssen Sie das Kartendokument (.mxd), eine Geodatabase (File oder Personal) oder eine SDE-Verbindungsdatei in einen freigegebenen, für alle SOC-Computer (Server Object Container) sichtbaren Speicherort auf dem GIS-Server einfügen. Das während der Postinstallation erstellte SOC-Konto muss auch über Berechtigungen zum Lesen des Kartendokuments und aller referenzierten Daten (Karten-Service) verfügen oder aller Daten in der Geodatabase, die Sie veröffentlichen möchten (Geodaten-Service).

WFS-Services bieten Unterstützung für Simple Features aus Esri Quellen, z. B. Shapefiles und Geodatabases. Wenn Sie jedoch Transaktionen für den Service aktivieren möchten (WFS-T), müssen alle Daten, die Sie bearbeiten möchten, innerhalb einer ArcSDE-Geodatabase gespeichert sein.

Entscheidung zwischen einem Geodaten-Service und einem Karten-Service

Bei WFS-Services haben Sie die Option, einen Geodaten-Service oder einen Karten-Service zu veröffentlichen. Es gibt einige Unterschiede, die beim Auswählen des zu erstellenden Service-Typs zu beachten sind. In den folgenden Abschnitten werden die in Geodaten und Karten-Services verfügbaren Funktionen zusammengefasst, damit Sie entscheiden können, welcher Service-Typ Ihren Anforderungen am besten entspricht.

Geodaten-Services

Ein WFS-Geodaten-Service bietet Zugriff auf eine Geodatabase über das Internet oder einen OGC-konformen WFS-Client. Ein Geodaten-Service kann für jeden Geodatabase-Typ einschließlich ArcSDE-Geodatabases, Personal-Geodatabases und File-Geodatabases erstellt werden. Beim Erstellen eines WFS-Services aus einem Geodaten-Service ist es wichtig, daran zu denken, dass alle Feature-Classes in der Geodatabase im Service verfügbar gemacht werden.

Geodaten-Services eignen sich besonders in Situationen, in denen Sie auf Geodatabases an Remote-Standorten zugreifen müssen. Beispielsweise möchte ein Unternehmen ArcSDE-Geodatabases einrichten, um an seinen Standorten Los Angeles und New York Daten zu verwalten. Nach der Erstellung kann jede Niederlassung ihre ArcSDE-Geodatabase mit einem Geodaten-Service im Internet veröffentlichen.

Karten-Services

Ein WFS-Karten-Service stellt ein Kartendokument (.mxd) dar, das Sie über das Internet oder einen OGC-konformen WFS-Client für andere verfügbar gemacht haben. Karten-Services mit WFS-Funktionalität ermöglichen Ihnen eine weitreichende Kontrolle der Daten, die über den Service veröffentlicht werden. Im Folgenden finden Sie einige Gründe, warum Sie einen Karten-Service einrichten sollten:

Es bestehen auch einige Einschränkungen im Zusammenhang mit WFS-Karten-Services. Berücksichtigen Sie die folgenden Aspekte beim Veröffentlichen eines WFS-Services aus einem Kartendokument:

Vorbereiten von Daten für einen WFS-T-Service

Vor dem Erstellen eines WFS-Services mit Lese- und Schreibzugriff müssen einige Anforderungen zum Konfigurieren der Daten berücksichtigt werden:

  • Sie müssen in eine ArcSDE-Geodatabase geladen werden.
  • Wenn Sie mit versionierten Daten arbeiten möchten, müssen diese als versioniert registriert werden.
  • Eine Version muss ausdrücklich für die Bearbeitung durch WFS-Editoren vorgesehen sein. Wenn sie nicht bereits vorhanden ist, muss sie erstellt werden.
  • Bestimmten WFS-Editoren müssen Bearbeitungsberechtigungen für die zu bearbeitende SDE-Verbindungsdatei gewährt werden.

Führen Sie folgende Schritte aus, um die Daten für einen WFS-T-Service mit versionierten Daten vorzubereiten:

Schritte:
  1. Laden Sie die Daten, die Sie in einer ArcSDE-Geodatabase veröffentlichen möchten. Weitere Informationen zum Laden von Daten finden Sie unter Laden von Daten in ArcCatalog.
  2. Registrieren Sie die Daten als versioniert, indem Sie mit der rechten Maustaste auf das Dataset klicken und Als versioniert registrieren aus dem Kontextmenü auswählen. Weitere Informationen dazu finden Sie unter Registrieren von Daten als versioniert.
  3. Wenn die Daten versioniert sind, müssen Sie eine Version ausdrücklich für die Bearbeitung durch WFS-Benutzer festlegen. Wenn eine solche Version nicht vorhanden ist, führen Sie folgende Schritte aus, um eine neue Version für WFS-Editoren zu erstellen. Klicken Sie mit der rechten Maustaste auf die Verbindungsdatei, und wählen Sie Versionen.
    Das Dialogfeld "Version-Manager" wird geöffnet.
  4. Klicken Sie im Dialogfeld Version-Manager mit der rechten Maustaste auf die Version, für die Sie eine Child-Version erstellen möchten, und klicken Sie auf Neu. Dadurch wird eine neue Version erstellt, die von WFS-Editoren verwendet werden kann.
  5. Geben Sie einen Namen für die neue Version ein. Wenn andere Benutzer als der Ersteller die Daten bearbeiten werden, muss die Option Berechtigung auf Öffentlich festgelegt werden.

    Wenn Sie einen Geodaten-Service erstellen, fahren Sie mit Schritt 6 fort. Wenn Sie einen Karten-Service erstellen, fahren Sie mit Schritt 9 fort.

  6. Für Geodaten-Services
  7. Um sicherzustellen, dass der Geodaten-Service bei der Erstellung die richtigen Daten veröffentlicht, müssen die Verbindungseigenschaften der Geodatabase aktualisiert werden, sodass sie auf die neu erstellte WFS-Version verweisen.

    Klicken Sie hierzu mit der rechten Maustaste auf die Geodatabase-Verbindungsdatei, und wählen Sie Verbindungseigenschaften.

  8. Klicken Sie im Abschnitt Verbindungsdetails auf Ändern.
  9. Wählen Sie die Version für WFS-Benutzer aus, und klicken Sie auf OK.
  10. Für Karten-Services
  11. Um sicherzustellen, dass der Karten-Service bei der Erstellung die richtigen Daten veröffentlicht, muss das Kartendokument aktualisiert werden, sodass es auf die neu erstellte WFS-Version verweist. Klicken Sie hierzu auf die Registerkarte Quelle im Inhaltsverzeichnis.
  12. Klicken Sie mit der rechten Maustaste auf die Geodatabase, und wählen Sie Version ändern. Das Dialogfeld Version-Manager wird geöffnet.
  13. Wählen Sie im Dialogfeld Version-Manager die Version für WFS-Benutzer aus, und klicken Sie auf OK.
  14. Speichern Sie Änderungen am Kartendokument.

Veröffentlichen eines WFS-Services

Führen Sie folgende Schritte aus, um den Geodaten- oder Karten-Service zu erstellen:

Schritte:
    Starten Sie ArcGIS Server Manager, und melden Sie sich an. Weitere Hilfe für diesen Schritt erhalten Sie unter Anmelden bei Manager.
  1. Klicken Sie auf GIS-Ressource veröffentlichen auf der Registerkarte Services.
  2. Zur Auswahl der Ressource verwenden Sie das Dropdown-Feld, um zum Kartendokument (.mxd) oder zur Geodatabase (Personal, File oder SDE-Verbindungsdatei [.sde]) zu wechseln, das bzw. die Sie veröffentlichen möchten.
  3. Geben Sie im Textfeld Name einen Namen für den Service ein. Der Name darf nicht mehr als 120 Zeichen lang sein und darf nur alphanumerische Zeichen und Unterstriche enthalten.
  4. Es gibt drei Optionen für den Ordner, in dem der Service veröffentlicht werden soll:
    • Verwenden Sie das Dropdown-Menü, um einen vorhandenen Ordner auszuwählen.
    • Erstellen Sie einen neuen Ordner.
    • Übernehmen Sie den Standardordner; dies führt zu einer Veröffentlichung im Stammordner.

    Nach dem Auswählen des Ordners für die Veröffentlichung klicken Sie auf Weiter, um fortzufahren.

  5. Wählen Sie WFS, um den Service zu aktivieren, und klicken Sie auf Weiter.
  6. Überprüfen Sie die Informationen für den zu erstellenden Service, und klicken Sie dann auf Fertig stellen, um den Service zu erstellen.

Wenn Sie bereits einen Service haben, dieser aber keine WFS-Funktionen aufweist, können Sie folgende Schritte ausführen, um sie zu aktivieren:

  1. Der Service wird möglicherweise mit dem Status Gestartet aufgeführt. Um Einstellungen an dem Service zu ändern, muss der Service beendet werden. Wenn der Status Gestartet angezeigt wird, aktivieren Sie das Kontrollkästchen neben dem Service, und klicken Sie auf die Schaltfläche Stopp.
  2. Klicken Sie auf die Option Bearbeiten für den Service. Dies ermöglicht es Ihnen, die Eigenschaften des Services einschließlich der Funktionen zu bearbeiten.
  3. Klicken Sie auf den Ordner Funktionen.
  4. Aktivieren Sie das Kontrollkästchen WFS.
  5. Klicken Sie auf OK, um die Funktion zu aktivieren.

Aktivieren von Transaktionen für den WFS-Service

Nachdem ein WFS-Service veröffentlicht wurde, ist die Option "Transaktionen aktivieren" (WFS-T) verfügbar, die aktiviert werden muss, damit WFS-Benutzer die Daten in der Quelldatenbank bearbeiten und Änderungen anwenden können.

Führen Sie folgende Schritte aus, um Transaktionen für einen WFS-Service zu aktivieren:

Schritte:
  1. Klicken Sie in ArcGIS Server Manager auf der Registerkarte Services auf Services verwalten.
  2. Klicken Sie auf den Dropdown-Pfeil Services in, und navigieren Sie zum Service-Ordner, in dem Ihr veröffentlichter Service enthalten ist.
  3. Der Service wird möglicherweise mit dem Status Gestartet aufgeführt. Um Einstellungen am Service zu ändern, muss der Service beendet werden. Wenn der Status Gestartet angezeigt wird, aktivieren Sie das Kontrollkästchen neben dem Service, und klicken Sie auf die Schaltfläche Stopp.
  4. Klicken Sie auf das Symbol Bearbeiten, um das Eigenschaften-Dialogfeld zu öffnen.
  5. Klicken Sie im Eigenschaften-Dialogfeld auf die Registerkarte Funktionen.
  6. Klicken Sie im Fenster Wählen Sie Funktionen aus, und konfigurieren Sie sie auf die Option WFS (auf den Namen, nicht das Kontrollkästchen). Daraufhin werden die WFS-Service-Eigenschaften angezeigt.
  7. Aktivieren Sie das Kontrollkästchen Transaktionen aktivieren.

So rufen Sie die URL für den WFS-Service ab

Schritte:
  1. Klicken Sie in ArcGIS Server Manager auf der Registerkarte Services auf Services verwalten.
  2. Klicken Sie auf den Dropdown-Pfeil Services in, und navigieren Sie zum Service-Ordner, in dem Ihr veröffentlichter Service enthalten ist.
  3. Der Service sollte mit dem Status Gestartet aufgeführt sein. Wenn der Status Gestoppt angezeigt wird, aktivieren Sie das Kontrollkästchen neben dem Service, und klicken Sie auf die Schaltfläche Start.
  4. Um die URL für den WFS-Service zu erhalten, klicken Sie auf das Symbol Bearbeiten, sodass das Eigenschaften-Dialogfeld geöffnet wird.
  5. Klicken Sie auf die Registerkarte Funktionen.
  6. Markieren Sie im Fenster Wählen Sie Funktionen aus, und konfigurieren Sie sie die Option WFS. Daraufhin werden die WFS-Service-Eigenschaften angezeigt.
  7. Die URL für den WFS-Service befindet sich im Fenster Webzugriff. Dies ist die URL, mit der Sie und andere Benutzer sich mit dem WFS-Service verbinden, den Sie veröffentlicht haben.

Sobald Sie einen WFS-Service veröffentlicht haben, kann dieser in jedem Client verwendet werden, der WFS 1.1 und das Simple Features-GML-Profil einschließlich Webbrowser unterstützt. Sie können auch die Erweiterung Data Interoperability in ArcCatalog und ArcMap verwenden, um mit WFS-Services zu arbeiten. Die folgenden Abschnitte zeigen, wie auf WFS-Services über einen Webbrowser und die Erweiterung Data Interoperability in ArcCatalog zugegriffen wird.

Herstellen einer Verbindung mit dem WFS-Service durch einen Webbrowser

Ein Webbrowser ist einer der simpelsten Clients eines WFS-Services. Sie können Informationen über HTTP anfordern, und die Antworten oder Ausnahmen werden durch den Browser zurückgegeben.

Um eine Verbindung mit dem Service herzustellen, müssen Sie die WFS-URL kennen, die sich in ArcGIS Server Manager oder ArcCatalog in den Service-Eigenschaften auf der Registerkarte Funktionen befindet. Sobald Sie die URL haben, können Sie OGC-Standardoperationen verwenden, um Informationen zum Service über HTTP anzufordern. Einige Beispiele für Operationen, mit denen Sie Informationen anfordern können, sind folgende:

GetCapabilities

Diese Anforderung gibt alle über den Service verfügbare Feature-Typen und Funktionalität im GML-Format zurück. Um die GetCapabilities-Operation in einem Webbrowser zu verwenden, kopieren Sie die WFS-URL, fügen Sie sie in die Adressleiste ein, und fügen Sie am Ende ?request=getCapabilities hinzu, wie in dem Beispiel und der Bildschirmabbildung unten gezeigt.

URL-Beispiel: http://bobmk/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?request=getcapabilities

Die folgende Grafik ist ein Beispiel für die Funktionalität, die von der GetCapabilities-Operation zurückgegeben wird:

GetCapabilities gibt auch eine Liste aller verfügbaren Feature-Classes und Tabellen zurück:

DescribeFeatureType

Diese Anforderung beschreibt die Feldinformationen von einem oder mehreren Features im WFS-Service. Dies schließt die Feldnamen, Feldtypen, zulässige Minimum- und Maximumfeldwerte und andere Einschränkungen für Felder der Feature-Classes oder der Tabellen ein.

Um die DescribeFeatureType-Operation in einem Webbrowser zu verwenden, kopieren Sie die WFS-URL, fügen Sie sie in die Adressleiste ein, und fügen Sie am Ende der URL ?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&VERSION=1.1.0 hinzu. Dies gibt alle Feldinformationen für die Feature-Typen und Tabellen im Feature-Service zurück, wie unten in der Bildschirmabbildung gezeigt.

URL-Beispiel: http://bobmk/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&VERSION=1.1.0

Hinzufügen von Filtern

Sie können auch eine einzelne Feature-Class oder Tabelle angeben, für die Sie die Feldinformationen benötigen, indem Sie die folgende Anforderung mit dem Namen des Feature-Typs oder der Tabelle an das Ende der URL anfügen: ?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&TypeName=[Feature-Typ hier eingeben]&VERSION=1.1.0

Unten im Beispiel wird die DescribeFeatureType-Anforderung verwendet, um die Feldinformationen für den Feature-Typ "Cities" zu identifizieren.

URL-Beispiel: http://bobmk/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?SERVICE=WFS&VERSION=1.1.0&REQUEST=DescribeFeatureType&TypeName=cities&VERSION=1.1.0

GetFeature

Diese Anforderung gibt Informationen zu speziellen Feature-Typen zurück, die über den WFS-Service verfügbar sind. Darüber hinaus können Filter verwendet werden, um die Informationen zu verfeinern, die zurückgegeben werden. Weitere Informationen zu den verschiedenen für WFS-Services verfügbaren Filtern finden Sie unter "WFS-Services".

Um die GetFeature-Operation in einem Webbrowser zu verwenden, kopieren Sie die WFS-URL, fügen Sie sie in die Adressleiste ein, und fügen Sie am Ende der URL ?request=getFeature&typename=[Feature-Typ hier eingeben] hinzu. Dadurch werden alle Attribut- und Geometrieinformationen zu jedem Feature oder jeder Zeile im Feature-Typ zurückgegeben.

URL-Beispiel: http://bobmk/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?request=getfeature&typename=cities

Hinzufügen von Filtern

Sie können auch Filter in der Anforderung hinzufügen, um die Ergebnisse zu verfeinern, die zurückgegeben werden. Sie können z. B. alle Orte anfordern, die sich innerhalb eines angegebenen Koordinatenbereichs befinden. Unten im Beispiel befinden sich zwei Orte innerhalb eines angegebenen Koordinatenbereichs.

URL-Beispiel: http://bobmk/arcgis/services/wfs_services/ArcSDE_wfs/GeoDataServer/WFSServer?request=getfeature&typename=cities&BBOX=46.90,-76.21,42.12,-72.88

Verwenden der Erweiterung Data Interoperability zum Verbinden mit einem WFS-Service

Die Erweiterung Data Interoperability ermöglicht es Ihnen, Daten in nicht aus ArcGIS stammenden Formaten zu lesen und zu schreiben. Sie können das Werkzeug "Interoperabilitätsverbindungen" in ArcCatalog verwenden, um eine direkte Verbindung zu externen Esri Datenformaten herzustellen, einschließlich WFS-Services. Sobald die Verbindung hergestellt wird, wird die Datenquelle unter dem Eintrag Interoperabilitätsverbindungen im Kataloginhaltsverzeichnis angezeigt. Eine Verbindung ähnelt stark anderen Datasets: Sie können sie zu ArcMap hinzufügen oder in Geoverarbeitungswerkzeugen verwenden. Weitere Informationen zum Verwenden der Erweiterung Data Interoperability mit WFS-Services in ArcMap finden Sie unter How to work with WFS using ArcGIS Desktop.

Verwalten von Bearbeitungen, die über einen WFS-T-Service mit versionierten Daten vorgenommen wurden

Es ist wichtig, einen effizienten Workflow zum Verwalten von Änderungen zu erstellen, die durch einen WFS-T-Service vorgenommen wurden. Wenn Sie die Empfehlungen zum Erstellen einer separaten WFS-Version für WFS-T-Editoren berücksichtigt haben, sollte das von Ihnen eingerichtete System der unten gezeigten Abbildung entsprechen:

In diesem Beispiel verwenden WFS-T-Editoren und ArcMap-Editoren verschiedene Versionen, damit jeder Gruppe eine eigene isolierte Ansicht der Geodatabase zum Arbeiten zur Verfügung steht. ArcMap-Editoren bearbeiten die Version "Default" direkt mithilfe von ArcMap. WFS-T-Editoren greifen über das Internet auf den WFS-Service zu. Dies ermöglicht es WFS-T-Editoren, Änderungen an der WFS-Version vorzunehmen, die als Child der Version "Default" erstellt wurde. Weitere Informationen zu Versionen finden Sie unter Kurzer Überblick über die Versionierung im Desktop-Hilfesystem.

Um die zwei Versionen synchron zu halten, kann ein Prozess regelmäßig ausgeführt werden, der die WFS-Version mit den Änderungen aus der Version "Default" aktualisiert und die Version "Default" mit den Änderungen der WFS-Version aktualisiert. Dies ist ein zwei Schritte umfassender Prozess im Bearbeitungs-Workflow eines versionierten Systems, der als "Abgleichen und Zurückschreiben" bezeichnet wird. Dieser Prozess kann automatisiert werden oder er kann von einem Editor (abhängig von seinen oder ihren Berechtigungen) oder einem Datenbankadministrator verwaltet werden. Weitere Informationen zum Abgleichen und Zurückschreiben finden Sie unter Kurzer Überblick über den Versionsbearbeitungsprozess.

Bei der Ausführung des Abgleichs werden Aktualisierungen aus der Version "Default" in die aktuelle Editiersitzung der WFS-Version übertragen. Konflikte treten möglicherweise auf, wenn in beiden Versionen Änderungen an den gleichen Features vorgenommen wurden. Sie können entweder eine automatische Konfliktlösung einrichten oder festlegen, dass jeder Konflikt manuell mithilfe des Dialogfelds "Konfliktlösung" gelöst wird.

Nachdem eventuelle Konflikte gelöst wurden, kann das Zurückschreiben erfolgen. Dieser Prozess führt Änderungen von der WFS-Version mit der Version "Default" zusammen.

Der gesamte Prozess des Abgleichens und Zurückschreibens wird in der Abbildung unten gezeigt. Hier erhält die WFS-Version während des Abgleichs Aktualisierungen aus der Version "Default". Nach der Integration der Änderungen schreibt die WFS-Version ihre Aktualisierungen in die Version "Default" zurück. Nun weisen die Version "Default" und die WFS-Version beide den gleichen Inhalt auf.

Sobald der Abgleich- und Rückschreibprozess abgeschlossen ist, enthalten beide Versionen die aktuellste Repräsentation der Features, und WFS-Editoren können mit dem Vornehmen von Bearbeitungen fortfahren.

Es ist wichtig zu beachten, dass der Prozess nicht ausgeführt werden kann, wenn beim Abgleichen und Zurückschreiben ausstehende Sperren vorhanden sind. Dies ist ein Schutz vor Konflikten zwischen Features, die von WFS-T-Clients gesperrt wurden, und Features, die durch den Abgleich- und Rückschreibprozess geändert wurden. Außerdem wird die WFS-T-Version durch den Abgleich- und Rückschreibprozess gesperrt, damit die WFS-T-Editoren während des Abgleich- und Rückschreibprozesses keine Sperrungen oder Transaktionsaufrufe vornehmen können.

Um diesem Schutz zu entsprechen, wird empfohlen, den Abgleich- und Rückschreibprozess zu festen Zeiten durchzuführen, die alle WFS-T-Editoren kennen. Dies ermöglicht es den Editoren, ihre Änderungen in die Datenbank zurückzuschreiben. Administratoren müssen möglicherweise vor dem Abgleich- und Rückschreibprozess Sperren aus der Sperrtabelle manuell entfernen.

Weitere Informationen zum WFS-T-Sperrschema finden Sie unter WFS-Services.


3/6/2012