In ModelBuilder kann der Wert oder Dataset-Pfad einer Variablen für eine andere Variable ersetzt werden, indem der Name der Ersetzungsvariablen in Prozentzeichen (%VariableName%) eingeschlossen wird. Wenn Variablen auf diese Weise ersetzt werden, wird dies als direkte Variablenersetzung bezeichnet.
Wenn Sie beispielsweise über die Variable Name mit einem Wert von Wilson verfügen, können Sie einen Dataset-Pfad als C:\Data\Output.gdb\Clipped_%Name% erstellen, und der Pfad wird als C:\Data\Output.gdb\Clipped_Wilson aufgelöst.
ModelBuilder unterstützt die direkte Variablenersetzung in folgenden Formaten:
- Modellvariablen: Eine beliebige Variable in einem Modell.
- Systemvariablen: Die Variable %n% kann in einem Iterationsworkflow als Iterationszähler im Modell verwendet werden. Die Variable %t% gibt die Uhrzeit, zu der die Ausgabe erstellt wurde, im Format JJJJMMTTHHMMSS an.
- Workspace-Umgebungen: In ModelBuilder können vier Workspace-Umgebungen (%scratchGDB%, %scratchFolder%, %workspace% und %scratchWorkspace%) verwendet werden, um das Modelldatenmanagement zu vereinfachen.
Modellvariablenersetzung
Im unten dargestellten Modell hat die Workspace-Variable Data Workspace den Wert C:\Data.gdb. Diese Workspace-Position wird in den Parametern des Werkzeugs Projekt als direkte Variable angegeben, indem der Variablenname von Prozentsymbolen umschlossen wird. Zur Laufzeit wird der tatsächliche Variablenwert C:\Data.gdb für %Data Workspace% ersetzt.
Verwendung mit Iterator
Die Verwendung der Modellvariablenersetzung ist besonders wichtig, wenn Sie mit ModelBuilder-Iteratoren arbeiten. Wenn der Iterator Feature-Classes iterieren ausgeführt wird, erstellt er eine Ausgabevariable für den Pfad und den Namen der Feature-Class in einem Workspace. Der Wert in der Variable Name kann verwendet werden, um den Pfad zur Ausgabe Projizierte Feature-Class zu erstellen. Wenn das Werkzeug ausgeführt wird, wird %Name% durch den Namen der Feature-Class ersetzt.
Benutzereingabe für ein Modellwerkzeug
Die Modellvariablenersetzung kann Ihnen beim Übergeben der Werte helfen, die durch einen Benutzer direkt in ein Werkzeug in Ihr Modell eingegeben wurden. Beispielsweise ist im unten illustrierten Modell Flurstücks-ID ein Modellparameter, der angegeben wird, wenn das Modellwerkzeug über das Fenster Geoverarbeitung ausgeführt wird. Diese Variable wird im Parameter Ausdruck des Werkzeugs Layer nach Attributen auswählen als "Parcel" = '%Parcel ID%' verwendet. Wenn das Werkzeug ausgeführt wird, wird %Parcel ID% im Ausdruck durch die Flurstücks-ID (9 im Fall unten) ersetzt, und nur die Flurstücke mit einer ID von 9 werden ausgewählt.
Hinweis:
Die Variable der Flurstücks-ID in diesem Beispiel ist eine Zeichenfolge. Direkte Variablen, bei denen es sich um Zeichenfolgen handelt, müssen in einem Ausdruck von Anführungszeichen ('%string variable%') umgeben sein. Für direkte Variablen, bei denen es sich um Zahlen handelt, sind keine Anführungszeichen erforderlich.In einem zweiten Beispiel wird die Variablenersetzung verwendet, um Werte an die Parameter des Werkzeugs Feld berechnen zu übergeben. Das folgende Modell enthält die beiden Variablen Klassenwerte-Feld und Wert. Die Variable Klassenwerte-Feld mit dem Wert "Klasse" wird als Feldname-Parameter verwendet. Die Variable Wert mit dem Wert "Wald" wird als Ausdruck-Parameter verwendet. Beim Ausführen des Werkzeugs Feld berechnen wird dem Feld "Klasse" der Wert "Wald" zugewiesen, der in der Variablen Wert gespeichert wird.
Verwendung mit "Wert berechnen"
Wert berechnen ist ein ModelBuilder-Dienstprogramm, das Ihnen die Berechnung eines Wertes anhand eines Python-Ausdrucks und die Verwendung dieses Wertes in Ihrem Modell ermöglicht. Sie können die Modellvariablenersetzung verwenden, um Werte aus Modellvariablen mittels Wert berechnen an den Python-Ausdruck zu übergeben oder um den Ausgabevariablennamen zu verwenden, der den berechneten Wert in einem anderen Werkzeug in Ihrem Modell speichert.
Das folgende Modell enthält zwei numerische Variablen: Number of Residents und Waste Per Person Per Year. Diese Variablen können Sie im Werkzeugausdruck Wert berechnen verwenden, indem Sie sie von Prozentsymbolen umschlossen angeben. Wenn das Werkzeug Wert berechnen ausgeführt wird, werden die Variablennamen durch die angegebenen Werte ersetzt und multipliziert, um den Wert Total Waste Per Year zu berechnen.
Variablenersetzung mit Dateierweiterungen
Wenn eine Variable auf eine Datei mit einer Erweiterung verweist, z. B. elevation.tif, und diese Variable mithilfe der direkten Ersetzung in den Ausgabepfad eines anderen Werkzeugs einbezogen werden muss, enthält die Ausgabe fälschlicherweise die Erweiterung .tif im Ausgabenamen. In solchen Fällen erhalten Sie mit dem Werkzeug Pfad analysieren nur den Dateinamen: elevation. Die Ausgabevariable Name des Werkzeugs Pfad analysieren kann dann im nächsten Werkzeug als direkte Ersetzung verwendet werden.
Systemvariablenersetzung
ModelBuilder stellt Systemvariablen bereit, die Sie in einem Modell zur Darstellung der aktuellen Modelliteration (%n%) und Uhrzeit (%t%) verwenden können.
Die Variable %n% verweist auf die aktuelle Modelliteration (die erste Iteration ist 0), wenn ein Modell einen Iterator enthält. Beispielsweise wird der Iterator For verwendet, um ein Modell viermal zu durchlaufen. Die Ausgabe des Werkzeugs Puffer wird als Feedback, das heißt als Eingabe, für das Werkzeug verwendet. Das Modell wird durchlaufen und erstellt bei jeder Iteration eine Ausgabe. %n% wird im Ausgabenamen des Werkzeugs Puffer verwendet, um den Iterationsausgaben unterschiedliche Namen zu geben.
Die Variable %t% gibt die Uhrzeit an, zu der die Werkzeugausgabe erstellt wurde. Wenn für ein Modell beispielsweise für die Datensicherung eine tägliche Ausführung geplant ist, wird mit der Variablen %t% eine Ausgabe mit einem Zeitstempel erstellt, der das Sicherungsdatum angibt.
Vorversion:
Die Variable %i% funktioniert auf dieselbe Weise wie %n%. Sie ist für ArcMap vorgesehen. Die Verwendung in ArcGIS Pro wird nicht empfohlen.
Workspace-Umgebungen
In ModelBuilder können Sie vier Workspace-Umgebungen verwenden, um das Datenmanagement in einem Modell zu vereinfachen. Sie können Workspace-Umgebungen in Modellparametern verwenden und über den Bereich Geoverarbeitung Modelle ausführen.
Umgebung | Verwendung | Speicherort | Empfohlene Verwendung |
---|---|---|---|
%scratchGDB% | Projektordner\scratch.gdb | Zwischenausgaben | |
%scratchFolder% | Projektordner\scratch | Dateibasierte Zwischenausgaben | |
%workspace% | Umgebungseinstellung Aktueller Workspace | Ein- und Ausgaben des Geoverarbeitungswerkzeugs | |
%scratchWorkspace% | Umgebungseinstellung Scratch-Workspace | Zwischenausgaben |
Wenn eine Werkzeugausgabe beispielsweise als %scratchGDB%\CopyToScratchGDB angegeben ist, wird eine scratch.gdb-Geodatabase erstellt, sofern nicht bereits vorhanden, und die Ausgabe CopyToScratchGDB wird in der Umgebungsgeodatabase "Scratch GDB" erstellt.
Wenn im folgenden Beispiel eine Werkzeugausgabe als %workspace%\CopyToWorkspace angegeben ist, wird die Ausgabe CopyToWorkspace in der Umgebungsposition Aktueller Workspace erstellt.