Créer un outil de script

Les outils de script sont des outils de géotraitement qui exécutent un script ou un fichier exécutable. Les outils de script permettent d'exécuter ces scripts depuis ArcGIS, à l'aide d'un outil de géotraitement comme interface de la fonctionnalité dans votre script. Lorsque vous créez un outil de script, vous spécifiez les paramètres dont votre script a besoin pour s’exécuter. Les paramètres les plus courants sont les jeux de données en entrée et en sortie, les noms de champ et les chaînes choisies dans une liste. Lorsque l'outil de script est exécuté, les valeurs de paramètre sont transmises à votre script et utilisées par votre script au cours de l'exécution.

Presque tous les outils de script exécutent un script Python (.py) qui utilise ArcPy, un site-package Python installé avec ArcGIS. ArcPy fournit l’accès à des outils de géotraitement ainsi qu’à des fonctions, des classes et des modules supplémentaires qui vous permettent de créer rapidement des processus simples ou complexes. Via ArcPy, votre script peut accéder à l’environnement de géotraitement d’ArcGIS qui offre des avantages, tels que la projection à la volée, la prise en charge d’un ensemble de sélection, la validation des entrées, l’émission de messages d’erreur et l’enregistrement d’un historique.

Tandis que la grande majorité des outils de script sont écrits dans Python, vous pouvez écrire un outil de script pour tout ce qui accepte des arguments. Vous pouvez par exemple créer un outil de script pour un fichier .r, .bat ou .exe qui accepte des arguments.

Les outils de script sont créés dans une boîte à outils. Pour créer un outil de script, cliquez avec le bouton droit sur une boîte d’outils dans la fenêtre Catalog (Catalogue), puis sélectionnez New (Nouveau) > Script.

Propriétés

Lorsque vous créez un outil de script, la page de propriété correspondante s’ouvre. Dans la page de propriétés de l’outil de script, vous pouvez définir différentes propriétés, par exemple :

  • Les paramètres généraux, tels que le nom de l'outil, la protection par mot de passe et l'emplacement du fichier de script source.
  • Les paramètres de l'outil, qui déterminent quels jeux de données en entrée, paramètres supplémentaires et jeux de données en sortie l'outil de script va afficher.
  • Le code de validation, qui vous permet de personnaliser la manière dont les paramètres de l’outil réagissent et interagissent avec les valeurs et les autres paramètres dans l’outil de script (par exemple, le changement d’une valeur en fonction de l’option sélectionnée pour un autre paramètre). Le code de validation est écrit dans Python.

Paramètres

La définition des propriétés des paramètres est une étape cruciale dans la création d'un outil de script. Dans la page Paramètres, chaque ligne représente un paramètre. Pour chaque paramètre, vous définissez un certain nombre de propriétés, telles que l’étiquette qui apparaît sur l’outil, le type de données que le paramètre accepte et si le paramètre est facultatif ou obligatoire. Vous devez au minimum entrer les paramètres Label (Étiquette), Name (Nom), Data Type (Type de données), Type et Direction.

PropriétéDescription

Étiquette

Nom du paramètre affiché sur l'outil.

Name (Nom)

Nom du paramètre lorsque l'outil de script est appelé en tant que fonction depuis un script Python différent.

Type de données

Type de données que le paramètre accepte. Ceci détermine le contrôle utilisé dans l'outil. Par exemple, si vous sélectionnez Couche d'entités, vous pouvez choisir une couche dans une carte active ou accéder à une classe d'entités.

Type

Les paramètres peuvent être obligatoires ou facultatifs. Si le paramètre est obligatoire, il doit avoir une valeur. Sinon, l'outil ne s'exécute pas. Si le paramètre est facultatif, l'outil peut s'exécuter sans spécifier de valeur.

Direction

Les paramètres peuvent être en entrée ou en sortie. Les paramètres en entrée représentent les données existantes à traiter ou les valeurs à utiliser au cours du traitement. Les paramètres en sortie représentent les données créées par l’outil ou les valeurs qui sont calculées.

Category

La saisie du nom d'une catégorie place le paramètre dans un groupe déroulant dans la boîte de dialogue de l'outil.

Filtre

Les filtres vous permettent de déterminer si seuls des types spécifiques d’un jeu de données, d’un fichier ou d’un champ, ou des valeurs spécifiques, ou des valeurs dans une plage constituent des entrées acceptables dans un outil. Vous pouvez par exemple filtrer un paramètre de classe d'entités de façon que seules les classes d'entités points soient acceptables. Vous pouvez également filtrer un paramètre de nombre afin que seules les valeurs comprises entre 1 et 10 soient acceptables.

Dependency (Dépendance)

Vous pouvez rendre un paramètre dépendant d'un autre. Par exemple, un paramètre de champ peut dépendre d'un paramètre de jeu de données. Cette dépendance vous permet de sélectionner un champ dans le jeu de données dépendant.

Par défaut

Une valeur est automatiquement définie pour le paramètre à l’ouverture de la boîte de dialogue de l’outil.

Environment (Environnement)

Un paramètre peut déduire sa valeur par défaut d'un environnement de géotraitement. Ainsi, si l’environnement de géotraitement spécifié est défini, la valeur est utilisée par défaut pour le paramètre donné à l’ouverture de la boîte de dialogue de l’outil.

Symbologie

Le chemin d'accès à un fichier de couche qui définit la symbologie du paramètre. Vous pouvez par exemple faire en sorte qu'un paramètre de jeu de données en sortie ait la même symbologie que celle du fichier de couche lorsque la sortie est créée et ajoutée à la carte.

Validation

Le bloc de code Python ToolValidator vous permet de mieux contrôler l'apparence, les comportements et les messages de votre outil de script. Vous pouvez modifier le code de validation directement dans la fenêtre des propriétés ou cliquer sur le bouton Ouvrir dans un éditeur de script pour ouvrir le code de validation dans votre éditeur de script préféré qui est configuré dans Options de géotraitement.


Dans cette rubrique
  1. Propriétés
  2. Paramètres
  3. Validation