Beispiele für die Verwendung von Iteratoren in ModelBuilder

Iteratoren ermöglichen die Batch-Verarbeitung und die Wiederholung eines Prozesses oder einer Gruppe von Prozessen für eine Reihe von Eingaben.

For

Das Werkzeug For durchläuft einen Start- und Endwert nach einem angegebenen Wert.

In der Abbildung unten wird mit dem Iterator For vom Wert 500 zum Wert 2.000 iteriert, wobei das Erhöhen in 500er-Schritten erfolgt. Die Ausgabe von For wird im Werkzeug Puffer als Parameter für den Pufferabstand und im Ausgabenamen als direkte Variablenersetzung verwendet.

Verwendung von "For" in ModelBuilder

While

Das Werkzeug Whileiteriert, bis eine Bedingung wahr wird oder bis eine Bedingung falsch wird.

In der Abbildung unten wählt das Modell alle Blockgruppen aus, die eine gemeinsame Grenze mit einem Interessengebiet aufweisen, berechnet die Gesamtbevölkerung und erstellt einen Layer, in dem die Bevölkerung unter einem bestimmten Schwellenwert liegt. Beispiel: Ein Unternehmen möchte für Couponangebote, die eine bestimmte Blockgruppe umgeben, einen festgelegten Bevölkerungswert erreichen. Das Werkzeug Anzahl erhalten überprüft, ob es eine Auswahl gibt, die den im Werkzeug Tabellensicht erstellen angegebenen Kriterien entspricht. Mit dem Werkzeug While wird sichergestellt, dass das Modell ausgeführt werden, bis die Zeilenanzahl ungleich Null ist.

Verwendung von "While" in ModelBuilder

Feature-Auswahl iterieren

Das Werkzeug Feature-Auswahl iterieren durchläuft Features in einer Feature-Class.

In der nachfolgenden Abbildung wird berechnet wird, wie viel Landnutzungsfläche an der Ostküste durch einen jeweils 100 Meter breiten Streifen von fünf Kategorie-1-Hurrikanen zerstört wurde. Die Variable Eingabe-Feature ist eine Feature-Class von fünf atlantischen Hurrikanpfaden, die von einem 100-Meter-Puffer umgeben sind. Die Variable Eingabe-Raster ist ein Landnutzungs-Raster.

Verwendung von "Feature-Auswahl iterieren"

In diesem Beispiel wurde der Name des Hurrikans als Gruppierungsfeld verwendet, um die Auswahl zu treffen. Das ausgewählte Feature wird als Eingabe verwendet, damit das Werkzeug Zonale Statistiken als Tabelle eine Ausgabe-Tabelle mit Statistik zur Landnutzungsfläche generiert, die beim Durchzug der Hurrikane zerstört wurde.

Das Werkzeug Feature-Auswahl iterieren hat zwei Ausgaben:

  • Ausgewähltes Feature (als Eingabe mit dem Werkzeug Zonale Statistiken als Tabelle verbunden).
  • Die Variable Wert, die den Namen des als direkte Variable im Ausgabenamen der Variable Ausgabe-Tabelle verwendeten Features (auf der Grundlage des Gruppierungsfelds) enthält.

Zeilenauswahl iterieren

Das Werkzeug Zeilenauswahl iterieren durchläuft Zeilen in einer Tabelle.

In der nachfolgenden Abbildung wird im Modell eine Abweichungsellipse für Diebstahlereignisse während der verschiedenen Tagesabschnitte (Vormittag, Nachmittag, Abend und Nacht) erstellt, um ein zugrunde liegendes Kriminalitätsmuster zu erkennen.

Verwendung von "Zeilenauswahl iterieren"

Die Variable Eingabe-Feature-Class ist eine Feature-Class, die Ereignispunkte von Vandalismus enthält. Sie enthält das Feld Crime_Peri (Verbrechenszeitraum), das den Zeitpunkt darstellt, zu dem das Ereignis aufgetreten ist (die Zeichenfolgen Vormittag, Nachmittag, Abend und Nacht). Dieses Feld wird als Gruppierungsfeld verwendet, um eine Auswahl zu treffen, und die ausgewählten Zeilen werden verwendet, um eine Ausgabestandardabweichungsellipse zu erstellen.

Das Werkzeug hat zwei Ausgaben:

  • Die Variable Zeilenauswahl, die die ausgewählten Zeilen für einen eindeutigen Verbrechenszeitraum enthält. Diese Zeilen stellen die Eingabe für das Werkzeug Richtungsverteilung (Standardabweichungsellipse) dar.
  • Die Variable Wert, die den Wert des Gruppierungsfeldes (Vormittag, Nachmittag, Abend oder Nacht) enthält. Dieser Wert wird als direkte Variable im Ausgabenamen der Variable Ausgabestandardabweichungsellipse verwendet.

Felder durchlaufen

Das Werkzeug Felder durchlaufen durchläuft Felder in einer Tabelle.

In der nachfolgenden Abbildung werden mit dem Werkzeug Feld berechnen die NULL-Werte in mehreren Feldern in Nullen konvertiert.

Verwendung von "Felder durchlaufen"

Die Feature-Layer-Variable Ereignisse hat eindeutige Felder mit der Anzahl der Ereignisse nach Datum. In einigen Feldern fehlen Werte und werden daher Nullen gespeichert. In diesem Fall werden mit dem Werkzeug Felder durchlaufen die Tage basierend auf einem Platzhalter und einer Teilmenge der gefilterten Feldliste gefiltert. Jedes Feld wird dann an den Ausdruck des Werkzeugs Layer nach Attributen auswählen übergeben, und die ausgewählten Datensätze werden an das Werkzeug Feld berechnen übergeben.

Das Werkzeug hat zwei Ausgaben:

  • Die Variable Wert ist als Eingabefeldname mit dem Werkzeug Layer nach Attributen auswählen verbunden.
  • Die Anzahl-Variable, die eine Gesamtzahl der zu durchlaufenden Felder enthält.

Feldwerte iterieren

Das Werkzeug Feldwerte iterieren durchläuft alle Werte in einem Feld.

In der Abbildung unten wird im Modell das Werkzeug Cluster-Ausreißer-Analyse für die Anzahl der Menschen unterhalb der Armutsgrenze in jedem Bezirk verwendet, um die Ergebnisse anhand verschiedener Entfernungen zu vergleichen. Diese Entfernungen werden als Feld Distance in der Variable Eingabetabelle aufgezeichnet.

Verwendung von "Feldwerte iterieren"

Beachten Sie, dass im Dialogfeld Feldwerte iterieren die Option Einzelwerte standardmäßig aktiviert ist, um jeden Einzelwert in einer Tabelle zu iterieren. Wenn die Option Einzelwerte deaktiviert ist, wird jeder Wert im Feld iteriert, wenn es doppelte Werte im Eingabefeld gibt, wird der Ausgabewert wiederholt.

Für Feldwerte iterieren gibt es eine Ausgabe: Die Variable Wert, die den Wert des Feldes enthält, das als Parameter Entfernungsband oder Schwellenwertentfernung des Werkzeugs Cluster- und Ausreißeranalyse verwendet wird. Die Variable Wert wird auch verwendet, um den Ausgabedatei-Namen der Variable Ausgabe-Cluster-Feature-Class mithilfe der direkten Variablenersetzung zu erstellen.

Mehrere Werte iterieren

Das Werkzeug Mehrere Werte iterieren wird über eine Werteliste iteriert.

In der folgenden Abbildung wird mit dem Modell die Kartenprojektion von mehreren, in anderen Laufwerken und Workspaces gespeicherten Feature-Classes geändert. Die projizierten Ausgabe-Feature-Classes werden in eine einzelne Ausgabedatenbank geschrieben.

Verwendung von "Mehrere Werte iterieren"

Für das Werkzeug gibt es eine Ausgabe: Der Wert, der aus einer Reihe von Feature-Classes besteht, die dem Werkzeug Projizieren als Eingabe zugeordnet sind.

Datasets iterieren

Das Werkzeug Datasets iterieren durchläuft Datasets in einem Workspace oder Feature-Dataset.

In der Abbildung unten werden alle Feature-Datasets in der Variable Eingabe-Dataset (einer Workspace-Variable) kopiert. Die Iteration wurde eingeschränkt, um nur den Feature-Dataset-Typ zu durchlaufen.

Verwendung von "Datasets iterieren"

Das Werkzeug hat zwei Ausgaben:

  • Dataset (Land und Verkehr).
  • Die Variable Name, die als direkte Variable %Name% in der Ausgabe des Werkzeugs Kopieren verwendet wird.

Feature-Classes iterieren

Das Werkzeug Feature-Classes iterieren durchläuft Feature-Classes in einem Workspace oder Feature-Dataset.

In der Abbildung unten wird die Bevölkerungsdichte für die Feature-Classes Blocks und Parcels in der Variable Eingabe-Feature-Classes ermittelt.

Verwendung von "Feature-Classes iterieren"

Die Iteration wurde durch die Auswahl des Polygon-Feature-Typs eingeschränkt. Daher durchläuft der Iterator nur die Polygon-Feature-Classes Blocks und Parcels.

Das Werkzeug hat zwei Ausgaben:

  • Die Ausgabe-Feature-Class-Variable ("Blocks" und "Parcels") ist mit dem Werkzeug Feld hinzufügen als Eingabe verbunden.
  • Die Variable Name (in diesem Beispiel "Block" und "Parcel"), die als direkte Variable %Name% in anderen Werkzeugen verwendet werden kann.

Dateien iterieren

Das Werkzeug Dateien iterieren durchläuft Dateien in einem Ordner.

In der Abbildung unten enthält die Variable Eingabeordner eine Liste von Textdateien, die in ein Raster konvertiert werden sollen. Die Iteration wurde durch den Platzhalter f* und die Dateierweiterung .txt eingeschränkt. Damit werden nur Dateien durchlaufen, die mit dem Buchstaben f oder F beginnen und den Typ "Text" aufweisen.

Verwendung von "Dateien iterieren"

Das Werkzeug hat zwei Ausgaben:

  • Die Variable Datei (focaldem1.txt, focaldem2.txt oder focaldem3.txt) ist als Eingabe mit dem Werkzeug ASCII in Raster verbunden.
  • Die Variable Name, die den Namen der Textdatei (focaldem1, focaldem2 oder focaldem3) enthält. Die Variable Name wird in der Ausgabe des nächsten Werkzeugs als direkte Variable %Name% verwendet.

Layer iterieren

Das Werkzeug Layer iterieren durchläuft Layer in einer Karte.

In der Abbildung unten enthält die Variable Eingabekarte eine Liste von Layern, die projiziert werden sollen. Bei der Iteration werden nur Punkt-Feature-Layer in der Karte durchlaufen. Die Ausgabe des Werkzeugs Layer iterieren wird mit dem Werkzeug Wenn Koordinatensystem gleich anhand eines definierten Koordinatensystems getestet. Wenn das Koordinatensystem eines Layers nicht mit dem definierten Koordinatensystem übereinstimmt, ändert sich der Wert der Ausgabevariablen False in "True", und das verbundene Werkzeug Projizieren wird ausgeführt und projiziert den eingehenden Layer auf ein angegebenes Koordinatensystem.

Verwendung von "Layer iterieren"

Zeit iterieren

Das Werkzeug Zeit iterieren durchläuft die Zeit in einem Datumsfeld.

Die Eingabetabelle im folgenden Beispiel enthält die Niederschlagsdaten von 1981 bis 2020, trockene Tage ausgenommen. Das Werkzeug Zeit iterieren teilt die Eingabedaten anhand des Feldes Date in monatliche Zeitintervalle ein. Aus den ausgewählten Zeilen für jeden Monat werden mit dem Werkzeug Summenstatistik der durchschnittliche Niederschlag und die Anzahl der Regentage berechnet. Das Werkzeug Feld berechnen fügt den formatierten Wert Startzeit jeder Iteration mithilfe der direkten Variablenersetzung zur Summentabelle hinzu. Die Summentabelle jedes Monats wird angehängt, und mit dem Werkzeug Anhängen wird eine einzelne Tabelle erstellt.

Verwendung von "Zeit iterieren"

Die Eingabetabelle im folgenden Beispiel enthält die Tornado-Daten von 2000 bis 2018. Das Modell fasst die Häufigkeit von Tornados nach Magnitude für die Monate Mai und Juni für eine Teilmenge von Daten zwischen den Jahren 2008 und 2018 zusammen. Das Werkzeug Zeit iterieren teilt die Eingabedaten anhand des Feldes Date in jährliche Zeitintervalle ein. Das Werkzeug grenzt den Datenbereich auf der Grundlage der in den Parametern Startzeit der Iteration, Endzeit der Iteration und Zeitdefinition definierten Werte ein. Die Tornados werden mit dem Werkzeug Summenstatistik zusammengefasst, und das Werkzeug Feld berechnen fügt das Jahr zur Ausgabe hinzu. Abschließend werden die jährlichen Ausgaben in einer einzelnen Tabelle angehängt.

Werkzeug "Zeit iterieren" mit dem Parameter "Zeitdefinition" verwenden

Raster iterieren

Das Werkzeug Raster iterieren durchläuft Raster in einem Workspace.

In der Abbildung unten wird ein Resampling von Grid-Datasets durchgeführt und eine Teilmenge zur weiteren Analyse extrahiert.

Verwendung von "Raster iterieren"

Die Variable Eingabe-Raster ist ein Ordner, der Grids, Bilder und .tiff-Dateien umfasst. In diesem Fall wurde die Iteration durch den Platzhalter A* und den Raster-Typ "Grid" eingeschränkt. Damit werden nur Raster durchlaufen, die mit dem Buchstaben a oder A beginnen und den Typ "Grid" aufweisen.

Das Werkzeug hat zwei Ausgaben:

  • Die Ausgabevariable Raster (Aland, Aparcel und Aroad) ist als Eingabe mit dem Werkzeug Resampling verbunden.
  • Die Variable Name, die im Ausgabenamen der Werkzeuge Resampling und Subdataset extrahieren als direkte Variable %Name%. verwendet wird.

Tabellen iterieren

Das Werkzeug Tabellen iterieren durchläuft Tabellen in einem Workspace.

Tabellen iterieren (dBASE-Tabellen)

In der folgenden Abbildung werden mit dem Modell die Landnutzungstabellen der einzelnen Bundesstaaten mit einem Landnutzungstyp umgruppiert und die Statistiken – wie die Summe der Fläche – für jede Landnutzungsklasse zusammengefasst.

Verwendung von "Tabellen iterieren"

Die Variable Eingabe-Workspace ist ein Ordner, der die Tabellen enthält. Die Iteration wurde durch den Platzhalter L* und die Dateierweiterung und den Tabellentyp dBASE eingeschränkt. Damit werden nur dBASE-Tabellen durchlaufen, die mit dem Buchstaben l oder L beginnen.

Das Werkzeug hat zwei Ausgaben:

  • Die Variable Ausgabetabelle (Landcover_Arizona, Landcover_California und Landcover_Nevada) ist mit dem Werkzeug Pivot-Tabelle als Eingabe verbunden.
  • Die Variable Name, die als indirekte Variable %Name% in den Ausgabenamen der Werkzeuge Pivot-Tabelle und Summenstatistik verwendet wird.

Tabellen iterieren (Excel-Tabellen)

In der Abbildung unten durchläuft das Modell alle Arbeitsblätter in einer Excel-Tabelle und exportiert sie in eine Geodatabase. Die Excel-Eingabetabelle dient dem Iterator als Workspace. Das Werkzeug erstellt einen Ausgabepfad zu einzelnen Arbeitsblättern im Excel-Workspace und gibt auch den Namen des Arbeitsblattes zurück, der als Inline-Variable für den Ausgabenamen des Werkzeugs Tabelle exportieren verwendet wird.

"Tabellen iterieren" mit

Tabellen iterieren (CSV-Tabellen)

Im folgenden Beispiel durchläuft das Werkzeug Tabellen iterieren einen Ordner mit .csv-Dateien. Das Werkzeug erstellt einen Ausgabepfad zu einzelnen .csv-Dateien und gibt auch den Namen der .csv-Datei zurück, der als Inline-Variable für den Ausgabenamen des Werkzeugs XY-Tabelle in Punkt verwendet werden kann. Das Werkzeug XY-Tabelle in Punkt übernimmt die XY-Koordinaten aus jeder .csv-Datei und erstellt eine entsprechende Feature-Class.

"Tabellen iterieren" mit CSV-Eingaben verwenden

Workspaces iterieren

Das Werkzeug Workspaces iterieren durchläuft Workspaces in einem Ordner.

In der Abbildung unten wird ein Mosaik mit Rastern erstellt, die in einer Geodatabase namens Arizona gespeichert sind, die sich wiederum in einem Ordner befindet.

Verwendung von "Workspaces iterieren"

Die Iteration wurde durch den Platzhalter Ar* und den Workspace-Typ "File-Geodatabase" eingeschränkt, damit nur File-Geodatabases durchlaufen werden, deren Name mit den Buchstaben Ar beginnen.

Das Werkzeug hat zwei Ausgaben:

  • Die Variable Ausgabe-Workspace, die Arizona.gdb enthält, ist mit dem Werkzeug Workspace in Raster-Dataset als Eingabe verbunden.
  • Die Variable Name die als direkte Variable %Name% im Ausgabenamen der nachfolgenden Werkzeuge verwendet werden kann.