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 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. La sortie de Pour est utilisée comme paramètre Distance de la zone tampon dans l’outil Zone tampon et dans le nom en sortie comme substitution de variables en ligne.

Utilisation de l’itérateur Pour dans ModelBuilder

Tant que

L’outil 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’outil Tant que assure l’exécution du modèle tant que le compte de lignes est différent de zéro.

Utilisation de l’itérateur Tant que dans ModelBuilder

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

L’outil 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 sur une sélection d’enregistrements

L’outil Itérer sur 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 sur une sélection d’enregistrements

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 Valeur, 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 sur les champs

L’outil Itérer sur 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 sur 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 ensuite transmis à l’outil Calculer un champ.

L’outil a deux sorties :

  • La variable Valeur est 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 sur les valeurs de champ

L’outil Itérer dans des 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 dans des 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 sur des valeurs multiples

L’outil 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 dans des 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 sur les jeux de données

L’outil Itérer dans des 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 dans des 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 sur les classes d’entités

L’outil Itérer dans des classes d’entités itère sur les classes d’entités d’un espace de travail ou d’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 sur les fichiers

L’outil Itérer dans des 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 dans des 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%.

Itérer sur les couches

L’outil 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 Itérer sur les couches est testée par rapport à un système de coordonnées défini à l’aide de l’outil 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 Faux devient Vrai et l’outil 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 sur le temps

L’outil Itérer sur le temps itère sur le temps dans un champ Date.

Dans l’exemple ci-dessous, la table en entrée comporte les données sur les précipitations de 1981 à 2020, hors jours sans pluie. L’outil Itérer sur le temps divise les données en entrée en tranches temporelles d’un mois à l’aide du champ Date. Dans les lignes sélectionnées pour chaque mois, les précipitations moyennes et le nombre de jours pluvieux sont calculés à l’aide de l’outil Résumés statistiques. L’outil Calculer un champ permet d’ajouter la valeur Heure de début formatée de chaque itération dans la table de synthèse à l’aide de la substitution de variables en ligne. La table de synthèse pour chaque mois est ajoutée pour générer une table unique à l’aide de l’outil Ajouter.

Procédure d’utilisation de l’outil Itérer sur le temps

Dans l’exemple ci-dessous, la table en entrée comporte les données sur les tornades, ainsi leur magnitude (force), de 2000 à 2018. Le modèle synthétise la fréquence des tornades en fonction de leur magnitude entre les mois de mai et de juin pour un sous-ensemble de données compris entre 2008 et 2018. L’outil Itérer sur le temps divise les données en entrée en tranches temporelles annuelles à l’aide du champ Date. L’outil confine la plage de données basées sur les valeurs définies dans les paramètres Début de l’itération, Fin de l’itération et Définition temporelle. Les tornades sont synthétisées à l’aide de l’outil Résumés statistiques ; l’outil Calculer un champ ajoute l’année à la sortie. Pour terminer, les sorties annuelles sont ajoutées à une table unique.

Utiliser l’outil Itérer sur le temps avec le paramètre Définition temporelle

Itérer sur les rasters

L’outil 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 dans des 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 sur les tables

L’outil Itérer des tables applique une itération à travers des tables dans un espace de travail.

Itérer sur les tables (tables dBASE)

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 dans des 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 sur les tables (tables Excel)

Dans l’image ci-dessous, le modèle applique une itération sur toutes les feuilles d’une table Excel et les exporte vers une géodatabase. La table Excel en entrée fait office d’espace de travail pour l’itérateur. L’outil crée un chemin en sortie pour accéder aux différentes feuilles de l’espace de travail Excel et renvoie également le nom de la feuille utilisée comme une variable en ligne pour le nom en sortie de l’outil Exporter la table.

Utiliser l’outil Itérer sur les tables avec l’entrée

Itérer sur les tables (tables CSV)

Dans l’exemple ci-dessous, l’outil Itérer sur les tables applique une itération dans un dossier contenant des fichiers .csv. L’outil crée un chemin en sortie pour accéder aux différents fichiers .csv et renvoie également le nom du fichier .csv pouvant servir de variable en ligne pour le nom en sortie de l’outil Table XY vers points. L’outil Table XY vers points prendr les coordonnées XY de chaque fichier .csv et crée une classe d’entités correspondante.

Utiliser Itérer sur les tables avec des entrées CSV

Itérer sur les espaces de travail

L’outil Itérer dans des 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 dans des 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 :