Présentation rapide de la création d'outils avec ModelBuilder

Le scénario relatif au modèle illustré dessous est le suivant : vous assemblez des données pour une zone d'étude spécifique, représentée par la variable StudyArea dans le modèle, et vous devez découper plusieurs jeux de données pour cette zone d'étude. Vous souhaitez ajouter un champ nommé STATUS à chaque jeu de données que vous découpez et calculer ce champ par rapport à la valeur initiale 1. En réalité, vous pouvez ajouter plusieurs champs et calculer leurs valeurs mais, pour ce scénario simple, seul le champ STATUS est concerné.

Le modèle ci-dessous effectue plusieurs tâches (découpage, ajout d'un champ et calcul de ce champ), mais les données à assembler sont réparties sur plusieurs cartes et géodatabases. Vous vous trouvez confronté au problème de workflow suivant : chaque fois que vous souhaitez exécuter le modèle, vous devez l'ouvrir dans ModelBuilder et attribuer un autre jeu de données à l'entrée Clip émanant de Soils.

Exemple de modèle

Au lieu d'ouvrir ModelBuilder chaque fois que vous souhaitez traiter votre jeu de données, ne serait-il pas préférable d'exécuter le modèle à l'aide de la boîte de dialogue de l'outil, en indiquant le nom du jeu de données en entrée en faisant glisser une couche ou un jeu de données vers cette boîte de dialogue, de la même manière que vous le feriez avec un outil système ? Mais lorsque vous ouvrez la boîte de dialogue de l'outil, le message Cet outil n'a pas de paramètres s'affiche (comme illustré ci-dessous). Vous vous trouvez donc dans l'impossibilité d'entrer les jeux de données que vous souhaitez traiter.

Boîte de dialogue de l'outil de modèle

Ce modèle pose un autre problème : vous ne pouvez pas l'utiliser dans un autre modèle. L'ajout de l'outil à un nouveau modèle, en vue de relier la sortie du modèle à l'outil Identité, est illustré ci-dessous. Aucune connexion ne peut être établie, car l'outil Clip to study area and add field ne possède aucune sortie pouvant être reliée à l'outil Identité.

L'outil de modèle ne peut pas être utilisé dans un autre modèle, car il ne possède pas de paramètres en sortie.

Des paramètres de modèle comme solution

Vous pouvez résoudre les problèmes mentionnés dans les deux cas de figure ci-dessus en créant des paramètres de modèle. Pour créer un paramètre de modèle, cliquez avec le bouton droit sur une variable de modèle et choisissez Paramètre du modèle. Dans l'illustration ci-dessous, les variables Soils et Soils_Clip (3) ont été converties en paramètres de modèle. La lettre P qui figure à côté de la variable indique qu'il s'agit d'un paramètre de modèle.

Modèle avec variables de paramètres de modèle

Lorsque la boîte de dialogue de l'outil de modèle s'ouvre, vous pouvez modifier le paramètre Soils en couche ou jeu de données sur la végétation. Vous pouvez également attribuer un autre nom au jeu de données en sortie. Lorsque vous cliquez sur OK, l'outil s'exécute avec les données fournies.

Boîte de dialogue indiquant les paramètres

Notez que la variable du modèle StudyArea n'a pas été convertie en paramètre. Comme la zone d'étude ne change jamais, il n'est pas nécessaire de la convertir en paramètre.

ApprofondissementApprofondissement :
Dans ce modèle, la variable StudyArea contient un jeu de données (D:\EastValley\Data\collect.gdb\studyarea) au lieu du nom de la couche. Si la variable StudyArea figure dans le nom de la couche, l'outil ne s'exécute alors pas en arrière-plan. Vous devez désactiver le traitement en arrière-plan, comme indiqué dans la rubrique Traitement de premier plan et en arrière-plan.

Renommage des paramètres

Le fait que le nom des paramètres ne soit pas très descriptif pose problème dans la boîte de dialogue de l'outil. A la place des noms de paramètres Soils et Soils_Clip (3), vous pouvez préférer des intitulés plus descriptifs, comme Classe d'entités en entrée et Classe d'entités en sortie. Pour renommer les paramètres dans la boîte de dialogue de l'outil, renommez les variables dans ModelBuilder, comme indiqué ci-dessous.

Modèle avec paramètres renommés

Lorsque vous ouvrez la boîte de dialogue de l'outil, le nom des paramètres est plus explicite :

Boîte de dialogue de l'outil avec les paramètres renommés

Effacement des paramètres

Les paramètres qui figurent dans la boîte de dialogue de l'outil sont préremplis avec des valeurs (dans ce cas Soils et E:\10DocModels\PortlandSmall.gdb\Soils_Clip). Si vous ouvrez l'outil dans ArcMap et qu'il n'existe aucune couche nommée Soils, une croix rouge s'affiche alors dans la boîte de dialogue pour indiquer une erreur. Même s'il ne s'agit pas d'un problème en tant que tel (vous avez toujours la possibilité de sélectionner une autre couche ou de rechercher un autre jeu de données), vous pouvez éviter ce message d'erreur en effaçant les variables du modèle, comme indiqué ci-dessous. Le modèle ne sera alors plus exécuté dans ModelBuilder, mais à partir de la boîte de dialogue de l'outil.

Modèle avec variables vides

Une fois les variables du modèle vides, la boîte de dialogue de l'outil n'indique plus de valeurs.

Boîte de dialogue de l'outil avec valeurs de paramètres vides

Utilisation de l'outil de modèle dans un autre modèle

Une fois que le modèle possède des paramètres, vous pouvez l'ajouter à ModelBuilder et relier sa sortie à l'entrée de l'outil Identité, comme illustré ci-dessous.

Utilisation d'un modèle dans un modèle

Récapitulatif

Pour pouvoir utiliser un modèle, vous devez créer des paramètres de modèle. Ces paramètres de modèle s'affichent dans la boîte de dialogue de l'outil. Le nom de la variable de modèle devient le nom du paramètre dans la boîte de dialogue de l'outil. Vous n'avez pas à convertir chaque variable de modèle en paramètre de modèle. Dans l'exemple ci-dessus, la variable StudyArea n'est pas un paramètre de modèle, car elle n'a pas besoin d'être modifiée.

La création de paramètres de modèle vous permet de convertir votre modèle en outil utile. Vous pouvez utiliser cet outil avec différentes données, l'ajouter à d'autres modèles et l'utiliser dans des scripts. Vous créerez petit à petit votre propre bibliothèque d'outils utiles que vous utiliserez dans des cas de figure que vous n'auriez jamais imaginés au départ. Vous pouvez décomposer de grands modèles complexes en modèles plus petits (et, par conséquent, plus gérables), en ajoutant la sortie d'un outil à l'entrée d'un autre outil.

Pour en savoir plus sur la création d'outils de modèle, consultez le didacticiel Création d'outils avec ModelBuilder.


7/10/2012