Présentation rapide de l'utilisation d'itérateurs pour l'itération (boucle)

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.

While

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 classes d'entités.

Itérer les classes d'entité

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

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 raster.

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

-

While

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 classes d'entités

Jeu de données

Nom

Itérer les classes d'entité

espace de travail ou jeu de classes d'entités

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

Name

Itérer les espaces de travail

Dossier

Espace de travail

Name

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 d'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 porter (le cas échéant) un nom unique pour chaque itération, pour éviter tout risque d'écrasement lors de
    • l'utilisation de la variable système %n%, par exemple, C:\Sctatch\scratch.gdb\output_%n%.
    • l'utilisation de la sortie Name ou Value de l'itérateur utilisée dans le modèle comme variable en ligne, par exemple, C:\Sctatch\scratch.gdb\output_%Name%, C:\Sctatch\scratch.gdb\output_%Value%.
    • l'utilisation d'une autre variable dans le modèle en tant que variable en ligne. Par exemple, si une variable XYZ est présente, le nom de la sortie peut être C:\Scratch\scratch.gdb\output_%XYZ%. (Cette variable ne doit pas utiliser une valeur constante.)
  • Les sorties de l'outil dont l'option Ajouter à l'affichage est activée sont ajoutées à l'affichage dans ArcMap à l'aide du nom de la variable. Si vous souhaitez ajouter les sorties de toutes les itérations à afficher dans ArcMap avec le nom de la sortie unique au lieu du nom de la variable, connectez la sortie à afficher à l'outil Recueillir les valeurs, puis cliquez avec le bouton droit sur la sortie de Recueillir les valeurs pour activer l'option Ajouter à la carte. Si vous lancez l'exécution d'un modèle à partir de la boîte de dialogue de l'outil, définissez la sortie de Recueillir les valeurs comme étant un paramètre de modèle, car seuls les paramètres de modèle de 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


7/10/2012