Skip To Content

Exportieren eines Modells nach Python

Das Exportieren eines Modells in ein Python-Skript kann Ihnen helfen, die Verwendung von Werkzeugen und Umgebungen in Python zu verstehen. Um ein Modell nach Python zu exportieren, klicken Sie auf dem Menüband ModelBuilder auf die Schaltfläche Exportieren, und wählen Sie eine der folgenden Optionen aus:

  • In Python-Datei exportieren
  • An Python-Fenster senden

Nach dem Bearbeiten und Fertigstellen des Skriptes können Sie es einer Toolbox oder einem Modell als Skriptwerkzeug hinzufügen und wie jedes andere Geoverarbeitungswerkzeug ausführen. Sie können es jedoch auch als eigenständiges Python-Skript verwenden.

Bearbeiten eines exportierten Python-Skripts

Möglicherweise muss der exportierte Python-Code bearbeitet werden. Beachten Sie Folgendes, wenn Sie ein Modell in ein Skript exportieren:

  • Wenn Sie Daten überschreiben, legen Sie die Eigenschaft arcpy.env.overwriteOutput auf True fest.
  • Falls im Modell Layer oder Tabellensichten verwendet werden, die nicht im ursprünglichen Modell erstellt wurden, müssen Sie diese Layer bzw. Tabellensichten im Skript erstellen. Hierfür können Sie Werkzeuge wie Feature-Layer erstellen und Tabellensicht erstellen verwenden.
  • Datenelemente aus dem Modell werden im exportierten Skript direkt in Variablen konvertiert. Weisen Sie Datenelementen keine mit Python inkompatiblen Namen wie etwa class, global oder return zu. Eine vollständige Liste der reservierten Schlüsselwörter finden Sie im keyword-Modul von Python.
    import keyword
    print keyword.kwlist
  • Wenn im Modell direkte Variablenersetzung, z. B. %workspace%, %scratchworkspace%, %n%, %i% oder %variable name%, verwendet wird, müssen Sie diese Elemente durch den richtigen Wert ersetzen.
  • In ein Modell werden nur die Umgebungseinstellungen exportiert, deren Standardwert geändert wurde.
  • Wenn im Modell ein Werkzeug aus den Kategorien Iteratoren, Dienstprogramme oder Logisch verwendet wurde, wird das Werkzeug in Python nicht ausgeführt. Sie müssen die entsprechende Python-Funktionalität dieser Werkzeuge implementieren. Beispielsweise müssen Sie für die Verzweigung im Skript die "if/else"-Logik verwenden.
  • Eventuell im Modell enthaltene untergeordnete Modelle und deren Inhalte werden nicht exportiert. Stattdessen müssen Sie die Toolbox referenzieren und das Modellwerkzeug im Skript aufrufen.
  • Vorbedingungen und Feedback werden nicht in den Skriptablauf übertragen.