Une variable qui contient une ou plusieurs variables s'appelle une variable de liste. Vous pouvez déclarer une ou plusieurs variables dans un modèle comme variable de liste. Pour convertir une variable en liste, procédez comme suit :
- Cliquez avec le bouton droit sur la variable.
- Cliquez sur Propriétés.
- Cliquez sur Une liste de valeurs, comme illustré ci-dessous :
L'ouverture de la variable de liste entraîne l'affichage de la grille de traitement par lots dans laquelle vous pouvez entrer les valeurs pour la variable. Une fois la variable de liste connectée à un outil, ce dernier, ainsi que tous les processus en aval (c'est-à-dire les processus qui dépendent de la sortie de l'outil), s'exécutent une fois pour chaque valeur de la variable de liste. Utiliser des variables de liste revient à utiliser un lot, si ce n'est que vous ne devez pas fournir de valeurs pour d'autres variables à valeur unique du modèle. L'utilisation de variables Liste exige que vous soyez familier avec l'utilisation de la grille de traitement par lots.
Exemple d'utilisation d'une variable de liste
L'exemple ci-dessous qui présente la variable de liste est un modèle Découper et Zone tampon simple.
Dans l'exemple, la variable Entité en entrée a été convertie en liste. En faisant de la variable Entité en entrée une variable de liste, les variables Entité découpée en sortie et Entité bufferisée en sortie sont automatiquement définies comme des variables de liste, car elles dépendent de la variable Entité en entrée. Dans l'exemple ci-dessous, l'outil Découper est ouvert et trois classes d'entités de découpage en entrée ont été ajoutées. Les paramètres Entités de découpage et Tolérance XY sont non disponibles (grisées) pour toutes les cellules à l'exception de la première cellule. Ceci est dû fait que la variable Découpage de zone d'étude n'est pas une liste, et il n'existe aucune variable pour le paramètre Tolérance XY. La valeur de la première cellule sera utilisée pour les trois entrées.
Le modèle est maintenant prêt à être exécuté dans ModelBuilder. Il s'exécute une fois pour chaque entrée contenue dans la variable de liste de la classe Input Feature.
Utilisation de la substitution de variable en ligne et de l'option de remplissage dans les listes
Lorsqu'une variable de liste en sortie est créée dans un modèle, vous pouvez utiliser le suffixe %i% pour la substitution de variable en ligne dans le nom en sortie. %i% ajoute le numéro de liste à la fin du nom en sortie. Si les entrées sont nombreuses, il peut être fastidieux de définir un nom en sortie unique pour chaque sortie dans une grille de traitement par lots ; à la place, vous pouvez utiliser l'option de remplissage et la substitution de variable en ligne comme illustré ci-dessous :
- Cliquez avec le bouton droit sur l'outil Découper pour ouvrir sa boîte de dialogue.
- Remplissez les cellules Entités en entrée et Entités de découpage.
- Dans la colonne Classe d'entités en sortie, cliquez sur la première cellule, définissez le chemin d'accès de la sortie, puis ajoutez le suffixe %i% au nom comme illustré ci-dessous.
- Après avoir défini le chemin d'accès et le nom de la première cellule, cliquez avec le bouton droit dans la cellule et cliquez sur Remplissage comme le montre la deuxième étape de l'illustration.