Zusammenfassung
Das Werkzeug Mehrere Werte iterieren durchläuft eine Liste von Werten.
In diesem Workflow durchlaufen Sie mit dem Werkzeug Mehrere Werte iterieren Flughafen-, Autobahnausfahrt- und Erholungsgebiet-Feature-Classes. Bei der anderen Eingabe handelt es sich um eine Point-Feature-Class; das Modell berechnet mithilfe des Werkzeugs Near die geringste Entfernung der einzelnen Punkte in der Feature-Class zu den Flughäfen, Autobahnausfahrten und Erholungsgebieten. Das Werkzeug Near fügt ein Feld mit dem Entfernungswert für die einzelnen Eingabepunkte zum nächstgelegenen Feature in einer Feature-Class hinzu, wobei die Feldwerte bei jeder Iteration überschrieben werden. Damit die Entfernungswerte nicht bei jeder Iteration verloren gehen, fügt das Modell ein Feld hinzu, in das die Entfernungswerte mithilfe des Werkzeugs Feld berechnen kopiert werden. Mit dem Werkzeug Pfad analysieren wird der Name der Near-Feature-Class (airport, exits und recareas) extrahiert. Diese Namen werden dann als Feldnamen im Werkzeug Feld hinzufügen verwendet.
Diese Abbildung zeigt einen Teil der Karte mit der Eingabe-Punkt-Feature-Class und allen Feature-Classes, für die die Nahentfernung berechnet wird. Die Attributtabelle der Eingabe-Point-Feature-Class enthält das hinzugefügte Feld und die für die einzelnen Eingabe-Near-Feature-Classes berechneten Werte.
Voraussetzungen
Wenn Sie zum ersten Mal mit ModelBuilder arbeiten, befassen Sie sich zunächst mit den folgenden Themen:
Öffnen des Projekts
Laden Sie das Projekt herunter, das Sie in diesem Workflow verwenden möchten. Das Projekt enthält Eingabedaten und ein fertiges Modell.
- Öffnen Sie die Übersichtsseite Arbeiten mit dem Werkzeug "Mehrere Werte iterieren".
- Klicken Sie rechts auf der Seite auf Herunterladen.
- Klicken Sie mit der rechten Maustaste auf die heruntergeladene Datei "IterateMultivalue.zip", und extrahieren Sie sie in ein geeignetes Verzeichnis, z. B. C:\Temp.
- Doppelklicken Sie im extrahierten Ordner "IterateMultivalue" auf die ArcGIS Pro-Projektdatei "IterateMultivalue.aprx".
- Erkunden Sie die Daten im Bereich Katalog, und klicken Sie bei Bedarf auf die Registerkarte Projekt. Navigieren Sie zu Ordner > IterateMultivalue.
Die Geodatabase "ToolData.gdb" enthält die Daten, die als Eingaben für das Modell verwendet werden. Das Modell aktualisiert die Attributtabelle der PointLocation-Feature-Class.
Hinzufügen von Werkzeugen
Erstellen Sie ein Modell in der Toolbox "MyProjectTools". Führen Sie die folgenden Schritte aus, um Werkzeuge zum Modell hinzuzufügen:
- Klicken Sie ggf. im Bereich Katalog auf die Registerkarte Projekt. Navigieren Sie zu Ordner > IterateMultivalue > MyProjectTools.
- Klicken Sie mit der rechten Maustaste auf MyProjectTools und dann auf Neu. Wählen Sie Modell aus, um ein Modell zu erstellen und zu öffnen.
- Fügen Sie das Werkzeug Mehrere Werte iterieren hinzu.
- Klicken Sie auf dem Menüband auf die Registerkarte ModelBuilder.
- Klicken Sie in der Gruppe Einfügen auf Iteratoren.
- Klicken Sie in der Liste Iteratoren auf Mehrere Werte iterieren.
Dadurch wird der Iterator Mehrere Werte iterieren zum Modell hinzugefügt. Der Iterator ist grau, weil keine Parameterwerte angegeben wurden.
- Fügen Sie das Werkzeug Pfad analysieren hinzu.
- Klicken Sie auf dem Menüband auf die Registerkarte ModelBuilder.
- Klicken Sie in der Gruppe Einfügen auf Dienstprogramme.
- Klicken Sie in der Liste Dienstprogramme auf das Werkzeug Pfad analysieren.
Dadurch wird das Werkzeug Pfad analysieren zum Modell hinzugefügt.
- Fügen Sie das Werkzeug Near hinzu.
- Klicken Sie in das Modell, und geben Sie unmittelbar dort Near ein, um das Dialogfeld Werkzeuge zum Modell hinzufügen zu öffnen.
- Suchen Sie nach dem Werkzeug Near.
- Doppelklicken Sie auf das Werkzeug Near, um es dem Modell hinzuzufügen.
- Fügen Sie analog zum vorherigen Schritt die Werkzeuge Feld hinzufügen und Feld berechnen zum Modell hinzu.
Angeben der Werkzeugparameter und Verbinden der Werkzeuge
Wenn Sie die Werkzeuge zum Modell hinzugefügt haben, müssen Sie die Parameter angeben.
- Doppelklicken Sie auf den Iterator Mehrere Werte iterieren, um das Dialogfeld des Iterators zu öffnen. Navigieren Sie für den Parameter Eingabewerte zu <Your Project Location>\IterateMultivalue\ToolData.gdb, wählen Sie die Feature-Classes "airport", "exits" und "recareas" aus, und klicken Sie auf OK.
Dadurch werden die Eingabe-Feature-Classes als Eingabevariablen des Modells (dunkelblaue Ovale) hinzugefügt, und die Farbe des Iterators wird geändert; das bedeutet, dass die erforderlichen Parameter angegeben wurden und der Iterator zur Ausführung bereit ist.
- Klicken Sie mit der rechten Maustaste auf das Ergebnis des Iterators und anschließend auf Umbenennen. Geben Sie als Namen Wert ein, und drücken Sie die Eingabetaste. Dadurch wird die Ausgabevariable des Iterators umbenannt.
- Doppelklicken Sie auf das Werkzeug Near, um das Dialogfeld des Werkzeugs zu öffnen.
- Navigieren Sie für den Parameter Eingabe-Features zu <Your Project Location>\IterateMultivalue\ToolData.gdb, und wählen Sie die Feature-Class "PointLocation" aus.
- Wählen Sie für den Parameter Near-Features den Wert aus der Dropdown-Liste aus.
Behalten Sie für die übrigen Parameter die Standardeinstellungen bei, und klicken Sie auf OK. Dadurch entsteht eine Verbindung zwischen dem Ausgabewert des Iterators und dem Werkzeug Near.
- Doppelklicken Sie auf das Werkzeug Pfad analysieren, um das entsprechende Dialogfeld zu öffnen, und wählen Sie aus der Dropdown-Liste für den Parameter Eingabewerte den Eintrag Wert aus.
Dadurch entsteht eine Verbindung zwischen der Ausgabe des Iterators und dem Werkzeug Pfad analysieren.
- Zeigen Sie auf die Ausgabevariable (grünes Oval) des Werkzeugs Near. Klicken und ziehen Sie, um eine Konnektorlinie zum Werkzeug Feld hinzufügen zu ziehen. Lassen Sie die Maustaste los, und klicken Sie im Pop-up-Menü auf Eingabetabelle.
- Doppelklicken Sie auf das Werkzeug Feld hinzufügen, um das Dialogfeld des Werkzeugs zu öffnen.
- Der Parameter Eingabetabelle wurde bereits aus der Ausgabe des Werkzeugs Near hinzugefügt.
- Geben Sie für den Parameter Feldname als direkte Variablenersetzung den Wert %Name% ein.
Zur Laufzeit wird der Name der Feature-Class (airports, exits oder recareas) als Feldname verwendet.
- Wählen Sie für den Parameter Feldtyp den Eintrag Double (doppelte Genauigkeit) aus der Dropdown-Liste aus.
Behalten Sie für die übrigen Parameter die Standardeinstellungen bei, und klicken Sie auf OK.
- In ModelBuilder erfolgt die Ausführung von Werkzeugen unter Berücksichtigung der Hierarchie, d. h. ein Werkzeug wird erst nach dem ihm vorgelagerten Werkzeug ausgeführt, mit dem es verbunden ist. Im Werkzeug Feld hinzufügen wird der Wert des Ausgabeparameters Name des Werkzeugs Pfad analysieren im Parameter Feldname verwendet; das Werkzeug ist aber nicht damit verbunden, und die Ausführung schlägt fehl, wenn der Name des Feldes nicht gefunden wird. Damit das Werkzeug Pfad analysieren vor dem Werkzeug Feld hinzufügen ausgeführt wird, und somit ein Name verfügbar ist, muss im Werkzeug Feld hinzufügen eine Vorbedingung eingestellt werden.
Zeigen Sie mit der Maus auf die Ausgabevariable Name des Werkzeugs Pfad analysieren. Klicken und ziehen Sie, um eine Konnektorlinie zum Werkzeug Feld hinzufügen zu ziehen. Lassen Sie die Maustaste los, und klicken Sie im Pop-up-Menü auf Vorbedingung.
- Zeigen Sie auf die Ausgabevariable (grünes Oval) des Werkzeugs Feld hinzufügen. Klicken und ziehen Sie, um eine Konnektorlinie zum Werkzeug Feld berechnen zu ziehen. Lassen Sie die Maustaste los, und klicken Sie im Pop-up-Menü auf Eingabetabelle.
- Doppelklicken Sie auf das Werkzeug Feld berechnen, um das Dialogfeld des Werkzeugs zu öffnen.
- Der Parameter Eingabetabelle wurde bereits aus der Ausgabe des Werkzeugs Feld hinzufügen hinzugefügt.
- Wählen Sie für den Parameter Feldname den Eintrag %Name% aus der Dropdown-Liste aus. Dieses Feld wird durch das Werkzeug Feld hinzufügen hinzugefügt. Die Variable zwischen den Prozentzeichen wird zur Laufzeit durch den tatsächlichen Namen des Feldes ersetzt.
- Wählen Sie für den Parameter Ausdruckstyp Python 3 aus.
- Geben Sie für den Parameter Ausdruck !NEAR_DIST! ein.
Die Werte des Feldes NEAR_DIST werden in das neue Feld kopiert. Es ist nicht möglich, NEAR_DIST aus der Liste der Felder auszuwählen; das Feld ist nicht vorhanden, weil das Werkzeug Near noch nicht ausgeführt wurde. Wenn Sie den Feldnamen wie beschrieben eingeben möchten, wird vorausgesetzt, dass Ihnen das Werkzeug und das von ihm erstellte Ausgabefeld bekannt sind. Bei den Ausrufezeichen, in die der Feldname eingeschlossen ist, handelt es sich um Feldtrennzeichen für Python-Ausdrücke.
- Benennen Sie alle Modellvariablen, wie im fertigen Modell dargestellt, um.
- Klicken Sie zum Anordnen der Modellelemente auf der Registerkarte ModelBuilder auf die Schaltfläche Autolayout und dann auf An Fenster anpassen , um das Layout an die Größe des Modellfensters anzupassen.
Ausführen des Modells
Überprüfen Sie das Modell, und führen Sie es aus. Untersuchen Sie die Ausgaben in der Attributtabelle der Eingabe-Point-Feature-Class, und vergewissern Sie sich, dass die kürzesten Entfernungswerte aus allen drei Feature-Classes hinzugefügt wurden.
- Klicken Sie mit der rechten Maustaste auf die Ausgabe des Werkzeugs Feld berechnen, und aktivieren Sie die Option Zur Anzeige hinzufügen.
Dadurch wird die aktualisierte Eingabe-Feature-Class zur Karte hinzugefügt.
- Klicken Sie auf der Registerkarte ModelBuilder auf Speichern , um das Modell zu speichern.
- Klicken Sie auf der Registerkarte ModelBuilder auf Ausführen , um das Modell aufzuführen. Das Modell durchläuft alle drei Feature-Classes und sucht die kürzeste Entfernung der Feature-Classes zu den Punkt-Features. Klicken Sie mit der rechten Maustaste in den Bereich ArcGIS Pro Inhalt und dann auf Tabellen, um die hinzugefügten Felder mit den kürzesten Entfernungswerten anzuzeigen.
- Schließen Sie das Modell und ArcGIS Pro.