Direkte Variablenersetzung

In ModelBuilder können Sie den Wert oder Dataset-Pfad einer Variablen für eine andere Variable ersetzen, 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: Sie können jede Variable in einem Modell verwenden.
  • Systemvariablen: Sie können die Variable %n% in einem Iterationsworkflow als Iterationszähler im Modell verwenden. Die Variable %t% gibt die Uhrzeit, zu der die Ausgabe erstellt wurde, im Format JJJJMMTTHHMMSS an.
  • Workspace-Umgebungen: Sie können in ModelBuilder vier Workspace-Umgebungen (%scratchGDB%, %scratchFolder%, %workspace% und %scratchWorkspace%) verwenden, 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.

Modellvariable als direkte Variable verwenden

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. Sie können den Wert in der Variable Name verwenden, 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.

Iteratorausgabe als direkte Variable verwenden

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 Suffix 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 RoadLabel LIKE '%\%Suffix\%' ESCAPE '\' verwendet. Bei Ausführung des Werkzeugs funktioniert der Ausdruck auf dieselbe Weise wie RoadLabel LIKE '%ST': die direkte Variable Suffix wird durch den Wert ST ersetzt, und es werden nur Straßen ausgewählt, deren Beschriftung mit "ST" endet.

Direkte Variable im Werkzeug "Layer nach Attributen auswählen" verwenden
Hinweis:
Die Variable "Suffix" in diesem Beispiel ist eine Zeichenfolge. Direkte Variablen, bei denen es sich um Zeichenfolgen handelt, müssen in einem Ausdruck in Anführungszeichen eingeschlossen werden ('%Suffix%'). Für direkte Variablen, bei denen es sich um Zahlen handelt, sind keine Anführungszeichen erforderlich.

In nachstehenden zweiten Beispiel wird die direkte 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.

Direkte Variable im Werkzeug "Feld berechnen" verwenden

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.

Direkte Variable im Werkzeug "Wert berechnen" verwenden

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 diesen Fällen können Sie das Werkzeug Pfad analysieren verwenden, um nur den Dateinamen ("elevation") abzurufen. Anschließend können Sie die Ausgabevariable Name des Werkzeugs Pfad analysieren im nächsten Werkzeug als direkte Ersetzung verwenden.

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.

Beispiel für die direkte Variable %n%

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.

Beispiel für die direkte Variable %t%

Vorversion:

Die Variable %i% funktioniert auf dieselbe Weise wie %n%. Sie ist für ArcMap vorgesehen. Die Verwendung in ArcGIS Pro wird nicht empfohlen.

Umgebungseinstellungen für "Workspace"

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.

UmgebungVerwendungPositionEmpfohlene Verwendung

Scratch-GDB

%scratchGDB%

Projektordner\scratch.gdb

Zwischenausgaben

Scratch-Ordner

%scratchFolder%

Projektordner\scratch

Dateibasierte Zwischenausgaben

Aktueller Workspace

%workspace%

Umgebungseinstellung Aktueller Workspace

Ein- und Ausgaben des Geoverarbeitungswerkzeugs

Scratch-Workspace

%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.

Beispiel für die direkte Variable %scratchGDB%

Wenn im folgenden Beispiel eine Werkzeugausgabe als %workspace%\CopyToWorkspace angegeben ist, wird die Ausgabe "CopyToWorkspace" in der Umgebungsposition Aktueller Workspace erstellt.

Beispiel für die direkte Variable %workspace%