Schreiben der Geoverarbeitungsausgabe in den Speicher

Das Schreiben der Geoverarbeitungsausgabe in den Speicher ist eine Alternative zum Schreiben der Ausgabe in eine Geodatabase oder ein dateibasiertes Format. Es ist häufig beträchtlich schneller als das Schreiben in Formate auf dem Datenträger. In den Speicher geschriebene Daten sind temporär und werden gelöscht, wenn die Anwendung geschlossen wird. Der memory-Workspace ist einer idealer Speicherort, um Zwischendaten in ein ModelBuilder-Modell oder Python-Skript zu schreiben.

Speicherbasierte Workspaces

ArcGIS bietet zwei speicherbasierte Workspaces, in die Geoverarbeitungsausgaben geschrieben werden können.

Vorsicht:
  • Speicherbasierte Workspaces unterstützen keine Geodatabase-Elemente wie Feature-Datasets, Repräsentationen, Topologien, geometrische Netzwerke oder Netzwerk-Datasets.
  • Da speicherbasierte Workspaces im physischen Speicher Ihres Systems bzw. im RAM gespeichert werden, kann es sein, dass Ihr System nicht über genügend Speicher verfügt, wenn Sie große Datasets in den Workspace schreiben. Dies kann sich negativ auf die Verarbeitungsleistung auswirken.
  • In speicherbasierten Workspaces können keine Ordner erstellt werden.

Speicher

Der memory-Workspace ist ein speicherbasierter Workspace, der Ausgabe-Feature-Classes, Tabellen und Raster-Datasets unterstützt.

Um Daten in den memory-Workspace zu schreiben, geben Sie einen Ausgabe-Dataset-Pfad an, der mit memory\ beginnt und keine Dateierweiterung aufweist, z. B. memory\tempOutput.

Sie können memory-Datasets in ArcGIS Pro zu einer Karte hinzufügen.

in_memory

Vorversion:

Der in_memory-Workspace ist der ältere speicherbasierte Workspace für ArcMap, der Ausgabe-Feature-Classes, Tabellen und Raster-Datasets unterstützt.

Um Daten in den in_memory-Workspace zu schreiben, geben Sie einen Ausgabe-Dataset-Pfad an, der mit in_memory\ beginnt und keine Dateierweiterung aufweist, z. B. in_memory\tempOutput.

Hinweis:

in_memory-Datasets können nicht auf einer ArcGIS Pro-Karte angezeigt werden. Wenn Sie ein Geoverarbeitungswerkzeug über den Bereich Geoverarbeitung oder das Python-Fenster ausführen und das Ausgabe-Dataset in in_memory schreiben, wird das Ausgabe-Dataset nach der Verarbeitung in die Projekt-Geodatabase kopiert. Dieses Dataset wird dann der Karte hinzugefügt. Das Schreiben in die Projekt-Geodatabase erfolgt nicht, wenn in_memory-Datasets Zwischen-Datasets sind und keiner Karte hinzugefügt werden.

Um speicherbasierte Daten in einer ArcGIS Pro-Karte anzuzeigen, können Sie den memory-Workspace verwenden.

Im Gegensatz zum memory-Workspace unterstützt der in_memory-Workspace keine Subtypes oder Domänen.

Verwalten des memory-Workspace

Bei der Verwendung eines speicherbasierten Workspace sollten alle Zwischenergebnisse so schnell wie möglich gelöscht werden, um Systemspeicherressourcen wieder freizugeben. Das Werkzeug Löschen kann zum Löschen von Daten in einem speicherbasierten Workspace verwendet werden. Löschen Sie einzelne Datasets oder den ganzen Workspace, um den gesamten Workspace-Inhalt zu löschen.

Verwenden des memory-Workspace in Python

Die Verwendung von speicherbasierten Workspaces in Python gilt nur für Geoverarbeitungswerkzeuge. Der Speicher ist kein virtuelles Allzweckverzeichnis, in das Sie Dateien oder andere Daten schreiben können.

Der memory-Workspace kann wie im folgenden Codebeispiel gezeigt verwendet werden:

import arcpy

# Set the geoprocessing workspace
arcpy.env.workspace = r"C:\Data\Habitat.gdb"

# Buffer a Roads layer, writing output to memory 
arcpy.analysis.Buffer("Roads", r"memory\Buffers", 1000)

# Erase the buffers from a Vegetation layer
arcpy.analysis.Erase("Vegetation", r"memory\Buffers", r"memory\Erased")

# Dissolve the memory output of Erase to make a final output in the gdb workspace
arcpy.management.Dissolve(r"memory\Erased", "FinalOutput")