- Herstellen einer Verbindung mit ArcGIS-Server
- Ausführen von Geoverarbeitungs-Tasks
- Arbeiten mit Task-Ergebnissen
- Umgebungseinstellungen werden ignoriert
- Kopieren von Serveraufgaben in eine benutzerdefinierte Toolbox
- Beenden einer Anwendung vor Abschluss der Ausführung eines Serverwerkzeugs
- Synchrone und asynchrone Tasks
Ein Geoverarbeitungs-Service umfasst einen oder mehrere Tasks. Ein Task akzeptiert Parameter und gibt Ergebnisse zurück und ist insofern nichts anderes als ein Geoverarbeitungswerkzeug. Mit diesem Begriff bezeichnen webbasierte APIs (wie z. B. JavaScript, SilverLight und Flex) Routinen, die Aufgaben auf einem Server durchführen und Ergebnisse zurückgeben. Es besteht kein wirklicher Unterschied zwischen Geoverarbeitungs-Services und Toolboxes oder zwischen Tasks und Werkzeugen. Die Unterscheidung zwischen Services und Toolboxes sowie zwischen Tasks und Werkzeugen wird nur für andere Clients von ArcGIS for Server (beispielsweise Webbrowser und andere internetbasierte Software) vorgenommen.
Herstellen einer Verbindung mit ArcGIS-Server
Der erste Schritt ist das Herstellen einer Verbindung mit ArcGIS-Server. Im Fenster Katalog
- Sie können eine ArcGIS-Server-Verbindung über den Knoten GIS-Server herstellen.
- In jedem Ordner können Sie eine Verbindung erstellen, indem Sie mit der rechten Maustaste auf den Ordner klicken und dann Neu > ArcGIS-Server-Verbindung wählen.
Finden der URL für einen Geoverarbeitungs-Service
Um eine Verbindung zu einem ArcGIS-Server herzustellen, benötigen Sie eine URL und möglicherweise einen Benutzernamen und ein Kennwort. Es gibt mehrere Möglichkeiten, die URL für einen Service zu ermitteln.
- Der ArcGIS-Server wird von Ihrer Organisation gehostet, und die URL ist Ihnen bekannt.
- Sie haben die URL von einem Kollegen bekommen.
- Sie haben "arcgis.com" nach Geoverarbeitungs-Services durchsucht und einen Service mit Tasks gefunden, die Sie gerne ausführen möchten. Sie können die URL zu dem Server, der den Service hostet, auf folgende Weise ermitteln:
- Die Beschreibung des Service in "arcgis.com" 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 zu dem Server in ArcGIS for Desktop herzustellen, benötigen Sie eine SOAP-URL.
- Sie können eine SOAP-URL aus der REST-URL ableiten. Die REST-URL lautet beispielsweise:
http://sampleserver.esri.com/arcgis/rest/services/SupplyDemandService/gpserver
Die entsprechende SOAP-URL zum Erstellen der Serververbindungen ist:
http://sampleserver.esri.com/arcgis/services
(rest, der Name des Service und gpserver sind in der SOAP-URL entfernt).
- Verwenden Sie die SOAP-URL, um eine Benutzerverbindung mit dem Server herzustellen. Nachdem Sie die Verbindung erstellt haben, navigieren Sie durch den Serverkatalog im Kataloginhaltsverzeichnis, um nach Geoverarbeitungs-Services und Tasks zu suchen.
Ausführen von Geoverarbeitungs-Tasks
Sie führen Geoverarbeitungs-Service-Tasks genauso 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 den Server dann in regelmäßigen Abständen nach dem Ergebnis ab. Sie verwenden das Ergebnisfenster, um den Status der an den Server übermittelten Tasks zu verfolgen. Unten im Abschnitt Synchrone und asynchrone Tasks ist dies ausführlicher beschrieben.
Arbeiten mit Task-Ergebnissen
Das Ergebnis eines Geoverarbeitungs-Service 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 und/oder Status der Ausgabe-Datasets angezeigt. Für den Status sind fünf verschiedene 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 Sie erhalten kein Ergebnis. 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, empfiehlt es sich, diese aus dem temporären Verzeichnis in ein anderes Verzeichnis zu kopieren. 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. Darüber hinaus wird damit angegeben, dass ein Karten-Service des Ergebnisses vorhanden ist, der die Daten in ArcMap, ArcGlobe oder ArcScene darstellt. Dieser Karten-Service wird automatisch dem Inhaltsverzeichnis hinzugefügt, wenn die Ausführung des Werkzeugs auf dem Server abgeschlossen ist. Wenn Sie diesen Karten-Service 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 entweder 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
Geoverarbeitungs-Services legen explizit alle Umgebungseinstellungen auf dem Server fest, die sich auf die Ausführung auswirken. Ihre lokalen Umgebungseinstellungen in ArcGIS for Desktop, die Sie innerhalb Ihrer aktuellen Sitzung festlegen, haben keine Auswirkungen auf die Umgebungseinstellungen, die von den Services verwendet werden.
Kopieren von Serveraufgaben in eine benutzerdefinierte Toolbox
Sie können einen Task aus einem Geoverarbeitungs-Service nicht in eine benutzerdefinierte Toolbox kopieren (d. h. in eine von Ihnen erstellte Toolbox).
Beenden einer Anwendung vor Abschluss der Ausführung eines Serverwerkzeugs
Wenn Sie ein asynchrones Werkzeug gesendet haben (siehe unten), können Sie die Anwendung beenden, in der Sie zurzeit arbeiten. Arbeiten Sie beispielsweise in ArcMap, 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 (oder ArcGlobe oder ArcScene) beenden, müssen Sie das Kartendokument speichern, damit die Ergebnisse für die spätere Überprüfung gespeichert werden.
Synchrone und asynchrone Tasks
Geoverarbeitungs-Services 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 Autor des Service muss festlegen, ob ein Task synchron oder asynchron ausgeführt werden soll. Es sollten nur Tasks als synchrone Werkzeuge veröffentlicht werden, die schnell ausgeführt werden und über kleine Ausgabe-Datasets verfügen.
Es gibt zwei Möglichkeiten, um zu bestimmen, ob ein Serverwerkzeug synchron oder asynchron ist:
- Wenn Sie über Administratorrechte für ArcGIS for Server verfügen, können Sie im Fenster Katalog zum Server navigieren, mit der rechten Maustaste auf den Geoverarbeitungs-Service klicken und anschließend auf Service-Eigenschaften klicken. 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 Geoverarbeitungs-Services werden in ArcMap immer als Hintergrundprozess ausgeführt. Ein synchrones Werkzeug beginnt mit der Anzeige Wird ausgeführt. Die zwei Ergebnisse unten stammen von einer asynchronen und einer synchronen Ausführung (wie vom GIS-Serveradministrator festgelegt).
Wenn Sie ein asynchrones Werkzeug in ArcMap ausführen und das Hinzufügen der Werkzeugergebnisse zur Anzeige aktiviert wurde, wird der Anzeige ein Layer hinzugefügt. Er ist jedoch nicht sichtbar (aktiviert). Dies liegt daran, dass ArcMap nicht bestimmen 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 es erscheint ein Werkzeugsymbol neben dem Task-Namen des Ergebnisses.