Skip to main content

Itérateurs

L’itération, parfois appelée boucle ou traitement par lots, consiste à répéter plusieurs fois un traitement avec plus ou moins d’automatisation. L’itération s’avère 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 traitement peut être exécuté plusieurs fois avec des données ou des paramètres différents dans chaque itération. De plus, l’itération que propose ModelBuilder est souple, car elle permet l’exécution répétitive d’un modèle entier ou d’un outil ou traitement individuel.

Cette vidéo a été créée avec ArcGIS Pro 3.7.
Remarque :
  • 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 ou modèle dans un modèle ou un modèle imbriqué qui contient uniquement l’itérateur et ajoutez-le comme outil de modèle au modèle principal.

  • Pour donner un nom unique à la sortie d’un outil connecté à un itérateur, utilisez la substitution de variables en ligne.

ModelBuilder comporte plusieurs itérateurs que vous pouvez utiliser pour itérer sur des valeurs, des jeux de données et des espaces de travail différents.

Itérateur

Description

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.

Iterate Datasets (Itérer sur les jeux de données)

Itère des types de jeux de données différents dans un espace de travail.

Iterate Feature Classes (Itérer sur les classes d’entités)

Itère sur les classes d’entités dans un espace de travail ou un jeu de classe d’entités.

Iterate Feature Selection (Itérer sur les sélections d’entités)

Itère sur les entités dans une classe d’entités.

Iterate Field Values (Itérer sur les valeurs de champ)

Itère chaque valeur d’un champ.

Iterate Fields (Itérer sur les champs)

Itère sur les champs d’une table

Iterate Files (Itérer sur les fichiers)

Itère des fichiers dans un dossier.

Iterate Layers (Itérer sur les couches)

Itère les couches dans une carte.

Iterate Multivalue (Itérer sur les valeurs multiples)

Itère une liste de valeurs.

Iterate Rasters (Itérer sur les rasters)

Itère des rasters dans un espace de travail.

Iterate Row Selection (Itérer sur une sélection d’enregistrements)

Itère sur les lignes d’une table.

Iterate Tables (Itérer sur les tables)

Itère des tables dans un espace de travail.

Iterate Time (Itérer sur le temps)

Itère sur le temps dans un champ de date.

Iterate Workspaces (Itérer sur les espaces de travail)

Itère sur les espaces de travail d’un dossier.

While (Tant que)

Itère jusqu’à ce qu’une condition devienne vraie ou fausse.

Ajouter et utiliser un itérateur

Pour ajouter un itérateur à votre modèle, cliquez sur ModelBuilder > Insert (Insérer) > Iterator (Itérateur) et choisissez un itérateur dans la liste.

Double-cliquez sur l’élément d’itérateur à afficher et modifiez ses paramètres. Vous trouverez ci-dessous une présentation et des explications concernant un itérateur courant, Iterate Feature Classes (Itérer sur les classes d’entités).

Iterate Feature Classes (Itérer sur les classes d’entités)

Elément

Description

Espace de travail

Espace de travail en entrée (par exemple, géodatabase) ou jeu de classes d’entités.

Caractère générique

Combinaison de * et d’autres caractères pour limiter les résultats. Par exemple, A* signifie que seules les classes d’entités commençant par A sont incluses. Ce paramètre est facultatif.

Type d’entités

Filtre de type d’entités qui aide à limiter les résultats. Les plus courants sont Point, Line et Polygon. Ce paramètre est facultatif.

Récursif

Détermine si l’itérateur doit ouvrir les sous-dossiers de l’espace de travail. Ce paramètre est facultatif.

Classe d’entités en sortie

Variable en sortie qui contient le chemin de la classe d’entités. Vous pouvez utiliser cette variable comme entrée de tous les outils de géotraitement acceptant des couches d’entités ou des classes d’entités.

Nom

Variable en sortie qui contient le nom de la classe d’entités. Il s’agit d’une chaîne.

L’outil Itérer dans des classes d’entités nécessite une valeur Input Workspace (Espace de travail en entrée) (la variable nommée Workspace (Espace de travail) dans le graphique ci-dessus), où toutes les classes d’entités devant faire l’objet d’une itération sont stockées. Trois paramètres supplémentaires, Wildcard (Caractère générique), Feature Type (Type d’entité) et Recursive (Récursif), permettent de restreindre les classes d’entités devant être itérées dans l’espace de travail et de contrôler l’itération dans les sous-dossiers de l’espace de travail.

L’outil Itérer dans des classes d’entités possède deux variables en sortie : une classe d’entités et le nom de la classe d’entités. La variable de classe d’entités peut être connectée à l’outil suivant pour le traitement, et la variable Name (Nom) peut être utilisée pour la substitution de variables en ligne.