Deutsch

How To: Aufrufen eines ModelBuilder-Modells in einem Python-Skript

Zusammenfassung

In manchen Szenarien ist es häufig einfacher, mit einem Python-Skript ein Modell in ModelBuilder aufzurufen, als das gesamte Modell in ein Python-Skript zu konvertieren. Vor dem Aufrufen des Modells muss dem Python-Skript eine benutzerdefinierte Toolbox hinzugefügt werden, da Modelle in einer benutzerdefinierten Toolbox gespeichert werden. Weitere Information finden Sie unter ArcGIS Desktop: Hinzufügen und Verbinden von Werkzeugen und Daten.

Vorgehensweise

Um in einem Python-Skript ein Modell aufzurufen, fügen Sie mit der Funktion "arcpy.AddToolbox()" die benutzerdefinierte Toolbox hinzu. Rufen Sie dann das Modell auf, indem Sie die Toolbox in einem Parameter referenzieren, oder rufen Sie das Modell direkt mithilfe des Alias der Toolbox auf. In den folgenden Schritten wird die Vorgehensweise beschrieben:

  1. Erstellen Sie eine Variable, die die Toolbox referenziert. Das folgende Beispiel veranschaulicht die Verwendung der Funktion "arcpy.AddToolbox()":
    tbx = arcpy.AddToolbox("C:/Temp/MyToolbox.tbx")
  2. Rufen Sie das Modell mit einem der folgenden Codebeispiele auf.
    • So rufen Sie das Modell mithilfe der definierten Variablen auf
      "MyToolbox" ist die benutzerdefinierte Toolbox, die in Schritt 1 hinzugefügt wurde. Das Modell mit der Bezeichnung "Sample1" befindet sich in "MyToolbox". Verwenden Sie das folgende Codebeispiel:
      tbx.Sample1()
    • So rufen Sie das Modell mithilfe des vordefinierten Toolbox-Alias auf
      "SampleMyTools" ist der vordefinierte Toolbox-Alias von "MyToolbox", der in Schritt 1 hinzugefügt wurde.
      arcpy.Sample1_SampleMyTools()
      Hinweis:
      Es empfiehlt sich, der Toolbox einen Aliasnamen hinzuzufügen Der Aliasname darf keine Leerzeichen oder Sonderzeichen enthalten, z. B. einen Unterstrich (_).

Wenn ein Modell Benutzereingaben erfordert, erstellen Sie im Python-Skript eine Variable, und geben Sie den Shapefile-Speicherort als Argument für den Modellparameter an. Im folgenden Codebeispiel wird die Eingabe-Feature-Class an das Werkzeug "Features kopieren" im Modell übergeben.

inFC = "C:/Temp/input.shp"

tbx.Model(inFC)

Referenzinformationen