Kurzer Überblick über das Verwalten von Zwischendaten
Während der Ausführung eines Modells werden für jeden Prozess im Modell Ausgabedaten erstellt. Einige dieser Ausgabedaten werden nur als Zwischenschritt erstellt, um eine Verbindung mit anderen Prozessen herzustellen, die die endgültige Ausgabe erstellen. Die von diesen Zwischenschritten generierten Daten, die so genannten Zwischendaten, werden nach der Ausführung des Modells meist (aber nicht immer) nicht mehr gebraucht. Zwischendaten sind mit temporären Scratch-Daten vergleichbar, die gelöscht werden sollen, nachdem das Modell ausgeführt wurde. Wenn das Modell im Fenster "ModelBuilder" ausgeführt wird, werden die Zwischendaten allerdings nicht gelöscht. Es bleibt Ihnen überlassen, diese Daten zu löschen.
Informationen zum Löschen von Zwischendaten
Alle Datenvariablen, ausgenommen die vorliegenden Daten und die Ausgabevariablen, werden in einem Modell automatisch als Zwischendaten markiert. Um zu bestimmen, ob eine Datenvariable in einem Modell als Zwischenvariable angesehen wird, oder um den Status einer Variable mit Zwischendaten zu ändern, klicken Sie mit der rechten Maustaste auf die Variable und klicken Sie auf Temporär, um ein Häkchen daneben hinzuzufügen oder zu entfernen.
Um zu verhindern, dass die finalen Ausgabevariablen gelöscht werden, wird dringend empfohlen, diese Ausgabevariablen nicht als Zwischendaten festzulegen.
Weitere Informationen zum Beibehalten von Zwischendaten
Steuern, wo Zwischendaten ausgegeben werden
Geoverarbeitungswerkzeuge, die neue Ausgabe-Datasets erstellen, generieren automatisch den Namen des Ausgabe-Datasets (wie in Verwenden der Umgebungseinstellungen "Aktueller Workspace" und "Scratch-Workspace" beschrieben). Dieser automatisch generierte Name enthält den Pfad zu dem Workspace oder Ordner, der das Dataset enthält. ModelBuilder verwendet diesen automatisch generierten Ausgabenamen zum Schreiben von Zwischendaten. Sie können diesen Ausgabe-Dataset-Namen jederzeit überschreiben, indem Sie einen anderen Namen und eine Position für das Ausgabe-Dataset eingeben. Zudem können Sie den Workspace angeben, der zum Erstellen des automatisch generierten Ausgabenamens verwendet wird.
Wenn Sie in ModelBuilder arbeiten, ist es einfach, diesen automatisch generierten Ausgabenamen zu ignorieren, besonders bei Zwischendaten. Es gibt jedoch Situationen, in denen Sie steuern möchten, wohin Zwischendaten ausgegeben werden. Die Zwischendaten können in einen der folgenden Speicherorte geschrieben werden:
- In den Workspace (Geodatabase, Geodatabase-Feature-Dataset oder Ordner), indem Sie mit der rechten Maustaste auf die Zwischendatenvariablen klicken und den Speicherort ändern, in den diese geschrieben werden. Wenn viele Zwischendaten erzeugt werden, definieren Sie die Zwischendaten als verwaltete Daten, wie unter Festlegen von Zwischendaten als verwaltete Daten beschrieben.
- In die Scratch-GDB (Scratch-Geodatabase) oder in den Scratch-Ordner. Diese beiden schreibgeschützten Umgebungen wurden in ArcGIS 10.1 eingeführt. In der Abbildung unten wird die Datenvariable Centroids Intersect dargestellt, die als temporär gekennzeichnet ist. Das zugehörige Ausgabeverzeichnis ist die Scratch-Geodatabase (%scratchGDB%). Die Prozentzeichen (%) kennzeichnen die Variablenersetzung. Der Wert von scratchGDB wird eingeblendet, wenn das Modellwerkzeug ausgeführt wird. Eine Feature-Class mit der Bezeichnung poly_Intersect wird in die Scratch-Geodatabase geschrieben. In ähnlicher Weise können Sie %scratchFolder% zum Schreiben dateibasierter Daten verwenden, wie beispielsweise LYR- oder TXT-Dateien.
- In den In-Memory-Workspace.
- In den Scratch-Workspace mit %scratchworkspace%. Sie (oder der Benutzer des Werkzeugs) können diese Umgebung für einen beliebigen Speicherort festlegen: einen Ordner, eine Geodatabase oder auch ein Feature-Dataset in einer Geodatabase. Von der Verwendung der Scratch-Workspace-Umgebung zusammen mit Werkzeugen, die freigegeben werden sollen, wird abgeraten, da der Benutzer des Werkzeugs die Scratch-Workspace-Umgebung für einen Ordner, eine Geodatabase oder ein Feature-Dataset festlegen kann. Sie erwarten beispielsweise, dass der Scratch-Workspace auf einen Ordner festgelegt wird, sodass Sie eine Layer-Datei ausgeben können. Der Benutzer des Werkzeugs legt aber den Scratch-Workspace auf eine Geodatabase fest. Wenn das Werkzeug ausgeführt wird, schlägt dieses fehl, da die Layer-Datei nicht in eine Geodatabase geschrieben werden kann. Dies ist der wichtigste Grund dafür, dass die Scratch-Geodatabase-Umgebung sowie die Scratch-Ordner-Umgebung in Version 10.1 eingeführt wurden. Auf diese Weise steht Ihnen eine bekannte Geodatabase und ein bekannter Ordner zum Schreiben der Daten zur Verfügung.
Wie nachfolgend beschrieben gibt es einige Empfehlungen zum Schreiben der Zwischendaten in ein Modell:
- Zwischendaten sollten nie in eine ArcSDE-Geodatabase geschrieben werden. Dies kann zu Performance-Einbußen führen, da über ein lokales Netzwerk temporäre Scratch-Daten in eine Enterprise-Geodatabase geschrieben werden. Es wird empfohlen, stets eine File-Geodatabase als Scratch-Workspace zu verwenden. Von der Verwendung einer Personal-Geodatabase oder eines Shapefile-Workspaces wird abgeraten.
- Zudem sollte vermieden werden, eine Arbeits-Geodatabase mit Zwischendaten zu füllen. Sie sollten stattdessen einen anderen Workspace festlegen, vorzugsweise eine File-Geodatabase, in die Zwischendaten geschrieben werden.
- Beim Schreiben von Zwischen-Feature-Classes versuchen Sie möglicherweise, Shapefiles in den Scratch-Ordner zu schreiben. Sie sollten dies nicht tun und stattdessen Feature-Daten in die Scratch-Geodatabase schreiben, da Shapefiles einige schwerwiegende Einschränkungen aufweisen, die sich auf die Portabilität der Werkzeuge auswirken können. Weitere Informationen zu Shapefiles und deren Einschränkungen finden Sie unter Überlegungen zur Geoverarbeitung für die Shapefile-Ausgabe.