Kurzer Überblick über das Erstellen von Werkzeugen mit ModelBuilder

Im Szenario für das unten dargestellte Modell stellen Sie Daten für ein bestimmtes Untersuchungsgebiet zusammen, das im Modell durch die Variable StudyArea dargestellt wird, und Sie müssen mehrere Datasets auf das Untersuchungsgebiet zuschneiden. Für jedes Dataset, das Sie zuschneiden, möchten Sie ein Feld mit dem Namen STATUS hinzufügen und das Feld zum Anfangswert von 1 berechnen. Bei einem realen Projekt fügen Sie meist mehrere Felder hinzu und berechnen ihre Werte, aber für dieses einfache Szenario ist das Feld STATUS ausreichend.

Das Modell unten führt das Ausschneiden, das Hinzufügen eines Feldes und das Berechnen des Feldes aus, aber die Daten, die Sie zusammenstellen müssen, sind über mehrere Kartendokumente und Geodatabases verteilt. Das Workflowproblem hierbei ist, dass Sie das Modell bei jeder Ausführung in ModelBuilder öffnen und die Eingabe für Ausschneiden von Soils in ein anderes Dataset ändern müssen.

Beispielmodell

Anstatt bei jeder Verarbeitung des Datasets ModelBuilder öffnen zu müssen, wäre es natürlich benutzerfreundlicher, wenn Sie das Modell mit dem zugehörigen Werkzeugdialogfeld ausführen und den Namen des Eingabe-Datasets angeben könnten, indem Sie einen Layer oder ein Dataset auf das Dialogfeld ziehen, wie Sie dies auch mit einem Systemwerkzeug tun. Beim Öffnen des Werkzeugdialogfeldes wird jedoch Dieses Werkzeug hat keine Parameter angezeigt, wie unten zu sehen ist. Sie haben also keine Möglichkeit, die Datasets einzugeben, die Sie verarbeiten möchten.

Dialogfeld "Modellwerkzeug"

Ein anderes Problem des Modells ist, dass Sie es nicht in einem anderen Modell verwenden können. Die Abbildung zeigt das Hinzufügen des Werkzeugs zu einem neuen Modell. Das Ziel dabei ist, die Ausgabe des Modells mit dem Werkzeug Verschneiden (Identity) zu verbinden. Es kann keine Verbindung hergestellt werden, da das Werkzeug Clip to study area and add field keine Ausgabe hat, die mit dem Werkzeug Verschneiden (Identity) verbunden werden kann.

Das Modellwerkzeug kann nicht in einem anderen Modell verwendet werden, da es keine Ausgabeparameter hat.

Lösung – Erstellen von Modellparametern

Sie können die beiden oben erwähnten Situationen lösen, indem Sie Modellparameter erstellen. Zum Erstellen eines Modellparameters klicken Sie mit der rechten Maustaste auf eine Variable und wählen Modellparameter. In der Abbildung unten sind die Variablen Soils und Soils_Clip (3) in Modellparameter geändert worden. Für Modellparameter wird neben der Variablen der Buchstabe P angezeigt.

Modell mit Modellparametervariablen

Nachdem das Modellwerkzeug-Dialogfeld geöffnet wurde, können Sie den Parameter Soils ändern, z. B. in ein Vegetations-Dataset oder einen Vegetations-Layer. Sie können auch einen anderen Ausgabe-Dataset-Namen angeben. Wenn Sie auf OK klicken, wird das Werkzeug mit den von Ihnen angegebenen Daten ausgeführt.

Parameteranzeige im Werkzeugdialogfeld

Beachten Sie, dass die Modellvariable StudyArea nicht in einen Parameter geändert wurde. Da sich das Untersuchungsgebiet nie ändert, ist es nicht notwendig, die Variable in einen Parameter umzuwandeln.

Dive-inDive-in:
In diesem Modell enthält die Variable "StudyArea" ein Dataset (D:\EastValley\Data\collect.gdb\studyarea) und keinen Layer-Namen. Wenn die Variable StudyArea einen Layer-Namen enthält, wird das Werkzeug nicht im Hintergrund ausgeführt. Sie müssten dazu die Hintergrundverarbeitung deaktivieren, wie unter Verarbeitung im Vordergrund und Hintergrund beschrieben.

Ändern von Parameternamen

Für das Werkzeugdialogfeld besteht das Problem, dass die Parameternamen nicht sehr aussagekräftig sind. Anstelle der Parameternamen Soils und Soils_Clip (3) sollten Sie aussagekräftigere Bezeichnungen wie Eingabe-Features und Ausgabe-Feature-Class verwenden. Um die Parameternamen im Werkzeugdialogfeld zu ändern, ändern Sie die Namen der Variablen wie unten dargestellt in ModelBuilder.

Modell mit umbenannten Parametern

Wenn Sie das Werkzeugdialogfeld jetzt öffnen, ergeben die Parameternamen Sinn:

Werkzeugdialogfeld mit umbenannten Parametern

Leeren von Parametern

Beachten Sie außerdem, dass die Parameter im Werkzeugdialogfeld bereits mit Werten gefüllt sind. In diesem Fall sind dies Soils und E:\10DocModels\PortlandSmall.gdb\Soils_Clip. Wenn Sie das Werkzeug in ArcMap öffnen und kein Layer mit dem Namen "Soils" vorhanden ist, zeigt das Dialogfeld einen Fehler (ein rotes X) an, weil der Layer "Soils" nicht vorhanden ist. Dies ist zwar kein Problem – Sie können jederzeit einen anderen Layer auswählen oder zu einem anderen Dataset wechseln –, aber Sie können die Fehlermeldung vermeiden, indem Sie die Variablen im Modell wie unten dargestellt leeren. Das Modell kann jetzt nicht mehr in ModelBuilder ausgeführt werden, aber die Ausführung ist über das Werkzeugdialogfeld möglich.

Modell mit leeren Variablen

Da die Modellvariablen jetzt leer sind, werden im Werkzeugdialogfeld keine Werte mehr angezeigt.

Werkzeugdialogfeld mit leeren Werten für die Parameter

Verwenden des Modellwerkzeugs in einem anderen Modell

Da das Modell jetzt über Parameter verfügt, können Sie es ModelBuilder hinzufügen und seine Ausgabe mit der Eingabe von Verschneiden (Identity) verbinden. Dies ist unten dargestellt.

Verwenden eines Modells innerhalb eines Modells

Zusammenfassung

Um ein Modell zu einem nützlichen Werkzeug zu machen, erstellen Sie Modellparameter. Modellparameter werden im Werkzeugdialogfeld angezeigt. Der Name der Modellvariable wird zum Parameternamen im Werkzeugdialogfeld. Sie müssen nicht jede Modellvariable zu einem Modellparameter machen. Im obigen Beispiel ist die Variable StudyArea kein Modellparameter, weil sie sich nie ändern muss.

Die Erstellung von Modellparametern ermöglicht Ihnen das Ändern des Modells in ein nützliches Werkzeug. Sie können das Werkzeug mit anderen Daten verwenden, es anderen Modellen hinzufügen und in Skripten verwenden. Im Laufe der Zeit bauen Sie so Ihre eigene Bibliothek mit nützlichen Werkzeugen auf, die Sie dann in Situationen einsetzen können, an die Sie beim anfänglichen Erstellen des Modells noch gar nicht gedacht haben. Ein weiterer wichtiger Aspekt ist, dass Sie große, komplexe Modelle in kleinere (und daher besser verwaltbare) Modelle aufgliedern und die Ausgabe eines Werkzeugs als Eingabe eines anderen Werkzeugs nutzen können.

Weitere Informationen zum Erstellen von Modellwerkzeugen finden Sie unter Lernprogramm "Erstellen von Werkzeugen mit ModelBuilder".

9/11/2013