ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

ArcGIS for Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

ArcMap

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Erweiterungen

Verwalten von Zwischendaten (Scratch-Daten) in freigegebenen Modell- und Skriptwerkzeugen

  • Zwischendaten in Modellen
  • Verwalten von Scratch-Daten in Skriptwerkzeugen
  • Scratch-Workspace

Scratch-Daten werden von Ihrem Werkzeug verwendet und nach der Ausführung des Werkzeugs gelöscht. In ModelBuilder werden Scratch-Daten als Zwischendaten bezeichnet. In ModelBuilder als Zwischendaten markierte Daten werden nach der Ausführung des Modellwerkzeugs automatisch gelöscht. In Skripten sind Sie jedoch selbst für das Löschen von Scratch-Daten verantwortlich.

Hinweis:

Wenn Sie ein Werkzeug mit einem Geoverarbeitungspaket oder -Service freigeben, müssen Sie keine Änderungen an den Modellen oder Skripten vornehmen, um Scratch- oder Zwischendaten zu verwalten. Die unten beschriebenen Verfahren gelten nur für die Freigabe Ihrer benutzerdefinierten Toolbox – d. h., Sie geben kein Paket und keinen Service frei, sondern geben Ihre Toolbox (.tbx-Datei) weiter. In diesem Fall müssen Sie sicherstellen, dass Ihre Werkzeuge portabel sind, indem Sie Scratch- und Zwischendaten an einen Speicherort schreiben, der auf jedem Computer vorhanden ist, auf dem das Werkzeug ausgeführt wird.

Wenn Sie eine Toolbox mit Modell- und Skriptwerkzeugen für andere freigeben, benötigen Sie einen Speicherort – einen Ordner oder eine Geodatabase –, in den die Scratch- oder Zwischendaten von den Werkzeugen geschrieben werden können. Es gibt zwei schreibgeschützte Umgebungen, Scratch-GDB (Scratch-Geodatabase) und Scratch-Ordner, in die Sie Scratch- und Zwischendaten schreiben können. Diese beiden Umgebungen wurden in ArcGIS 10.1 eingeführt.

Zwischendaten in Modellen

Alle Zwischendaten sollten entsprechend gekennzeichnet und entweder in den Scratch-Ordner oder die Scratch-Geodatabase geschrieben werden. 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.

Verwenden von %scratchGDB% in Modellen

  • Weitere Informationen zu Zwischendaten in Modellen
  • Weitere Informationen zur Variablenersetzung in Modellen
  • Beispiele für die direkte Modellvariablenersetzung

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.

Sie können Zwischendaten auch in den In-Memory-Workspace schreiben.

Weitere Informationen zum In-Memory-Workspace

Verwalten von Scratch-Daten in Skriptwerkzeugen

Scratch-Daten in Skriptwerkzeugen sollten entweder in die Scratch-Geodatabase oder in den Scratch-Ordner geschrieben werden. Im folgenden Code wird eine Feature-Class in die Scratch-Geodatabase kopiert und nach der Ausführung gelöscht.

import arcpy
import os
inFC = arcpy.GetParameterAsText(0)

tempFC = arcpy.env.scratchGDB + os.path.sep + "tempFC"
arcpy.CopyFeatures_management(inFC, tempFC)

# Do some work here...

# Clean up when done...
#
arcpy.Delete_management(tempFC)

In einem Skript können Sie Daten auch in den In-Memory-Workspace schreiben. Beispiel:

import arcpy

table = arcpy.CreateTable_management("in_memory", "table1")
arcpy.AddField_management(table, "Field1", "TEXT", field_length=20)

cursor = arcpy.da.InsertCursor(table, ["Field1"])
cursor.insertRow(["Hello World"])

Der Workspace in_memory kann nur für Geoverarbeitungswerkzeuge verwendet werden. Er ist kein allgemeingültiges virtuelles Verzeichnis, in das beliebige Daten geschrieben werden können.

Scratch-Workspace

Die Umgebung Scratch-Workspace wird hauptsächlich von ModelBuilder als Speicherort für Zwischen- und Ausgabedaten verwendet. 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 war der wichtigste Grund für die Einführung der Scratch-Geodatabase und des Scratch-Ordners in Version 10.1. Auf diese Weise steht Ihnen eine bekannte Geodatabase und ein bekannter Ordner zum Schreiben der Daten zur Verfügung.

Verwandte Themen

  • env (ArcPy-Klasse)

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS Plattform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
Copyright © 2019 Esri. | Datenschutz | Rechtliches