In ModelBuilder kann der Wert oder Dataset-Pfad einer Variablen für eine andere Variable ersetzt werden, indem der Ersetzungsvariablenname 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.
Sie können die direkte Variablenersetzung mithilfe von Modell- oder Systemvariablen ausführen.
- Modellvariablen: Eine beliebige Variable in einem Modell.
- Systemvariable: ModelBuilder stellt eine integrierte Systemvariable, n, bereit, die in Iterationsworkflows verwendet werden kann. %n% ist die Iterationsnummer im Modell.
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.
Mit Iteratoren
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.Verwendung von "Wert berechnen"
Wert berechnen ist ein leistungsstarkes ModelBuilder-Dienstprogramm, das Ihnen die Berechnung eines Werts anhand eines beliebigen Python-Ausdrucks und die Verwendung dieses Werts 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 werden im Werkzeugausdruck Wert berechnen verwendet, indem sie von Prozentsymbolen umschlossen angegeben werden. 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.
Ersetzen von Werten 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, würde die Ausgabe fälschlicherweise die Erweiterung .tif im Ausgabenamen enthalten. 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 eine integrierte Systemvariable bereit, die in Iterationsworkflows verwendet werden kann. Diese 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 neue Ausgabe. %n% wird im Ausgabenamen des Werkzeugs Puffer verwendet, um den Iterationsausgaben unterschiedliche Namen zu geben.