Sie können steuern, ob Werkzeuge im Vordergrund oder im Hintergrund ausgeführt werden, indem Sie auf der Werkzeugleiste Standard auf Geoverarbeitung > Geoverarbeitungsoptionen klicken.
Im Fenster Hintergrundverarbeitung geben Sie an, ob ein Werkzeug im Vordergrund- oder Hintergrundmodus ausgeführt wird.
- Wenn die Option Aktivieren aktiviert ist, werden Werkzeuge im Hintergrund ausgeführt. Sie können weiterhin mit ArcMap (oder anderen ArcGIS-Anwendungen, z. B. ArcGlobe) arbeiten, während das Werkzeug ausgeführt wird. Sie sehen eine Statusanzeige am unteren Rand des Dokuments, die den Namen des gerade ausführenden Werkzeugs anzeigt. Sobald das Werkzeug die Ausführung beendet hat, wird eine Popup-Benachrichtigung in der Taskleiste angezeigt. Sie können steuern, wie lange die Benachrichtigungsmeldung angezeigt wird, indem Sie den Schieberegler Benachrichtigung verschieben oder die Meldung durch Bewegen des Schiebereglers ganz nach links deaktivieren.
- Wenn Aktivieren nicht aktiviert ist, werden Werkzeuge im Vordergrund ausgeführt. Wenn ein Werkzeug im Vordergrundmodus ausgeführt wird, müssen Sie warten, bis die Ausführung der Werkzeuge beendet ist, bevor Sie mit anderen Arbeiten fortfahren können.
Hintergrundverarbeitung
Wenn Sie ein Werkzeug mithilfe seines Dialogfeldes oder über das Python-Fenster ausführen, wird der Status des Werkzeugs wie unten dargestellt angezeigt.
Sie können den Status auch im Ergebnisfenster verfolgen. Das Fenster Ergebnisse kann auf folgende Arten geöffnet werden:
- Um das Fenster Ergebnisse zu öffnen, klicken Sie auf Geoverarbeitung > Ergebnisse.
- Klicken Sie auf die Statusleiste (oben abgebildet) unten im ArcMap-Fenster, um das Fenster Ergebnisse für das aktuell ausgeführte Werkzeug zu öffnen.
- Klicken Sie auf die Pop-up-Meldung zu Erfolg/Fehlschlag, um das Fenster Ergebnisse direkt mit den Meldungen zur Ausführung des Werkzeugs zu öffnen.
Während ein Werkzeug im Hintergrund ausgeführt wird, können Sie über das Werkzeugdialogfeld weitere Werkzeuge für die Ausführung auswählen. Es wird nur jeweils ein Werkzeug im Hintergrund ausgeführt. Alle anderen Werkzeuge sind ausstehend (warten auf ihre Ausführung). Nachdem die Ausführung eines Werkzeugs beendet wurde, beginnt die Ausführung des nächsten wartenden Werkzeugs.
Sie können keine Editiersitzung starten, wenn im Hintergrund Werkzeuge ausgeführt werden. Wenn Werkzeuge im Hintergrund ausgeführt werden, werden Sie in einem Meldungsfeld darüber informiert, dass die Editiersitzung nicht gestartet werden kann. Bevor Sie eine Editiersitzung beginnen können, müssen Sie auf die Beendigung der Ausführung aller Geoverarbeitungswerkzeuge im Hintergrund warten (oder diese abbrechen).
Wenn bei der Hintergrundverarbeitung im Python-Fenster ein Werkzeug ausgeführt wird, kann das Python-Fenster erst nach Beendigung des Werkzeugs verwendet werden.
Benutzerdefinierte Modell- und Skriptwerkzeuge werden standardmäßig im Vordergrund ausgeführt
Benutzerdefinierte Modell- und Skriptwerkzeuge werden standardmäßig im Vordergrund ausgeführt. Dies ist auch der Fall, wenn Sie die Hintergrundverarbeitung aktiviert haben. Sie müssen zwei Schritte ausführen, um für benutzerdefinierte Werkzeuge die Ausführung im Hintergrund zuzulassen:
- Stellen Sie sicher, dass das Werkzeug die unter Ausführen von benutzerdefinierten Werkzeugen (Modell oder Skript) im Hintergrund angegebenen Richtlinien einhält.
- Klicken Sie mit der rechten Maustaste auf das benutzerdefinierte Modell- oder Skriptwerkzeug, und wählen Sie Eigenschaften. Deaktivieren Sie auf der Registerkarte Allgemein die Option Immer im Vordergrund ausführen.
Betroffene ArcMap-Layer werden gesperrt, wenn ein Werkzeug im Hintergrund ausgeführt wird
Wenn die Ausgabe eines Geoverarbeitungswerkzeugs ein Layer in der Karte ist (z. B. mit dem Werkzeug Layer nach Attributen auswählen) oder wenn das Werkzeug die Eingabedaten ändert (z. B. das Werkzeug Feld hinzufügen oder ein anderes Werkzeug in der Toolbox "Editing"), wird der Layer während der Ausführung des Werkzeugs gesperrt. Über dem Layer wird im Inhaltsverzeichnis ein Sperrsymbol angezeigt, um anzugeben, dass der Layer für die Verarbeitung gesperrt ist. Wenn die Kartenanzeige während der Sperrung eines Layers aktualisiert wird, wird der Layer nicht gezeichnet. Nachdem die Verarbeitung des Werkzeugs beendet ist, wird die Kartenanzeige aktualisiert, und Sie können die Arbeit am Layer fortsetzen.
Abbrechen eines im Hintergrund ausgeführten Werkzeugs
Um die Ausführung eines im Hintergrund ausgeführten Werkzeugs abzubrechen, öffnen Sie das Ergebnisfenster und suchen nach dem Werkzeug, das momentan ausgeführt wird (daneben wird eine Sanduhr oder das Verarbeitungssymbol angezeigt). Klicken Sie mit der rechten Maustaste auf das Ergebnis, und wählen Sie Abbrechen. Diese Methode kann auch verwendet werden, um in der Warteschlange befindliche Tasks abzubrechen, die noch nicht ausgeführt wurden.
Wenn ein Werkzeug eine Anweisung zum Abbrechen erhält, wird eine Bereinigung ausgeführt, das heißt, erstellte Daten werden gelöscht und eine Warnmeldung wird ausgegeben. Je nach Aufwand für die Bereinigung ist für das Abbrechen eines Werkzeugs unterschiedlich viel Zeit erforderlich.
Systemwerkzeuge können auch im Vordergrund ausgeführt werden, wenn die Ausführung im Hintergrund aktiviert ist
Es gibt Fälle, in denen Werkzeuge auch dann im Vordergrund ausgeführt werden, wenn die Verarbeitung im Hintergrund aktiviert ist:
- Wenn Sie Daten bearbeiten, werden alle Geoverarbeitungswerkzeuge im Vordergrund ausgeführt. Auch wenn die bearbeiteten Daten nicht von Geoverarbeitungswerkzeugen verwendet werden, führt ArcGIS trotzdem alle Werkzeuge im Vordergrund aus. Auf diese Weise soll verhindert werden, dass ein im Hintergrund ausgeführtes Werkzeug von Ihnen bearbeitete Daten ändert.
- Wenn Sie das ModelBuilder-Fenster öffnen und ein Modell ausführen, werden alle Prozesse des Modells im Vordergrund ausgeführt. Das Arbeiten im ModelBuilder-Fenster ähnelt einer Editiersitzung. Alle Prozesse werden im Vordergrund ausgeführt, um zu vermeiden, dass eine Änderung des Workflows zu unerwünschten Ergebnissen führt.
- Einige Systemwerkzeuge, z. B. das Werkzeug Geodatabase aktualisieren, werden aufgrund der Anforderungen in Bezug auf Datensperren und Integrität immer im Vordergrund ausgeführt. Andere Systemwerkzeuge können im Vordergrund ausgeführt werden, wenn sie auf das aktuelle Kartendokument zugreifen müssen.
Verwenden des In-Memory-Workspace mit Hintergrundverarbeitung
Der In-Memory-Workspace hat mit der File-Geodatabase zahlreiche Eigenschaften gemeinsam, der große Unterschied besteht jedoch darin, dass er Features und Raster "in-memory" behält. Bei aktiver Anwendung werden die Daten im internen Speicher (RAM) des Systems gespeichert. Da das System mit dem In-Memory-Workspace arbeitet und nichts auf die Festplatte schreiben muss, wird die Performance in der Regel verbessert. Beachten Sie für die Verwendung des In-Memory-Workspace mit Hintergrundverarbeitung die folgenden Punkte:
- Die Hintergrundverarbeitung läuft separat von ArcMap oder ArcCatalog ab. Eine gemeinsame Speichernutzung (RAM) durch diese Prozesse ist nicht möglich. Bei Ausführung eines Werkzeugs müssen die Daten von den Hintergrundprozessen geöffnet werden. Eine Eingabe-Feature-Class wird daher direkt von den Hintergrundprozessen geöffnet, wohingegen für Layer in ArcMap ein anderer Pfad benutzt wird. Angenommen, Sie verfügen beispielsweise in ArcMap über einen Eingabe-Punkt-Feature-Layer und möchten diese Punkte mit der Ausgabe puffern, die in den In-Memory-Workspace von ArcMap geschrieben wird. Bei der Ausführung des Werkzeugs Puffer im Hintergrund werden die Eingabe-Features auf die Festplatte geschrieben; der Hintergrundprozess liest sie von der Festplatte in den Speicher ein, Puffer wird ausgeführt, Puffer schreibt die Ausgabe anschließend in seinen eigenen Hintergrund-In-Memory-Workspace, die Ausgabe wird dann auf die Festplatte geschrieben, sodass ArcMap die Ausgabe des Puffers danach in sein eigenes entsprechendes In-Memory-Workspace einlesen kann. Im Ergebnis all dessen ist für die Performance kaum ein Nutzen spürbar, wenn man zum Schreiben des Ergebnisses in den In-Memory-Workspace ein eigenes Werkzeug benutzt. Wird jedoch ein Modell oder Skript verwendet, das verschiedene Werkzeuge ausführt und seine Zwischendaten in den In-Memory-Workspace schreibt, dann dürfte die Verarbeitung schneller erfolgen, da keine Daten zwischen zwei unterschiedlichen In-Memory-Workspaces verschoben werden müssen. Daher ist es ratsam, für Ihren Workflow ein Modell oder Skript zu erstellen, als für jede einzelne Hintergrundverarbeitung ein Werkzeug aus ArcMap zu verwenden.
- Die meisten Werkzeuge vom Typ Erstellen, darunter File-GDB erstellen oder Feature-Class erstellen verwenden für die Ableitung einer neuen Ausgabe zwei Eingabe-Parameter (einen Workspace und einen Namen). Bei diesen Werkzeugen können Sie in_memory als Workspace eingeben. Bei Ausführung im Hintergrund wird die neu erstellte Ausgabe das Ergebnis jedoch stets als Speicherort auf der Festplatte zurückgeben, selbst wenn in_memory als Workspace verwendet wurde. Diese Werkzeuge lassen sich besser als Teil eines Workflows in ModelBuilder oder eines Python-Skriptwerkzeugs verwenden, wo während der gesamten Ausführung des Werkzeugs auf den In-Memory-Workspace zugegriffen werden kann.
Beenden von Anwendungen, wenn Werkzeuge warten oder im Hintergrund ausgeführt werden
In ArcMap (oder ArcGlobe oder ArcScene) können Sie das Dokument beenden und speichern, während Werkzeuge ausgeführt werden oder ausstehen. Wenn Sie die Anwendung beenden, wird die Ausführung aller Werkzeuge gestoppt. Der Status der ausgeführten und ausstehenden Werkzeuge wird im Ergebnisfenster des gespeicherten Dokuments in "Nicht ausgeführt" geändert. Diese Einträge verfügen über ungefüllte Symbole und können ausgeführt werden, indem Sie mit der rechten Maustaste auf das Ergebnis klicken und Erneut ausführen wählen.
Ein Werkzeug, das beim Schließen von ArcCatalog ausgeführt wird oder ausstehend ist, wird sofort gestoppt. Das Ergebnis des Werkzeugs wird in den Abschnitt Nicht ausgeführt des Ergebnisfensters verschoben. Das Werkzeug kann wie oben beschrieben erneut ausgeführt werden.
Vordergrundverarbeitung
Wenn die Hintergrundverarbeitung deaktiviert wird, werden Werkzeuge im Vordergrund ausgeführt. Sie müssen dann auf das Ende des Verarbeitungsprozesses warten, bevor Sie die Anwendung wieder verwenden können. Während der Ausführung eines Werkzeugs wird wie unten dargestellt das Fortschrittsdialogfeld angezeigt. Klicken Sie auf Details, um Ausführungsmeldungen anzuzeigen.
In den Meldungen des Werkzeugs wird eine Warnmeldung als grüner Text angezeigt, die mit WARNUNG beginnt, gefolgt von einem numerischen Code. Eine Warnung bedeutet, dass die Ausgabe Ihren Erwartungen möglicherweise nicht entspricht. Im unten dargestellten Fall hat das Werkzeug eine leere Ausgabe erstellt. Der numerische Code ist ein Hyperlink. Sie können darauf klicken, um eine vollständige Beschreibung der Warnung und mögliche Lösungen anzuzeigen.
Es wird eine Fehlermeldung in rotem Text angezeigt, die mit FEHLER beginnt, gefolgt von einem numerischen Code.
Nach Abschluss der Ausführung eines Werkzeugs und dem Schließen des Fortschrittsdialogfeldes können Sie im Ergebnisfenster alle Informationen zur Ausführung eines Werkzeugs überprüfen.
Abbrechen eines im Vordergrund ausgeführten Werkzeugs
Die Ausführung eines Werkzeugs können Sie abbrechen, indem Sie im Fortschrittsdialogfeld auf Abbrechen klicken.
Wenn ein Werkzeug eine Anweisung zum Abbrechen erhält, wird eine Bereinigung ausgeführt, das heißt, erstellte Daten werden gelöscht und eine Warnmeldung wird ausgegeben. Je nach Aufwand für die Bereinigung ist für das Abbrechen eines Werkzeugs unterschiedlich viel Zeit erforderlich.
Überlegungen zur Performance
Sie können sich die Hintergrundverarbeitung wie eine weitere ArcMap-Sitzung vorstellen, die auf dem Computer ausgeführt wird, ohne dass das ArcMap-Fenster dabei geöffnet ist. Dieser zusätzliche Prozess (Sitzung) wird gestartet, wenn ein Werkzeug zum ersten Mal im Hintergrund ausgeführt wird, und bleibt aktiv, bis Sie die ArcMap-Sitzung beenden. Sie werden eine kurze Verzögerung bei der Ausführung des ersten Werkzeugs bemerken, wenn der Hintergrundprozess gestartet wird.
Beim Arbeiten mit großen Datasets benötigen einige Geoverarbeitungswerkzeuge, besonders solche mit Kachelverarbeitung, alle verfügbaren Ressourcen Ihres Computers (Arbeitsspeicher und CPU). Wenn für ein Werkzeug, das Sie zur Hintergrundverarbeitung eingereicht haben, ein Fehler auftritt, weil nicht genügend Speicher verfügbar ist (Fehler "000426: Nicht genügend Speicher" oder Fehler "999998: Unerwarteter Fehler"), können Sie Folgendes versuchen:
- Identifizieren und beenden Sie speicherintensive Anwendungen, deren Ausführung nicht unbedingt erforderlich ist.
- Deaktivieren Sie die Hintergrundverarbeitung im Dialogfeld Geoverarbeitungsoptionen (Geoverarbeitung > Geoverarbeitungsoptionen). Der Hintergrundprozess wird beendet, und Ressourcen werden freigegeben.
- Führen Sie das Werkzeug erneut aus.
Mithilfe dieses Verfahrens wird die Hintergrundverarbeitung umgangen. Der zusätzliche Hintergrundprozess startet nicht, und die dabei nicht benötigten Ressourcen stehen für Ihr Werkzeug zur Verfügung. Vermeiden Sie während der Ausführung des Werkzeugs das Starten von speicherintensiven Anwendungen.