Ein Geoverarbeitungsservice umfasst einen oder mehrere Tasks. Ein Task akzeptiert Parameter und gibt Ergebnisse zurück und ist insofern einem Geoverarbeitungswerkzeug ähnlich. Mit diesem Begriff bezeichnet ArcGIS API for JavaScript Routinen, die Aufgaben auf einem Server durchführen und Ergebnisse zurückgeben. Es besteht kein wesentlicher Unterschied zwischen Geoverarbeitungsservices und Toolboxes oder zwischen Tasks und Werkzeugen. Eine Unterscheidung zwischen Services und Toolboxes sowie zwischen Tasks und Werkzeugen ist lediglich für andere ArcGIS Server-Clients (beispielsweise Webbrowser und andere internetbasierte Software) relevant.
Herstellen einer Verbindung mit einer GIS Server-Site
Der erste Schritt ist das Herstellen einer Verbindung mit einer ArcGIS Server-Site. Gehen Sie im Fenster Katalog wie folgt vor:
- Erstellen Sie eine Publisher-GIS Server-Verbindung über den GIS-Server-Knoten.
- Erstellen Sie in einem Ordner eine Verbindung, indem Sie mit der rechten Maustaste auf den Ordner klicken und dann Neu > ArcGIS-Server-Verbindung auswählen.
Suchen der URL zu einem Geoverarbeitungsservice
Um eine Verbindung mit ArcGIS Server herzustellen, benötigen Sie eine URL, einen Benutzernamen und ein Kennwort. Alle Services, auch Geoverarbeitungsservices, benötigen für ArcMap eine SOAP-URL. Sie erhalten die URL für einen Service wie folgt:
- Die GIS Server-Site wird von Ihrer Organisation gehostet, und die URL ist Ihnen bekannt.
- Sie haben die URL von einem Kollegen bekommen.
- Sie haben ArcGIS Online nach Geoverarbeitungsservices durchsucht und einen Service mit Tasks gefunden, die Sie verwenden möchten. Sie können die URL zu dem Server, der den Service hostet, auf folgende Weise ermitteln:
- Die Beschreibung des Service in ArcGIS Online enthält einen Eintrag ArcGIS Web API REST-Verbindung, der eine URL umfasst. Diese URL dient dazu, eine Verbindung zu dem Service unter Verwendung von REST herzustellen. Um eine Verbindung mit dem Server in ArcGIS Desktop herzustellen, benötigen Sie eine SOAP-URL.
- Sie können eine SOAP-URL aus der REST-URL ableiten. Wenn die REST-URL http://sampleserver.esri.com/arcgis/rest/services/SupplyDemandService/gpserver lautet, lautet die entsprechende SOAP-URL für die Serververbindung http://sampleserver.esri.com/arcgis/services (rest, der Name des Service und gpserver werden aus der SOAP-URL entfernt).
- Verwenden Sie die SOAP-URL, um eine Benutzerverbindung mit dem Server herzustellen. Wenn Sie die Verbindung erstellen, navigieren Sie durch den Serverkatalog im Kataloginhaltsverzeichnis, um nach Geoverarbeitungsservices und Tasks zu suchen.
Ausführen von Geoverarbeitungs-Tasks
Sie führen Geoverarbeitungsservice-Tasks wie mit anderen Werkzeugen aus: über das Werkzeugdialogfeld, in ModelBuilder oder in einem Skript. Der einzige Unterschied gilt für den Fall, dass Sie Werkzeuge im Vordergrund ausführen. Einige Tasks warten, bis die Ergebnisse vom Server zurückgesendet werden, während andere nicht warten. Sie übermitteln den Task an den Server und fragen das Ergebnis dann in regelmäßigen Abständen beim Server ab. Verwenden Sie das Ergebnisfenster, um den Status der an den Server übermittelten Tasks zu verfolgen. Im Abschnitt Synchrone und asynchrone Tasks unten ist dies ausführlicher beschrieben.
Arbeiten mit Task-Ergebnissen
Das Ergebnis eines Geoverarbeitungsservice wird zur Aktuellen Sitzung des Fensters Ergebnisse hinzugefügt. Wenn der Ausgabedatentyp des Ergebnisses eine Datei oder ein Raster-Dataset ist, wird die Ausgabe in einem lokalen Scratch-Verzeichnis gespeichert. Bei anderen Datentypen, z. B. einer Feature-Class, wird das Ergebnis in die aktuelle Sitzung geschrieben und der Name oder Status der Ausgabe-Datasets angezeigt. Für den Status sind die folgenden fünf Werte vorhanden:
- <leer>
Das Werkzeug wird noch auf dem Server ausgeführt, und es wurde noch keine Ausgabe geschrieben, oder der Task wurde nicht erfolgreich ausgeführt, und es wird kein Ergebnis zurückgegeben. Dieser Status bezieht sich nur auf asynchrone Werkzeuge. Weiter Informationen finden Sie unten unter Synchrone und asynchrone Tasks.
- <Daten im lokalen temporären Verzeichnis>
Die Ausführung des Werkzeugs wurde abgeschlossen, und die Ausgabedaten sind entweder auf dem Computer oder im TEMP-Verzeichnis des Systems gespeichert. Die Daten werden nicht gelöscht, so lange ein ArcMap-Layer vorhanden ist, der die Daten referenziert. Wenn die Daten erhalten bleiben sollen, kopieren Sie diese aus dem temporären Verzeichnis in ein anderes Verzeichnis. Dies können Sie am einfachsten mit dem Werkzeug Kopieren erreichen, indem Sie das Dataset aus den Ergebnissen in den Eingabe-Feature-Parameter des Werkzeugs ziehen. Sie können auch mit der rechten Maustaste auf die Ausgabe klicken und Speicherort kopieren wählen. Dadurch wird der Pfad der Feature-Class in die Zwischenablage kopiert, und Sie können ihn an einer beliebigen Position einfügen, an der Text zulässig ist, beispielsweise den Eingabe-Feature-Parameter in das Werkzeug Kopieren.
- <Daten auf dem Server>
Die Daten befinden sich auf dem Server. Ein Kartenservice des Ergebnisses stellt die Daten in ArcMap, ArcGlobe oder ArcScene dar. Dieser Kartenservice wird automatisch dem Inhaltsverzeichnis hinzugefügt, wenn die Ausführung des Werkzeugs auf dem Server abgeschlossen ist. Wenn Sie diesen Kartenservice des Ergebnisses dem Inhaltsverzeichnis hinzufügen müssen, klicken Sie mit der rechten Maustaste auf das Ergebniswerkzeug, und klicken Sie dann auf Server-Layer hinzufügen.
Sie können auch mit der rechten Maustaste auf das Ergebniswerkzeug und anschließend auf Daten abrufen klicken. Dadurch werden die Daten vom Server auf den Computer kopiert. Nach dem Kopieren wechselt der Status zu "<Daten im lokalen temporären Verzeichnis>", "<Daten überschreiten Transferlimit>" oder "<Daten nicht verfügbar>".
- <Daten überschreiten Transferlimit>
Die Aktion Daten abrufen konnte nicht alle Daten vom Server auf den Computer übertragen, da die maximale Anzahl für den Transfer von Features überschritten wurde. Das Kopieren großer Datasets beeinträchtigt die Fähigkeit des Servers, andere GIS-Services auszuführen, und das Netzwerk wird überlastet. Daher legt der Autor des Service eine maximale Anzahl von Features fest, die vom Server auf einen Client-Computer kopiert werden kann. Wenn Sie Daten kopieren müssen, die diesen Maximalwert überschreiten, müssen Sie sich an den Autor des Service oder Serveradministrator wenden, damit Sie die Daten auf andere Weise erhalten können.
- <Daten nicht verfügbar>
Die Aktion Daten abrufen konnte die Daten auf dem Server nicht finden. Die wahrscheinlichste Ursache für eine solche Situation ist, dass der Serveradministrator festgestellt hat, dass die Task-Ergebnisse nicht mehr benötigt werden, und die betreffenden Daten gelöscht hat, um Speicherplatz auf dem Server freizugeben.
Umgebungseinstellungen werden ignoriert
Geoverarbeitungsservices legen explizit alle Umgebungseinstellungen auf dem Server fest, die sich auf die Ausführung auswirken. Die lokalen Umgebungseinstellungen in ArcGIS Desktop, die Sie in der aktuellen Sitzung festlegen, haben keine Auswirkungen auf die Umgebungseinstellungen, die von den Services verwendet werden.
Beenden einer Anwendung vor Abschluss der Ausführung eines Serverwerkzeugs
Nachdem Sie ein asynchrones Werkzeug (siehe nächster Abschnitt) gesendet haben, können Sie die Anwendung beenden, in der Sie arbeiten. Wenn Sie beispielsweise in ArcMap arbeiten, können Sie die Ausführung starten, das Kartendokument speichern und ArcMap beenden. Wenn Sie das Dokument später öffnen, sendet ArcMap eine Abfrage an den Server, überprüft den Ergebnisstatus und aktualisiert das Ergebnis im Ergebnisfenster. Wenn Sie auf diese Weise vorgehen, d. h. die Ausführung starten und ArcMap (bzw. ArcGlobe oder ArcScene) beenden, müssen Sie das Kartendokument speichern, damit das Ergebnis für die spätere Überprüfung gespeichert wird.
Synchrone und asynchrone Tasks
Geoverarbeitungsservices und deren Tasks sind entweder synchron oder asynchron. Synchron bedeutet, dass der Computer während der Ausführung des Tasks auf dem Server warten muss. Asynchron bedeutet, dass der Computer nicht warten muss, bis die Ausführung des Werkzeugs beendet ist. Sie können mit anderen Tasks fortfahren.
Der Publisher des Service legt fest, ob ein Task synchron oder asynchron ausgeführt wird. Es sollten nur Tasks als synchrone Werkzeuge veröffentlicht werden, die schnell ausgeführt werden und über kleine Ausgabe-Datasets verfügen.
Um festzulegen, ob ein Server-Werkzeug synchron oder asynchron ist, wählen Sie eine der folgenden Vorgehensweisen:
- Wenn Sie eine Administratorverbindung mit ArcGIS Server erstellen, navigieren Sie im Fenster Katalog zu dem Server, klicken Sie mit der rechten Maustaste auf den Geoverarbeitungsservice, und klicken Sie auf Service-Eigenschaften. Der Ausführungstyp des Werkzeugs wird auf der Registerkarte Parameter aufgelistet.
- Führen Sie das Werkzeug aus, und verfolgen Sie die geschriebenen Meldungen. Wenn ein asynchroner Service ausgeführt wird, lautet die erste geschriebene Meldung Servermeldungen. Diese Typen von Geoverarbeitungsservices werden in ArcMap immer als Hintergrundprozess ausgeführt. Ein synchrones Werkzeug beginnt mit der Anzeige von Meldungen zur Ausführung. Die zwei Ergebnisse unten stammen von einer asynchronen und einer synchronen Ausführung (wie vom ArcGIS Server-Administrator festgelegt).
Wenn Sie ein asynchrones Werkzeug in ArcMap ausführen und das Hinzufügen der Werkzeugergebnisse zur Anzeige aktivieren, wird der Anzeige ein Layer hinzugefügt. Dieser ist jedoch nicht sichtbar (aktiviert). Dies liegt daran, dass ArcMap nicht erkennen kann, wann die Ausführung des Werkzeugs abgeschlossen ist und die Ausgabe darstellen muss.
Sie werden nicht automatisch benachrichtigt, wenn die Ausführung eines asynchronen Werkzeugs abgeschlossen wurde. Sie können den Fortschritt (Status) eines asynchronen Werkzeugs im Ergebnisfenster verfolgen. Während der Ausführung des Werkzeugs wird eine Sanduhr neben dem Ergebnis angezeigt. Sie können die Ausführung abbrechen, indem Sie mit der rechten Maustaste auf das Ergebnis klicken und Abbrechen wählen. Wenn der Task abgeschlossen ist, wird die Meldung Erfolgreich angezeigt, und neben dem Task-Namen des Ergebnisses wird ein Werkzeugsymbol angezeigt.