Exemples de substitution de variable en ligne avec les variables système ModelBuilder

ModelBuilder fournit deux variables système intégrées utilisables dans les workflows d'itération. Ces deux variables système contiennent le numéro d'itération courant et l'index de liste courant : %i% fait référence à la position dans la liste courante dans une variable de liste (la première position est nulle), et %n% fait référence à l'itération de modèle courante (la première itération est nulle).

Utilisation de la variable système %i% avec la substitution de variable en ligne

Pour les modèles qui exécutent un processus sur une liste d'entrées, lors de chaque exécution d'un processus, la sortie aura le même nom que celle du processus précédent et la sortie précédente est remplacée. Pour éviter de remplacer des sorties précédentes dans les itérations consécutives, ajoutez le suffixe %i% au nom en sortie afin que chaque sortie ait un nom unique qui indique sa position dans la liste d'entrées.

Utilisation de %i%

Utilisation de la variable système %n% avec la substitution de variable en ligne

%n% donne le numéro d'itération de modèle courant et est utilisé dans un modèle faisant l'objet d'une itération. Dans l'exemple ci-dessous, l'itérateur Pour est utilisé pour itérer un modèle à quatre reprises. La sortie générée par l'outil Zone tampon est utilisée comme entrée en feedback de l'outil. L'itérateur s'exécute dans le modèle qui crée une sortie à chaque itération. %n% est utilisé dans le nom en sortie de l'outil Zone tampon pour donner un nouveau nom à la sortie de chaque itération.

Utilisation de %n%

AttentionAttention :

Si vous utilisez %n% dans le nom en sortie d'un paramètre de modèle, et le modèle est exécuté à partir de sa boîte de dialogue d'outil dans ArcMap ou ArcCatalog. Le numéro d'itération de l'application est remplacé par %n%. Comme le numéro d'itération %n% de l'application est 0, l'outil de modèle échouera après une itération et le message d'erreur "ERREUR 000622: L'exécution a échoué (Outil). Les paramètres ne sont pas valides". Dans ce cas, vous devez ou modifier la variable afin qu'elle ne soit pas un paramètre de modèle ou supprimer %n% du nom en sortie.

Rubriques connexes


7/10/2012