Présentation rapide de l'utilisation des itérateurs

L'itération, parfois appelée boucle, consiste à répéter plusieurs fois un processus avec plus ou moins d'automatisation. L'itération s'avère très importante, car l'automatisation réduit le temps et l'effort requis pour effectuer des tâches répétitives. Grâce à l'itération qu'offre ModelBuilder, un processus peut être exécuté plusieurs fois avec des données ou des paramètres différents dans chaque itération. L'itération que propose ModelBuilder est également souple, car elle peut porter sur un modèle entier ou sur un outil ou un processus individuel.

Itérateur

Description

Pour

Exécute une itération sur une valeur de début et une valeur de fin en fonction d'une valeur donnée. Il se comporte comme tout itérateur Pour de n'importe quel langage de programmation/script. Il exécute l'itération sur un nombre défini d'éléments.

Tant que

Fonctionne exactement comme l'instruction "while" dans tout script/langage de programmation, et qui s'exécute tant qu'une condition est soit true, soit false pour l'entrée ou le jeu d'entrées.

Itérer la sélection d'entité

Itère des entités dans une classe d'entités.

Itérer la sélection de ligne

Itère les lignes d'une table.

Itérer les valeurs de champ

Itère chaque valeur d'un champ.

Itérer les valeurs multiples

Itère une liste de valeurs.

Itérer les jeux de données

Itère des jeux de données dans un espace de travail ou un jeu de données d'entité.

Itérer les classes d'entité

Itère des classes d'entités dans un espace de travail ou un jeu de données d'entité.

Itérer les fichiers

Itère des fichiers dans un dossier.

Itérer les rasters

Itère des rasters dans un espace de travail ou un catalogue d'images.

Itérer les tables

Itère des tables dans un espace de travail.

Itérer les espaces de travail

Itère les espaces de travail d'un dossier.

Fonctionnement d'un itérateur

Chaque itérateur est doté d'un ensemble de paramètres qui peuvent varier d'un itérateur à un autre, mais la structure globale de tous les outils d'itération est très similaire. Ci-dessous figure une explication d'un itérateur courant, à savoir Itérer les classes d'entité.

Fonctionnement d'un itérateur

L'itérateur Itérer les classes d'entité nécessite un espace de travail en entrée dans lequel toutes les classes d'entités à itérer sont stockées. Deux paramètres supplémentaires, Caractère générique et Type d'entité, permettent de restreindre les classes d'entités devant être itérées dans l'espace de travail :

Le paramètre Récursive permet de contrôler l'itération sur des classes d'entités dans des sous-dossiers de l'espace de travail.

Le paramètre Itérer les classes d'entité a deux variables en sortie : la classe d'entités en sortie et le nom de la classe d'entités. La classe d'entités en sortie peut être connectée à l'outil suivant pour le traitement, et la variable Nom peut être utilisée pour la substitution de variables en ligne. Par exemple, si l'outil Zone tampon a été ajouté au modèle, et si la variable Classe d'entités a été connectée à l'outil, chaque classe d'entités de l'espace de travail sera bufférisée.

Itérateur en entrée et en sortie

Vous trouverez ci-dessous une liste d'itérateurs et leurs entrées et leurs sorties associées. Plusieurs itérateurs ont une Valeur ou un Nom comme deuxième sortie, utilisable pour la substitution de variable en ligne.

Itérateur

Entrée

Sortie 1

Sortie 2

Pour

Valeurs

Valeur

-

Tant que

Valeurs

Valeur booléenne - Vrai ou Faux

-

Itérer la sélection d’entité

Entités

Entité

Valeur

Itérer la sélection de ligne

Table

Enregistrement

Valeur

Itérer les valeurs de champ

Table

Valeur du champ

-

Itérer les valeurs multiples

Valeurs

Valeur

-

Itérer les jeux de données

espace de travail ou jeu de données d'entité

Jeu de données

Nom

Itérer les classes d’entité

espace de travail ou jeu de données d'entité

Classe d'entités

Nom

Itérer les fichiers

Dossier

Fichier

Nom

Itérer les rasters

Espace de travail ou catalogue d’images

Jeu de données raster

Nom

Itérer les tables

Espace de travail

Table

Nom

Itérer les espaces de travail

Dossier

Espace de travail

Nom

RemarqueRemarque :

  • Un seul itérateur peut être utilisé par modèle. Les options d'ajout d'un autre itérateur sont désactivées si un itérateur existe dans le modèle.
  • Si un itérateur est ajouté à un modèle, tous les outils du modèle itèrent chaque valeur de l'itérateur. Si vous ne souhaitez pas exécuter chacun des outils que le modèle comprend pour chaque valeur itérée, créez un sous-modèle/modèle dans le modèle/modèle imbriqué qui contient uniquement l'itérateur et ajoutez-le comme outil de modèle dans le modèle principal.
  • Si un modèle contenant un itérateur est exporté vers un script Python, le script ne comprend pas la logique d'itération. Vous pouvez ajouter la logique de liste de Python au script pour obtenir un effet similaire.
  • L'utilisation d'un itérateur définit une valeur par défaut de -1 dans les options Itération des Propriétés du modèle, ce qui signifie que le modèle s'exécute un nombre illimité de fois ou correspond au nombre d'entrées d'un itérateur (et non à un nombre prédéfini).
  • La sortie d'un outil connecté à l'itérateur peut avoir (le cas échéant) un nom unique pour chaque itération afin d'éviter tout risque d'écrasement
    • en faisant appel à la variable système %n%, par exemple, C:\Scratch\scratch.gdb\output_%n%.
    • en faisant appel à la sortie Nom ou Valeur de l'itérateur utilisée dans le modèle comme variable en ligne, par exemple, C:\Scratch\scratch.gdb\output_%Name%, C:\Scratch\scratch.gdb\output_%Value%.
    • en faisant appel à une autre variable du modèle comme variable en ligne ; par exemple, avec une variable XYZ, le nom de la sortie peut être C:\Scratch\scratch.gdb\output_%Name%, C:\Scratch\scratch.gdb\output_%Value%. Cette variable ne doit pas contenir de valeur constante, mais une valeur qui change à chaque itération, pour éviter que le fichier ne soit écrasé à chaque itération.
  • Les sorties de l'outil avec l'option Ajouter à la carte activée sont ajoutées à l'affichage dans ArcMap à l'aide du nom de variable. Si vous souhaitez ajouter à la carte la sortie de chaque itération dans ArcMap avec le nom de l'outil en sortie plutôt que celui de la variable :
    1. Connectez la sortie à afficher à l'outil Recueillir des valeurs.
    2. Cliquez avec le bouton droit sur la sortie de Recueillir des valeurs et activez l'option Ajouter à la carte.
    3. Si le modèle est destiné à être exécuté à partir de la boîte de dialogue d'outil du modèle, définissez Recueillir des valeurs comme paramètre de modèle, car seuls les paramètres de modèle en sortie sont ajoutés à la carte.

HéritageHéritage :

Les itérateurs remplacent l'option des séries de la boîte de dialogue Propriétés du modèle qui était disponible dans les versions ArcGIS antérieures à la version 10.

En savoir plus

Thèmes connexes

5/10/2014