Zusammenfassung
Das Werkzeug Feature-Classes iterieren durchläuft Feature-Classes in einem Workspace oder Feature-Dataset. Jeder Iterator verfügt über einen Satz von Parametern, der sich möglicherweise von den anderen Iteratoren unterscheidet, die Gesamtstruktur aller Iteratorwerkzeuge ist jedoch sehr ähnlich. Im Folgenden wird das Werkzeug Feature-Classes iterieren beschrieben:
- Eingabe-Feature-Classes (Eingabe): Ein Workspace oder Feature-Dataset, in dem die zu iterierenden Feature-Classes gespeichert sind.
- Platzhalter (optionale Eingabe): Eine Kombination aus Sternchen und anderen Zeichen zur Begrenzung der Ergebnisse. Das Sternchen steht für ein beliebiges Zeichen. Wenn kein Platzhalter angegeben wird, werden alle Eingaben zurückgegeben.
- Feature-Typ (optionale Eingabe): Der Feature-Typ, der als Filter verwendet werden soll. Nur Features des angegebenen Typs werden ausgegeben. Wenn Sie keinen Feature-Typ angeben, werden alle Feature-Typen ausgegeben.
- Rekursiv (optionale Eingabe): Gibt an, ob der Iterator alle Unterordner im Haupt-Workspace durchlaufen soll.
- Feature-Class (Ausgabe): Der vollständige Pfad den Feature-Classes.
- Name (Ausgabe): Der Name der Feature-Classes.
In diesem Workflow erstellen Sie ein Modell (siehe unten) zum Durchlaufen und Projizieren von Feature-Classes im Eingabemodell-Workspace und verwenden den Ausgabeparameter Name als Inline-Variable im Namen der Ausgabe-Feature-Class des Werkzeugs Projizieren. In diesem Workflow werden Sie schrittweise durch die einzelnen optionalen Parameter des Iterators geführt und erhalten Informationen zu ihren Funktionen.
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, Ausgabe-Geodatabases und ein fertiges Modell.
- Öffnen Sie die Übersichtsseite Arbeiten mit dem Werkzeug "Feature-Classes iterieren".
- Klicken Sie rechts auf der Seite auf Herunterladen.
- Klicken Sie mit der rechten Maustaste auf die heruntergeladene Datei "IterateFeatureClasses.zip", und extrahieren Sie sie in ein geeignetes Verzeichnis, z. B. C:\Temp.
- Doppelklicken Sie im extrahierten Ordner "IterateFeatureClasses" auf die ArcGIS Pro-Projektdatei "IterateFeatureClasses.aprx".
Das Projekt wird mit einer leeren Karte geöffnet und dient zur Darstellung der Ergebnisse aus dem Modell, das Sie erstellen werden.
- Erkunden Sie die Daten im Bereich Katalog, und klicken Sie bei Bedarf auf die Registerkarte Projekt. Navigieren Sie zu Ordner > IterateFeatureClasses.
Der Ordner "Data" enthält Unterordner; jeder davon enthält Feature-Classes, die im Modell durchlaufen und projiziert werden. Die Ausgaben dieses Workflows werden in den drei Scratch*-Geodatabases gespeichert.
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 > IterateFeatureClasses > 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 Feature-Classes 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 Feature-Classes iterieren.
Der Iterator Feature-Classes iterieren wird zum Modell hinzugefügt. Der Iterator ist nicht verfügbar, weil noch keine Parameterwerte angegeben wurden.
- Fügen Sie das Werkzeug Projizieren hinzu.
- Klicken Sie in das Modell, und geben Sie Projizieren ein, um das Dialogfeld Werkzeuge zum Modell hinzufügen zu öffnen.
- Suchen Sie nach dem Werkzeug Projizieren.
- Doppelklicken Sie auf das Werkzeug Projizieren, um es dem Modell hinzuzufügen.
- Fügen Sie das Werkzeug Werte erfassen hinzu.
- Klicken Sie auf die Registerkarte ModelBuilder.
- Klicken Sie in der Gruppe Einfügen auf die Schaltfläche Dienstprogramme .
- Klicken Sie in der Liste Dienstprogramme auf Werte erfassen, um das Werkzeug Werte erfassen im Modell zu öffnen.
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 Feature-Classes iterieren, um das Dialogfeld des Iterators zu öffnen.
- Navigieren Sie zur Angabe des Parameters Workspace oder Feature-Dataset zum Ordner Ordner > IterateFeatureClasses > Data.
- Aktivieren Sie das Kontrollkästchen Rekursiv, um alle Feature-Classes in allen Unterordnern zu durchlaufen.
- Lassen Sie die übrigen Parameter leer, und klicken Sie auf OK.
Der Workspace wird als Eingabevariable des Modells (dunkelblaues Oval) hinzugefügt, und die Farbe des Iterators ändert sich; das bedeutet, dass die erforderlichen Parameter angegeben wurden und der Iterator für die Ausführung bereit ist.
- Doppelklicken Sie auf das Werkzeug Projizieren, um das Dialogfeld des Werkzeugs zu öffnen.
- Klicken Sie auf den Dropdown-Pfeil des Parameters Eingabe-Dataset oder -Feature-Class, und wählen Sie uMetro_Entrances.shp aus.
- Navigieren Sie für den Parameter Ausgabe-Dataset oder -Feature-Class zur Geodatabase "<Your Project Location>\IterateFeatureClasses\ScratchAllFC.gdb", und geben Sie %Name%_Project ein.
- Klicken Sie im Parameter Ausgabekoordinatensystem auf die Schaltfläche Koordinatensystem , um das Dialogfeld Koordinatensystem zu öffnen. Wählen Sie Projizierte Koordinaten > Continental > Europe > Europe Albers Equal Area Conic. Klicken Sie auf OK, um das Dialogfeld zu schließen.
- Behalten Sie NTF_TO_ED_1950 als Methode der geographischen Transformation bei.
- Klicken Sie auf OK, um das Dialogfeld Projizieren zu schließen, nachdem Sie alle Parameter angegeben haben.
Vorsicht:
Wenn Ihre Eingabe-Feature-Classes unterschiedliche Koordinatensysteme aufweisen, kann es sein, dass die hinzugefügte geographische Transformation nicht für alle Koordinatensysteme gilt und die Daten falsch projiziert werden. Sie sollten daher wissen, welche Koordinatensysteme und entsprechenden geographischen Transformationen für Ihre Eingaben gelten. Mit dem Parameter Platzhalter des Iterators können Sie in Fällen wie diesen Feature-Classes selektiv projizieren. Weitere Informationen über die Verwendung von Platzhaltern finden Sie im Abschnitt Verwenden des optionalen Parameters "Platzhalter".
- Zeigen Sie mit der Maus auf die Ausgabevariable des Werkzeugs Projizieren. Klicken und ziehen Sie, um eine Konnektorlinie zum Werkzeug Werte erfassen darzustellen. Lassen Sie die Maustaste los, und klicken Sie im Pop-up-Menü auf Eingabewert. Das Werkzeug Werte erfassen unterstützt die Zusammenfassung der Ausgabewerte der einzelnen Iterationen zu einer einzelnen Ausgabe mit mehreren Werten.
- Benennen Sie alle Modellvariablen, wie im fertigen Modell in diesem Workflow 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 Geodatabase "ScratchAllFC.gdb", und vergewissern Sie sich, dass alle Feature-Classes im Ordner "Data" durchlaufen und projiziert worden sind.
- Klicken Sie mit der rechten Maustaste auf die Ausgabe des Werkzeugs Werte erfassen, und aktivieren Sie die Option Zur Anzeige hinzufügen.
Nach der Ausführung des Modells werden die Ausgaben 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 Feature-Classes im Ordner "Data", projiziert sie und erstellt die Ausgabe in der Geodatabase "ScratchAllFC.gdb".
Verwenden des optionalen Parameters "Platzhalter"
Die nachfolgenden Schritte erweitern den Workflow und vermitteln Informationen zur Verwendung des optionalen Parameters Platzhalter des Iterators.
- Wenn Sie mit den obigen Abschnitten fertig sind und die projizierten Ausgabe-Feature-Classes erstellt haben, doppelklicken Sie auf das Werkzeug Feature-Classes iterieren, um es zu öffnen.
- Geben Sie in das Feld des Parameters Platzhalter Metro* ein. Lassen Sie den Parameter Rekursiv aktiviert. So wird sichergestellt, dass das Modell alle Unterordner durchläuft, aber nur die Feature-Classes projiziert werden, deren Name mit "Metro" beginnt. Das Platzhalterzeichen "*" wird zur Laufzeit durch den Rest des Namens der mit "Metro" beginnenden Feature-Class ersetzt.
- Klicken Sie auf OK, um das Dialogfeld des Werkzeugs zu schließen.
- Öffnen Sie das Dialogfeld des Werkzeugs Projizieren, und ändern Sie die Option Ausgabe-Dataset oder -Feature-Class in "<Your Project Location>\IterateFeatureClasses\ScratchWildCard.gdb\%Name%_Project".
- Klicken Sie auf OK, um das Dialogfeld zu schließen.
- 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 Feature-Classes, deren Name mit "Metro" beginnt, projiziert sie und erstellt die Ausgabe in der Geodatabase "ScratchWildCard.gdb".
Verwenden der optionalen Parameter "Platzhalter" und "Feature-Typ'"
Die nachfolgenden Schritte erweitern den Workflow und vermitteln Informationen zur Verwendung des optionalen Parameters Feature-Typ des Iterators.
- Wenn Sie mit dem Abschnitt Verwenden des optionalen Parameters "Platzhalter" fertig sind und die projizierten Ausgabe-Feature-Classes erstellt haben, doppelklicken Sie auf das Werkzeug Feature-Classes iterieren, um es zu öffnen.
- Wählen Sie in der Dropdown-Liste Feature-Typ den Eintrag Line aus. So wird sichergestellt, dass das Modell alle Line-Feature-Classes durchläuft, deren Name mit Metro beginnt.
- Klicken Sie auf OK, um das Dialogfeld des Werkzeugs zu schließen.
- Öffnen Sie das Dialogfeld des Werkzeugs Projizieren, und ändern Sie die Option Ausgabe-Dataset oder -Feature-Class in "<Your Project Location>\IterateFeatureClasses\ScratchOnlyLine.gdb\%Name%_Project".
- 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 Line-Feature-Classes, deren Name mit "Metro" beginnt, projiziert sie und erstellt die Ausgabe in der Geodatabase "ScratchOnlyLine.gdb".
- Schließen Sie das Modell und ArcGIS Pro.