Lernprogramm: Erstellen einer Webeditinganwendung
Mit ArcGIS Server können Sie Webanwendungen zum Bearbeiten von Daten erstellen, ohne Code schreiben zu müssen. Sie erstellen diese Anwendungen in ArcGIS Server Manager. In diesem Beispiel wird gezeigt, wie eine Webeditinganwendung in Manager erstellt wird.
Das Erstellen der Anwendung ist eigentlich der letzte Schritt eines größeren Workflows. Im ersten Schritt machen Sie die Daten über eine ArcSDE-Geodatabase verfügbar. In diesem Beispiel wird ein Datenbankserver (ArcSDE for SQL Server Express) verwendet, da er mit der kostenlosen Microsoft SQL Server Express-Datenbank verwendet werden kann und in der Workgroup-Edition von ArcGIS Server verfügbar ist. Sobald die Daten in ArcSDE bereitstehen, müssen Sie eine Karte aus den Daten erstellen und diese angemessen symbolisieren. Sie veröffentlichen dieses Kartendokument in ArcGIS Server, damit es Benutzern der Webanwendung zur Verfügung steht. Als abschließenden Schritt erstellen und konfigurieren Sie die Webanwendung mit dem Task "Editor". In diesem Dokument werden die einzelnen Teile des Workflows erläutert.
Bereitstellen der Daten durch ArcSDE
Es gibt keine bestimmten Daten, die Sie für dieses Lernprogramm benötigen. Es wird empfohlen, dass Sie eine Teilmenge Ihrer eigenen Daten verwenden, die einige Punkt-, Linien- und Polygon-Layer enthält. Die Verwendung eigener Daten für diese Testanwendung bietet beste Voraussetzungen zum Erstellen der Produktionsanwendung.
Installieren von ArcSDE
Das Erstellen einer Webeditinganwendung in Manager erfordert, dass die Daten in einer ArcSDE-Geodatabase verfügbar sind. Dies hängt damit zusammen, dass ArcSDE-Geodatabases so konzipiert sind, dass sie gleichzeitig von mehreren Benutzern bearbeitet werden können, was bei einer Webanwendung der Fall ist.
Wenn sich die Daten bereits in ArcSDE befinden, können Sie den Rest von diesem Abschnitt überspringen. Wenn die Daten in einem anderen Format vorliegen, müssen Sie sie in ArcSDE übertragen. Eine einfache Möglichkeit, eine kleine Bereitstellung einzurichten, ist die Verwendung von ArcSDE in ArcGIS Server Workgroup, wobei die Microsoft SQL Server Express-Datenbank verwendet wird.
Der erste Schritt besteht in der Installation von ArcSDE for SQL Server Express (sofern dies nicht bereits installiert ist). Die ArcSDE-CD oder -DVD wird mit ArcGIS Server geliefert und enthält ein Installationshandbuch, das Sie durch die Installation und Postinstallation führt.
Hinweis: Wenn Sie mit diesem Lernprogramm fortfahren möchten und Sie über ArcGIS Server Enterprise verfügen, ist es sehr wahrscheinlich, dass sich die Daten bereits in ArcSDE befinden. Wenn nicht, müssen Sie ArcSDE Enterprise installieren und die Daten vor dem Fortfahren mit diesem Lernprogramm dort hinein verschieben. Die Schritte unten gelten für die Workgroup-Edition von ArcGIS Server und funktionieren nicht mit ArcGIS Server Enterprise. Informationen zum Verwalten von Enterprise-Geodatabases finden Sie in der ArcGIS Desktop-Hilfe unter Verwalten von Geodatabases mit Lizenzierung über ArcGIS Server Enterprise.
Erstellen der Geodatabase
Sobald Sie ArcSDE for SQL Server Express installiert haben, können Sie folgende Schritte ausführen, um eine Geodatabase zu erstellen:
- Starten Sie ArcCatalog, und suchen Sie den Knoten Datenbankserver. Ein Datenbankserver ist ein Computer mit einer SQL Server Express-Datenbank und ArcSDE for SQL Server Express. Dort fügen Sie Geodatabases hinzu und verwalten diese.
-
Doppelklicken Sie auf Datenbankserver hinzufügen, und geben Sie die SQL Server Express-Instanz ein, zu der Sie eine Verbindung herstellen möchten. In den meisten Fällen lautet das entsprechende Format <Datenbankservername>\sqlexpress. Sie sehen, dass der Server in der Liste angezeigt wird.
Tipp: Wenn beim Herstellen einer Verbindung mit dem Datenbankserver Schwierigkeiten auftreten, finden Sie weitere Informationen unter Problembehandlung bei Datenbankservern.
- Das ArcGIS Server Object Container (SOC)-Konto benötigt die Berechtigung, Daten vom Datenbankserver zu lesen. Klicken Sie mit der rechten Maustaste auf den gerade hinzugefügten Datenbankserver, und klicken Sie auf Berechtigungen.
- Klicken Sie auf Benutzer hinzufügen, und fügen Sie das SOC-Konto hinzu.
- Jetzt können Sie eine neue Geodatabase hinzufügen. Klicken Sie in der Liste Datenbankserver mit der rechten Maustaste auf den Server, und klicken Sie auf Neue Geodatabase.
- Geben Sie einen Namen für die Geodatabase ein, und legen Sie dann ein Verzeichnis und eine Anfangsgröße fest. Sie brauchen sich keine Gedanken darüber zu machen, ob Sie die Anfangsgröße zu niedrig eingestellt haben, da die Geodatabase bei Bedarf automatisch wächst, bis sie die 4-GB-Grenze von SQL Server Express erreicht.
- Sie haben bereits die SOC-Kontoberechtigungen erhalten, um den Datenbankserver zu verwenden, aber jetzt müssen Sie die Berechtigungen definieren, die dem SOC-Konto für diese bestimmte Geodatabase zugewiesen sein sollen. Klicken Sie mit der rechten Maustaste auf die neue Geodatabase, und klicken Sie auf Verwaltung > Berechtigungen.
-
Klicken Sie auf das SOC-Konto, weisen Sie ihm Lesen/Schreiben-Berechtigungen zu, und klicken Sie dann auf OK.
Tipp: Wenn Sie das SOC-Konto nicht in der Liste sehen, stellen Sie sicher, dass Sie Schritt 3 und 4 abgeschlossen haben.
- Verwenden Sie ArcCatalog, um vorhandene Feature-Classes zu kopieren und einzufügen, die Sie der neuen Geodatabase hinzufügen möchten.
Hinweis zu Attributdomänen und Subtypes
Um die Benutzerfreundlichkeit des Editor-Tasks zu verbessern und Dateneingabefehler zu verhindern, können Sie Ihre Datasets für die Verwendung von Subtypes und Attributdomänen konfigurieren. Diese bieten Möglichkeiten zum Kategorisieren der Daten und stellen sicher, dass beim Bearbeiten von Daten die richtigen Werte eingegeben werden. In einigen Fällen kann der Editor-Task diese Subtypes und Domänen erkennen und verwenden. Wenn Sie z. B. eine Domäne haben, bei der die Farbe von Feuerhydranten auf Rot, Gelb oder Blau beschränkt ist, wird Ihnen eine Dropdown-Liste im Editor-Task angezeigt, die nur die Auswahl einer der drei Farben ermöglicht.
Das Bild unten stellt einen Teil eines Editor-Tasks dar, bei dem eine Roads-Feature-Class für die Verwendung einer Domäne konfiguriert wurde. Der Benutzer kann die Straße jetzt mithilfe einer Dropdown-Liste klassifizieren.
Wenn Sie möchten, dass diese Dropdown-Listen im Editor-Task verfügbar sind, müssen Sie die Geodatabase entsprechend vorbereiten, indem Sie Domänen und Subtypes erstellen. Dies können Sie bereits im Vorfeld der Veröffentlichung des Service oder der Erstellung der Webanwendung ausführen.
Erstellen der Karte
Die Karte, die Sie in der Webeditinganwendung verwenden, kann editierbare und nicht editierbare Layer enthalten. Führen Sie zum Erstellen der Karte folgende Schritte aus:
- Starten Sie ArcMap, und öffnen Sie eine neue leere Karte.
- Fügen Sie alle Layer hinzu, die Sie in der Karte sehen möchten. Sie sollten mindestens einen Layer einer ArcSDE-Geodatabase einbeziehen. Nur Layer aus ArcSDE-Geodatabases können im Editor-Task bearbeitet werden.
-
Richten Sie die gewünschte Symbologie- und Layer-Reihenfolge ein.
Tipp: Wenn Sie die Symbologie eines Layers auf Grundlage von Einzelwerten festlegen, werden die verschiedenen Symbole im Editor-Task als einzelne Schaltflächen angezeigt. Dies kann einem Benutzer bei der schnellen Auswahl des zu erstellenden Featuretyps helfen. Das Bild unten zeigt, wie der Editor-Task aussieht, wenn z. B. auf den Buildings-Layer der Karte ein eindeutiger Einzelwert-Renderer angewendet wird. Der Renderer basiert auf einem Gebäudetypfeld. Der Task macht Schaltflächen für das Erstellen der einzelnen Gebäudetypen verfügbar. Durch Klicken auf die grüne Schaltfläche können die Benutzer ein Wohngebäude erstellen.
- Speichern Sie das Kartendokument.
Veröffentlichen des Karten-Service
Sobald das Kartendokument vollständig ist, können Sie es als Karten-Service veröffentlichen. Wenn Sie einen Karten-Service veröffentlichen, machen Sie ihn auf dem ArcGIS Server verfügbar, damit viele Benutzer gleichzeitig darauf zugreifen können.
Im Pool oder nicht im Pool
Sie können wählen, ob der Service im Pool verfügbar sein soll oder nicht. Wenn Sie einen in einem Pool befindlichen Service verwenden, nutzen Sie Instanzen des Services mit vielen anderen Benutzern gemeinsam, während Sie sich in einer Editiersitzung befinden. Wenn Sie dagegen einen nicht in einem Pool befindlichen Service verwenden, nutzen nur Sie diese Instanz des Services in der Editiersitzung. Bei nicht im Pool befindlichen Services muss eine andere Instanz des Services auf Kosten der Serverressourcen erstellt werden, wenn eine andere Person zur gleichen Zeit wie Sie den Service verwenden möchte.
Sie können sowohl in einem Pool befindliche als auch nicht in einem Pool befindliche Services für die Bearbeitung über das Internet verwenden. Wenn Sie in einem Pool befindliche Services bearbeiten, wird jede Bearbeitung sofort gespeichert. Dies bedeutet, dass die Daten nicht versioniert werden und Bearbeitungsschritte nicht rückgängig gemacht werden können. Bei in einem Pool befindlichen Services können jedoch viele Benutzer gleichzeitig mit den Services arbeiten, was bei nicht in einem Pool befindlichen Services nicht möglich ist.
Festlegen der erforderlichen Berechtigungen
Stellen Sie vor dem Veröffentlichen der Services sicher, dass Sie die Richtlinien unter Vorbereiten von Ressourcen zur Veröffentlichung als Services gelesen haben und befolgen. Diese helfen Ihnen sicherzustellen, dass der Server Berechtigungen zum Lesen der Daten in Ihrer Karte und Zugriff auf diese Daten hat. Genauer gesagt muss das SOC-Konto Leseberechtigungen für das Kartendokument und alle Daten im Kartendokument haben. Es muss auch Schreibberechtigungen für alle Daten haben, die Sie bearbeiten.
Veröffentlichen des Service
Führen Sie folgende Schritte aus, um einen Karten-Service zu veröffentlichen, den Sie für die Bearbeitung verwenden können:
-
Melden Sie sich bei ArcGIS Server Manager an, und klicken Sie auf Karte, Globus oder andere GIS-Ressource als Service veröffentlichen.
Tipp: Es gibt zwei Assistenten in Manager, mit denen Sie Services veröffentlichen können. Dieser Link führt Sie zum Assistenten GIS-Ressource veröffentlichen, der die einfachste Möglichkeit zum Erstellen eines Service bietet. Im Assistenten werden Sie nach den minimal erforderlichen Informationen gefragt, die zum Erstellen eines Services benötigt werden.
Eine andere Möglichkeit, Services zu erstellen, ist die Verwendung des Assistenten Neuen Service hinzufügen. Mit diesem Assistenten können Sie einen Service manuell veröffentlichen; er fordert Sie zur Eingabe aller Service-Parameter auf.
- Auf der ersten Seite des Assistenten werden Sie nach der Ressource gefragt, die Sie veröffentlichen möchten. Dies ist das Kartendokument, das Sie gerade erstellt haben. Wenn es sich in einem freigegebenen Verzeichnis befindet, können Sie zum Pfad des Kartendokuments navigieren. Wenn es sich nicht in einem freigegebenen Verzeichnis befindet, geben Sie den Pfad des Kartendokuments ein.
- Geben Sie dem Service unter Name einen Namen. Wählen Sie optional den Ordner aus, in dem Sie den Service veröffentlichen möchten, wenn die Services in Ordnern gruppiert sind. Klicken Sie auf Weiter, um zur zweiten Seite des Assistenten zu wechseln.
- Beachten Sie, dass die Funktion Kartenerstellung standardmäßig aktiviert ist. Die anderen verfügbaren Funktionen hängen davon ab, welche Layer-Typen sich in Ihrer Karte befinden. Für dieses Beispiel können Sie den Standard übernehmen und auf Weiter klicken.
- Auf der letzten Seite des Assistenten wird Ihnen mitgeteilt, dass der Service erstellt wird, und es wird seine URL genannt. Klicken Sie auf Fertig stellen, um den Service zu veröffentlichen und den Assistenten zu schließen.
Wichtig: Dieser Assistent erstellt standardmäßig einen in einem Pool befindlichen Service. Wenn Sie die versionierte Bearbeitung oder die Rückgängig/Wiederholen-Funktion benötigen, müssen Sie ihn in einen nicht in einem Pool befindlichen Service ändern. Klicken Sie in Manager auf die Registerkarte Services, suchen Sie den Service, und klicken Sie dann auf das Symbol Bearbeiten (Stift). Klicken Sie auf die Registerkarte Pooling, und ändern Sie den Service in Nicht im Pool. Klicken Sie auf Speichern.
Erstellen der Webanwendung
Sobald Sie einen funktionierenden Karten-Service haben, können Sie die Webeditinganwendung erstellen. Sie können dies unter Verwendung der Manager-Assistenten-Schnittstelle zum Erstellen von Web Mapping-Anwendungen vornehmen. Einer der wichtigsten Schritte in diesem Assistenten ist die Auswahl der Karte für die Anwendung (bei Verwendung einer lokalen Verbindung) und das Konfigurieren des Editor-Tasks.
Diese sind die Schritte zum Erstellen der Webanwendung:
- Klicken Sie auf die Registerkarte Anwendungen in Manager, und klicken Sie auf Webanwendung erstellen. Ein Assistent wird angezeigt, der Sie beim Erstellen der Anwendung unterstützt.
- Geben Sie einen Namen für die Anwendung ein. Dieser Name wird in der URL der Anwendung angezeigt. Geben Sie optional eine Beschreibung für die Verwendung in Manager ein, und klicken Sie auf Weiter.
- Auf der nächsten Seite können Sie die Services auswählen, die Sie in der Karte anzeigen möchten. Sie müssen den gerade veröffentlichten Karten-Service mit den editierbaren Layern hinzufügen; klicken Sie daher auf Layer hinzufügen.
-
Untersuchen Sie die Liste der Server im Dialogfeld Verfügbare Services. Wird der Servername angezeigt, gefolgt von "Lokaler ArcGIS Server"? Wenn nicht, klicken Sie auf GIS-Server hinzufügen, wählen Sie Lokaler ArcGIS Server aus, geben Sie den Namen Ihres Servers ein, und klicken Sie auf Hinzufügen.
Denken Sie daran: Eine lokale ArcGIS Server-Verbindung ist für die Bearbeitung erforderlich. Die Webanwendung ist weiterhin über das Internet verfügbar, aber die Anwendung selbst muss eine lokale Verbindung mit dem GIS-Server herstellen, damit die Bearbeitung möglich wird.
- Nachdem Sie Ihren Server erfolgreich hinzugefügt haben, wird eine Liste der verfügbaren Services angezeigt, die Sie in die Karte einfügen können. Klicken Sie auf den Karten-Service, den Sie gerade veröffentlicht haben, und klicken Sie auf Hinzufügen.
- Sobald Sie die Meldung sehen, dass der Layer erfolgreich hinzugefügt wurde, klicken Sie auf Schließen, um das Dialogfeld zu schließen, und klicken Sie auf Weiter, um zur nächsten Seite des Assistenten zu gelangen.
-
In diesem Fenster können Sie die Tasks auswählen, die in der Anwendung enthalten sein sollen. Sie möchten den Editor-Task einbeziehen und klicken deshalb auf Task hinzufügen. Klicken Sie in der Liste Verfügbare Tasks auf Editor, und klicken Sie auf OK.
-
Klicken Sie bei ausgewähltem Editor-Task auf Konfigurieren. Im daraufhin angezeigten Dialogfeld können Sie folgende Schritte ausführen:
-
Auswählen der zu bearbeitenden Layer und Versionen
Sie möchten möglicherweise nicht alle Layer in der Karte für die Bearbeitung verfügbar machen. Außerdem sollen die Benutzer unter Umständen nur bestimmte Versionen verwenden. Auf der Registerkarte Allgemein können Sie die editierbaren Layer und Versionen aktivieren oder deaktivieren.
-
Auswählen der Bearbeitungsarten, die Benutzer vornehmen können
Auf der Registerkarte Einstellungen des Konfigurators können Sie auswählen, ob Benutzer in der Lage sein sollen, Features hinzuzufügen und zu bearbeiten oder Attribute zu bearbeiten. Sie möchten z. B. möglicherweise, dass Benutzer in der Lage sind, neue Features hinzuzufügen, aber keine vorhandenen Features in der Datenbank zu ändern.
-
Festlegen der Auswahlregeln
Um ein Feature zu bearbeiten, müssen Sie es zuerst auswählen. Der Konfigurator gibt mehrere Optionen vor, wie Benutzer eine Auswahl vornehmen und wie viele Features sie auf einmal auswählen können. Sie können diese Optionen hier festlegen oder auswählen, dass diese Optionen während des Tasks verfügbar gemacht werden, damit jeder Benutzer sie selbst je nach seinen Wünschen einrichten kann.
-
Festlegen der Fangregeln
Beim Bearbeiten eines Features möchten Sie unter Umständen Grenzen oder Stützpunkte mit vorhandenen Features gemeinsam nutzen. Mit der Fangfunktion wird sichergestellt, dass ein Feature, das nah an einem vorhandenen Stützpunkt oder einer Grenze platziert wird, diesem Stützpunkt bzw. dieser Grenze zugeordnet wird. Die Fangfunktion ist wichtig für das Aufrechterhalten der Datenqualität; sie kann Ihnen helfen, topologische Probleme wie Überstände und Splitterpolygone zu vermeiden.
Auf der Registerkarte Einstellungen des Konfigurators können Sie Fangregeln festlegen, z. B. welche Features gefangen werden können und wie nah Sie bei einem Feature klicken müssen, damit Fangen stattfindet (diese Entfernung wird als Fangtoleranz bezeichnet).
-
Festlegen von Konfliktlösungsregeln
Was geschieht, wenn zwei Personen die gleichen Features bearbeiten und dann ihre Bearbeitungen speichern? Auf der Registerkarte Erweitert des Konfigurators können Sie Regeln dafür festlegen, wie die Datenbank mit diesen Situationen umgeht. Eine Erläuterung anderer Konfliktlösungsoptionen finden Sie im Thema Task "Editor".
Wenn Sie einen in einem Pool befindlichen Service bearbeiten, können Sie keine Konfliktlösungsoptionen festlegen; dies liegt daran, dass die Bearbeitungen in der nicht versionierten Bearbeitungsumgebung sofort gespeichert werden. Wenn zwei Personen das gleiche Feature bearbeiten, verbleibt nur die letzte Änderung in der Datenbank.
Tipp: Wenn Sie die Meldung sehen, dass Ihre Karte keine editierbaren Layer enthält, stellen Sie sicher, dass Sie dem SOC-Konto Lesen/Schreiben-Berechtigungen für die Geodatabase zugewiesen haben, wie zuvor in diesem Dokument beschrieben. Die Karte muss mindestens einen Layer von einer Geodatabase enthalten, bevor Sie sie bearbeiten können.
-
Auswählen der zu bearbeitenden Layer und Versionen
- Wenn Sie den Editor-Task in der gewünschten Weise konfiguriert haben, klicken Sie auf OK, um das Dialogfeld zu schließen, und klicken Sie auf Weiter, um zur nächsten Seite des Assistenten zu gelangen. Lesen Sie die Informationen zu lokalen Verbindungen und ändern Sie, falls notwendig, das Konto, das zum Herstellen der lokalen Verbindung verwendet wird.
- Die wichtigsten Schritte beim Konfigurieren des Editor-Tasks haben Sie nun abgeschlossen, Sie können jetzt auf Weiter klicken, um die verbleibenden Seiten des Assistenten aufzurufen. Dort haben Sie die Gelegenheit, die Darstellung der Anwendung anzupassen. Klicken Sie abschließend auf Fertig stellen, um die Anwendung zu erstellen.
Verwenden der Webeditinganwendung
Beim Anzeigen der neuen Webanwendung sehen Sie eine Liste der Tasks über der Karte. Sie können den Editor-Task über diese Taskleiste öffnen. Der Editor-Task wird in einem eigenen unverankerten Fenster ausgeführt, das Sie frei am Bildschirm platzieren können.
Die Anwendung hat eine integrierte Hilfe, auf die Sie durch Klicken auf den Hilfe-Link in der rechten oberen Ecke zugreifen können. Die Hilfe enthält einen Abschnitt zum Thema Datenbearbeitung, in dem jedes Werkzeug im Dialogfeld des Editor-Tasks erläutert wird. Diese Hilfe wurde in HTML erstellt, sodass Sie sie nach Bedarf anpassen können.
Bearbeitungen in einer Webanwendung funktionieren etwas anders als Bearbeitungen in ArcMap. Wenn Sie den Editor-Task verwenden, müssen Sie oft mit der Maus zeigen und klicken, während Sie in ArcMap viele Schritte durch Klicken und Ziehen durchführen können. Und beim Fangen springt der Mauszeiger auch nicht automatisch zum Fangpunkt auf dem Bildschirm, sondern wird nur gefangen, wenn Sie den Punkt innerhalb des Fangschwellenwerts platzieren.
Es ist möglicherweise hilfreich, eine Übungsanwendung vorzubereiten, mit der die Editoren sich mit der Webbearbeitungsumgebung vertraut machen können. Dies wird besonders empfohlen, wenn die Editoren mit nicht versionierten Daten arbeiten, bei denen keine Rückgängig-/Wiederholen-Funktionen verfügbar sind.