Skip To Content

Ein kurzer Überblick über die Verwendung von Services in ArcMap

Ein Geoverarbeitungsservice 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 Geoverarbeitungsservices 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 Server (beispielsweise Webbrowser und andere internetbasierte Software) vorgenommen.

Herstellen einer Verbindung mit einer GIS Server-Site

Der erste Schritt ist das Herstellen einer Verbindung mit einem ArcGIS Server. Gehen Sie im Fenster Katalog wie folgt vor:

  • Erstellen Sie eine Publisher-GIS Server-Verbindung über den GIS-Server-Knoten.
  • Erstellen Sie in einem beliebigen 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

Wenn Sie eine Verbindung mit einer GIS Server-Site herstellen, 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.

  • 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 gerne ausführen möchten. Sie können die URL zu dem Server, der den Service hostet, auf folgende Weise ermitteln:
    1. Die Beschreibung des Service in ArcGIS Online enthält den 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.
    2. 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).

    3. 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 Geoverarbeitungsservices und Tasks zu suchen.

Ausführen von Geoverarbeitungs-Tasks

Sie führen Geoverarbeitungsservice-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 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 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 Kartenservice 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 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 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

Geoverarbeitungsservices legen explizit alle Umgebungseinstellungen auf dem Server fest, die sich auf die Ausführung auswirken. Ihre lokalen Umgebungseinstellungen in ArcGIS 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 Geoverarbeitungsservice nicht in eine benutzerdefinierte Toolbox kopieren (d. h. in eine von Ihnen erstellte Toolbox).

Ältere Versionen:

Vor Version 10.1 war es möglich, einen Task in eine benutzerdefinierte Toolbox zu kopieren. Diese Funktion ist in Version 10.1 nicht mehr vorhanden.

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 (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

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 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, zu ermitteln, ob ein Serverwerkzeug synchron oder asynchron ist.

  • Wenn Sie eine Administratorverbindung mit ArcGIS Server erstellen, können Sie im Fenster Katalog zum Server navigieren, mit der rechten Maustaste auf den Geoverarbeitungsservice klicken und 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 Geoverarbeitungsservices 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 ArcGIS Server-Administrator 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.