Exemples d'utilisation d'itérateurs dans ModelBuilder

Les itérateurs permettent d'effectuer un traitement par lot et aident à répéter un processus ou un ensemble de processus sur un ensemble d'entrées.

Pour

L’outil For (Pour) exécute une itération sur une valeur de début et une valeur de fin en fonction d’une valeur donnée.

Dans l’image ci-dessous, l’itérateur Pour est itéré d’une valeur de 500 à une valeur de 2 000, augmentant par incréments de 500. Le résultat de l’outil Pour est utilisé comme paramètre de Buffer Distance (Distance de la zone tampon) dans l’outil Zone tampon et dans le nom en sortie en tant que substitution de variable en ligne.

Utilisation de l’itérateur dans ModelBuilder

Tandis que

L’outil While (Tant que) procède à l’itération jusqu’à ce qu’une condition devienne vraie ou fausse.

Dans l’image ci-dessous, le modèle sélectionne tous les groupes d’îlots qui partagent une limite avec une zone d’intérêt, calcule sa population totale et crée une couche dans laquelle la population est en dessous d’une valeur de seuil (par exemple, une entreprise cherchant à atteindre un nombre de personnes déterminé pour des bons d’achat autour d’un groupe d’îlots spécifique). L’outil Compter recherche l’existence de sélections correspondant aux critères définis dans l’outil Générer une vue tabulaire. L’itérateur Pendant assure l’exécution du modèle tant que le compte de lignes est différent de zéro.

Utilisation de l’itérateur Pendant dans ModelBuilder

Itérer dans une sélection d’entités

L‘outil Iterate Feature Selection (Itérer dans une sélection d’entités) itère sur les entités d’une classe d’entités.

Dans l’image ci-dessous, le modèle calcule la part de la surface cartographique d’occupation du sol qui a été dévastée par le passage de cinq ouragans de catégorie 1 de 100 mètres d’envergure sur la côte Est. La variable Input Feature correspond à une classe d’entités de cinq chemins d’accès aux ouragans dans l’Atlantique, entourée d’une zone tampon de 100 mètres. La variable Raster en entrée correspond à un raster d’occupation du sol.

Procédure d’utilisation de l’outil Itérer dans une sélection d’entités

Dans cet exemple, le nom de l’ouragan sert de champ de regroupement pour faire la sélection, et l’entité sélectionnée sert d’entrée pour l’outil Statistiques zonales (table) pour générer une table en sortie contenant des statistiques sur l’occupation du sol dévasté suite au passage des ouragans.

L’outil Itérer dans une sélection d’entités possède deux sorties :

  • Entité sélectionnée (connectée en tant qu’entrée de l’outil Statistiques zonales (table)).
  • Variable Valeur, qui contient le nom de l’entité (selon le champ de regroupement) utilisée en tant que variable en ligne dans le nom en sortie de la variable Table en sortie.

Itérer dans une sélection d’enregistrements

L’outil Iterate Row Selection (Itérer dans une sélection d’enregistrements) itère sur les lignes d’une table.

Dans l’image ci-dessous, le modèle crée une ellipse d’écart pour les vols commis à différentes périodes de la journée (matin, après-midi, soir et nuit) pour dégager un modèle sous-jacent d’infraction.

Procédure d’utilisation de l’outil Itérer la sélection de ligne

La variable Classe d’entités en entrée est une classe d’entités qui contient des points d’infractions de vandalisme. Elle contient le champ Crime_Peri (période d’infraction), qui correspond au moment où l’infraction a été commise dans la journée (Matin, Après-midi, Soir et Nuit). Ce champ sert de champ de regroupement pour faire la sélection. Les lignes sélectionnées permettent de créer une ellipse de l'écart type en sortie.

L'outil a deux sorties :

  • La variable Sélection de ligne qui contient les lignes sélectionnées pour une période d’infraction unique. Ces lignes servent d’entrée à l’outil Distribution directionnelle (Ellipse d’écart type).
  • La variable Value, qui contient la valeur du champ de regroupement (matin, après-midi, soir ou nuit). Cette valeur est utilisée comme variable en ligne dans le nom en sortie de la variable Ellipse d’écart type.

Itérer les champs

L’outil Iterate Fields (Itérer les champs) itère sur les champs d’une table.

Dans l’image ci-dessous, le modèle utilise l’outil Calculer des champs pour convertir les valeurs nulles de plusieurs champs en zéro.

Procédure d’utilisation de l’outil Itérer les champs

La variable de couche d’entité Incidents possède des champs uniques affichant le décompte des incidents par date. Certains des champs présentent des valeurs manquantes stockées en tant que valeurs nulles. Dans ce cas, l’outil Itérer les champs est utilisé pour filtrer les jours en fonction d’un caractère générique et d’un sous-ensemble d’une liste de champs filtrés. Chaque champ est alors transmis à l’expression de l’outil Sélectionner une couche par attributs et les enregistrements sélectionnés sont alors transmis à l’outil Calculer des champs.

L’outil a deux sorties :

  • La variable Valeur connectée comme nom de champ en entrée à l’outil Sélectionner une couche par attributs. La variable Décompte conserve un nombre total de champs sur lesquels effectuer une itération.

Itérer dans des valeurs de champ

L’outil Iterate Field Values (Itérer les valeurs de champ) itère sur chaque valeur d'un champ.

Dans l’image ci-dessous, le modèle utilise l’outil Analyse de grappes et de valeurs aberrantes pour le nombre de personnes en dessous de la ligne de pauvreté dans chaque pays pour comparer les résultats à différentes distances. Ces distances sont enregistrées en tant que champ Distance dans la variable Table en entrée.

Procédure d’utilisation de l’outil Itérer les valeurs de champ

Notez que dans la boîte de dialogue Itérer les valeurs de champ, l’option Unique Values (Valeurs uniques) est sélectionnée par défaut pour exécuter une itération sur chaque valeur unique dans une table. La désactivation de l’option Unique Values (Valeurs uniques) permet d’exécuter une itération pour chaque valeur dans le champ, et la valeur en sortie est répétée si le champ en entrée contient des valeurs en double.

Itérer les valeurs de champ a une sortie : la variable Valeur contenant la valeur du champ, qui est utilisée en tant que paramètre Distance Band or Threshold distance (Canal distance ou distance seuil) de l’outil Analyse de grappes et de valeurs aberrantes. La variable Valeur permet également de créer le nom de fichier en sortie de la variable Classe d’entités de grappe en sortie avec l’utilisation de la substitution de variable en ligne.

Itérer dans des valeurs multiples

L’outil Iterate Multivalue (Itérer dans des valeurs multiples) itère sur une liste de valeurs.

Dans l’image ci-dessous, le modèle modifie la projection cartographique de plusieurs classes d’entités stockées dans différents lecteurs et espaces de travail. Les classes d'entités en sortie projetées sont écrites dans une base de données en sortie unique.

Procédure d’utilisation de l’outil Itérer les valeurs multiples

L’outil a une sortie : la valeur, qui est une chaîne des classes d’entités connectées à l’outil Projet comme entrée.

Itérer dans des jeux de données

L’outil Iterate Datasets (Itérer les jeux de données) itère sur les jeux de données d’un espace de travail ou un jeu de classes d’entités.

Dans l’image ci-dessous, le modèle copie tous les jeux de données d’entité contenus dans la variable Jeu de données en entrée, une variable d’espace de travail. L'itération a été restreinte à une exécution uniquement sur le type de jeu de données d'entité.

Procédure d’utilisation de l’outil Itérer les jeux de données

L'outil a deux sorties :

  • Jeu de données (Terrestre et Transports).
  • Nom, utilisé comme la variable en ligne %Nom% dans la sortie de l’outil Copier.

Itérer dans des classes d'entités

L’outil Iterate Feature Classes (Itérer dans des classes d’entités) itère dans les classes d’entités d’un espace de travail ou un jeu de classes d’entités.

Dans l’image ci-dessous, le modèle recherche la densité de population des classes d’entités Blocks et Parcels dans la variable Classes d’entités en entrée.

Procédure d’utilisation de l’outil Itérer dans des classes d’entités

L’itération a été restreinte au type d’entités surfaciques. Par conséquent, l’itérateur exécute une itération uniquement sur les classes d’entités surfaciques Blocks et Parcels.

L'outil a deux sorties :

  • La variable Classe d’entités en sortie (Blocks et Parcels) connectée à l’outil Ajouter un champ comme entrée.
  • La variable Nom (Blocks et Parcels, dans cet exemple), qui pourrait être utilisée comme la variable en ligne %Nom% dans d’autres outils.

Itérer dans des fichiers

L’outil Iterate Files (Itérer les fichiers) itère sur les fichiers d’un dossier.

Dans l’image ci-dessous, la variable Dossier en entrée possède une liste de fichiers texte à convertir en raster. L’itération a été restreinte avec le caractère générique f * et l’extension de fichier .txt pour que l’outil exécute une itération uniquement sur les fichiers de type texte, dont le nom commence par la lettre f ou F.

Procédure d’utilisation de l’outil Itérer les fichiers

L'outil a deux sorties :

  • La variable Fichier (focaldem1.txt, focaldem2.txt ou focaldem3.txt) connectée en tant qu’entrée à l’outil ASCII vers raster.
  • La variable Nom contenant le nom du fichier texte (focaldem1, focaldem2 ou focaldem3). Cette variable Nom est utilisée en sortie du prochain outil comme une variable en ligne %Nom%.

Iterate Layers (Itérer sur les couches)

L’outil Iterate Layers (Itérer sur les couches) itère sur les couches d’une carte.

Dans l’image ci-dessous, la variable Input Map (Carte en entrée) affiche une liste de couches à projeter. L’itération est restreinte aux couches d'entités ponctuelles de la carte. La sortie de l’outil Iterate Layers (Itérer sur les couches) est testée par rapport à un système de coordonnées défini à l’aide de l’outil If Coordinate System Is (Système de coordonnées égal à). Si le système de coordonnées d’une couche ne correspond pas au système de coordonnées défini, la valeur de la sortie False (Faux) devient true (vrai) et l’outil Project (Projeter) est exécuté pour projeter la couche entrante sur un système de coordonnées spécifié.

Procédure d’utilisation de l’outil Iterate Layers (Itérer sur les couches)

Itérer dans des rasters

L’outil Iterate Rasters (Itérer dans des rasters) itère sur les rasters d’un espace de travail.

Dans l’image ci-dessous, le modèle ré-échantillonne des jeux de données de grille et extrait un sous-ensemble pour une analyse approfondie.

Procédure d’utilisation de l’outil Itérer les rasters

La variable Rasters en entrée est un dossier qui contient des grilles, des images et des fichiers TIFF. Dans ce cas, l’itération a été restreinte avec le caractère générique A* et le type raster Grille pour que l’outil exécute une itération uniquement sur les rasters de grille, dont le nom commence par la lettre a ou A.

L'outil a deux sorties :

  • La variable Raster en sortie (Aland, Aparcel et Aroad) connectée en tant qu’entrée à l’outil Ré-échantillonner.
  • La variable Nom, utilisée dans le nom en sortie des outils Ré-échantillonner et Extraire le sous-ensemble comme la variable en ligne %Nom%.

Itérer dans des tables

L’outil Iterate Tables (Itérer les tables) itère sur les tables d’un espace de travail.

Dans l’image ci-dessous, le modèle transpose des tables d’occupation du sol de chaque État avec un type d’occupation du sol et récapitule les statistiques, comme la somme de la surface, pour chaque classe d’occupation du sol.

Procédure d’utilisation de l’outil Itérer les tables

La variable Espace de travail en entrée est un dossier qui contient les tables. L’itération a été restreinte avec le caractère générique L * et le type de table dBASE afin que l’itération porte uniquement sur les tables dBASE dont le nom commence par la lettre l ou L.

L'outil a deux sorties :

  • La variable Table en sortie (Landcover_Arizona, Landcover_California et Landcover_Nevada) connectée à l’outil Table croisée en entrée.
  • La variable Nom, utilisée comme une variable en ligne %Nom% dans les noms en sortie des outils Table croisée et Résumés statistiques.

Itérer dans des espaces de travail

L’outil Iterate Workspaces (Itérer les espaces de travail) itère sur les espaces de travail d'un dossier.

Dans l’image ci-dessous, le modèle crée une mosaïque à l’aide de rasters stockés dans une géodatabase nommée Arizona, stockée à l’intérieur d’un dossier.

Procédure d’utilisation de l’outil Itérer les espaces de travail

L’itération a été restreinte avec le caractère générique Ar * et le type d’espace de travail de géodatabase fichier afin que l’itération porte uniquement sur les géodatabases fichier dont le nom commence par les lettres Ar.

L'outil a deux sorties :