Modellwerkzeuge werden vollständig in die Geoverarbeitungsumgebung integriert und können auf die gleiche Weise wie alle System- oder Skriptwerkzeuge verwendet werden. Wie alle anderen Geoverarbeitungswerkzeuge können Modellwerkzeuge von einem Dialogfeld aus oder durch Python-Skripterstellung ausgeführt werden oder einem anderen Modell hinzugefügt und dort ausgeführt werden.
Das Hinzufügen und Ausführen eines Modellwerkzeugs in einem anderen Modell wird manchmal als untergeordnetes Modell, verschachteltes Modell oder Modell im Modell bezeichnet. Es gibt zwei Hauptgründe für die Verwendung dieses Typs der Modellhierarchie: ein großes, komplexes Modell zu vereinfachen oder die erweiterte Verwendung von Modelliteratoren zuzulassen.
Vereinfachen eines großen, komplexen Modells
Das Einbetten eines Modellwerkzeugs in ein anderes Modell ermöglicht das Unterteilen großer, komplexer Prozesse in kleinere Modelleinheiten, die besser verwaltet und einfacher in anderen Modellen oder Skripten wiederverwendet werden können. Diese untergeordneten Modelle können auch geändert und ohne erneutes Ausführen des gesamten Prozesses erneut ausgeführt werden. Wenn ein Fehler in einem untergeordnetem Modell auftritt, nehmen Sie nur Korrekturen an diesem Modell vor, und führen das einzelne Modell dann statt des gesamten Prozesses erneut aus.
Das große Modell oben konnte in vier untergeordnete Modelle und ein Hauptmodell aufgegliedert werden. Kleinere untergeordnete Modelle können einem Hauptmodell hinzugefügt und mit einem finalen Prozess verbunden werden. Wenn ein untergeordnetes Modell einem anderen Modell hinzugefügt wird, wird die finale Ausgabe des untergeordneten Modells als Ausgabevariable hinzugefügt.
Erweiterte Verwendung von Modelliteratoren
Das Einbetten eines Modellwerkzeugs in ein anderes Modell ermöglicht Ihnen ferner eine erweiterte Verwendung von Modelliteratoren. Wenn für einen Workflow Modelliteration erforderlich ist, müssen die speziellen Werkzeuge oder Prozesse, die mehr als einmal ausgeführt werden müssen, von den Werkzeugen oder Prozessen getrennt werden, die nur einmal pro Workflow ausgeführt werden müssen. In dieser Situation sollten alle Werkzeuge, die mehrmals ausgeführt werden müssen, mit einem Modelliterator in einem Modell platziert werden und als untergeordnetes Modell verwendet werden. Die Werkzeuge, die nur einmal ausgeführt werden müssen, sollten im Hauptmodell platziert werden, das das zu durchlaufende untergeordnete Modell aufruft.
Das Beispiel unten zeigt einen automatisierten Workflow, der einen Satz von Eingaben einer Geodatabase zusammenführt. Das Werkzeug Zusammenführen akzeptiert mehrere Feature-Classes als zusammengeführte Eingabe, aber es gibt keine Möglichkeit, alle Feature-Classes aus einem bestimmten Workspace automatisch hinzuzufügen. In dieser Situation kann der Modelliterator Feature-Classes iterieren in Verbindung mit dem Werkzeug Werte erfassen verwendet werden, um alle Feature-Classes in einem Workspace zu lesen und sie alle in einer einzelnen Variablen zu erfassen. Da diese beiden Prozesse mehrmals ausgeführt werden müssen (Iterationen), werden sie einem untergeordneten Modell hinzugefügt, während das Werkzeug Zusammenführen, das nur einmal ausgeführt werden sollte, dem Hauptmodell hinzugefügt und mit der Ausgabe des untergeordneten Modells "Feature-Classes iterieren/Werte erfassen" verbunden wird.
Im Folgenden finden Sie eine schrittweise Beschreibung, wie der Workflow oben erstellt wurde. Weitere Informationen zu den unten verwendeten Begriffen und Verfahren finden Sie unter Grundlegende ModelBuilder-Terminologie.
- Erstellen Sie zwei Modelle: ein Hauptmodell und ein untergeordnetes Modell, wobei das untergeordnete Modell im Hauptmodell verschachtelt ist. Fügen Sie das Werkzeug Zusammenführen dem Hauptmodell und den Iterator Feature-Classes iterieren und das Werkzeug Werte erfassen dem untergeordneten Modell hinzu.
- Legen Sie im untergeordneten Modell den Workspace fest, der die Feature-Classes enthält, die als Eingabe für den Iterator Feature-Classes iterieren zusammengeführt werden sollen. Um nur Point-Feature-Classes zu durchlaufen, legen Sie den Parameter Feature-Typ von Feature-Classes iterieren auf POINT fest.
- Verbinden Sie die Feature-Classes iterieren-Ausgabevariable Ausgabe-Feature-Class mit dem Werkzeug Werte erfassen, sodass der Pfad jeder Point-Feature-Class im Workspace durchlaufen und erfasst wird.
- Wandeln Sie die Eingabe-Workspace-Variable und die Ausgabe des Werkzeugs Werte erfassen in Modellparameter um. Benennen Sie die Eingabe-Workspace-Variable Eingabe-Dataset um, um sicherzustellen, dass der Variablenname sinnvoll und einfach zu verstehen ist.
- Speichern Sie, schließen Sie das untergeordnete Modell, und fügen Sie es dem Hauptmodell als Prozess hinzu.
- Legen Sie die Ausgabevariable des untergeordneten Modells als Eingabe-Datasets des Werkzeugs Zusammenführen fest. Stellen Sie sicher, dass die Ausgabe des Werkzeugs "Zusammenführen" einen gültigen Pfad aufweist.
- Benennen Sie die Eingabevariable des untergeordneten Modells in Eingabe-Datasets und die Ausgabevariable des Werkzeugs Zusammenführen in Ausgabe zusammenführen um. Legen Sie die Variablen Eingabe-Dataset und Ausgabe zusammenführen als Modellparameter fest.