Définir les paramètres des outils de script

Presque tous les outils possèdent des paramètres. Vous pouvez définir leurs valeurs dans la fenêtre Geoprocessing (Géotraitement) ou dans un script. Lorsque l’outil est exécuté, les valeurs des paramètres sont envoyées à son code source. L’outil lit ces valeurs et les traite en conséquence.

En savoir plus sur les paramètres d’outil de script

Les paramètres d’un outil de script peuvent être définis à sa création. Vous pouvez également ajouter, supprimer et modifier les paramètres d’un outil de script dans la boîte de dialogue Properties (Propriétés) d’un outil. Pour accéder aux propriétés d’un outil de script, cliquez avec le bouton droit sur l’outil, cliquez sur Properties (Propriétés), puis sur l’onglet Parameters (Paramètres).

Pour ajouter un paramètre, cliquez sur la première cellule vide figurant dans la colonne Label (Étiquette) et saisissez le nom du paramètre. Il s’agit du nom qui apparaîtra dans la fenêtre Geoprocessing (Géotraitement) ; il peut contenir des espaces. Dans la colonne Name (Nom), un nom de paramètre par défaut est créé en fonction de la valeur de Label (Étiquette) ; ce nom peut être modifié. Le nom du paramètre est nécessaire à la syntaxe Python et est validé (y compris la suppression des espaces).

Onglet Properties (Propriétés) avec les propriétés de l’outil de script

Après avoir indiqué le nom d’affichage du paramètre, choisissez le type de données du paramètre en cliquant dans la cellule Data Type (Type de données), comme illustré ci-dessous.

Types de données des paramètres

Pour créer un paramètre qui accepte plusieurs valeurs, cochez la case Multiple values (Valeurs multiples). Pour créer un paramètre qui accepte des types de données différents (à savoir, un type de données composite), cliquez sur le bouton Add (Ajouter) Ajouter.

Chaque paramètre comporte des propriétés supplémentaires qu’il est possible de définir, comme indiqué précédemment et décrit ci-après.

PropriétéDescription

Type

Les options sont Required (Requis), Optional (Facultatif) et Derived (Dérivé). Dérivé signifie que l’utilisateur de l’outil ne saisit pas de valeur pour le paramètre. Les types Derived sont toujours des paramètres en sortie.

Itinéraire

Les options sont Input (Entrée) et Output (Sortie). Si la propriété Type est définie sur Derived (Dérivé), la direction a toujours pour valeur Output (Sortie).

Description

Aide du document sur chaque paramètre de l’outil, notamment des instructions, des informations et les types de données ou valeurs acceptables. Les descriptions de paramètres s’affichent dans la boîte de dialogue de l’outil lorsque vous positionnez le curseur sur le bouton d’informations Informations situé à côté de l’étiquette de chaque paramètre.

Catégorie

Les paramètres peuvent être classés en différentes catégories.

Filtrer

Si vous voulez n’autoriser la saisie que de certains jeux de données ou certaines valeurs pour un paramètre, vous pouvez spécifier un filtre. Il existe six types de filtres. Les types disponibles dépendent du type de données du paramètre.

Dépendance

Cette propriété s’applique aux types de données des paramètres en entrée et en sortie. Pour les paramètres en sortie dérivés, cette propriété peut être définie sur le paramètre contenant la définition de la sortie. Quant aux paramètres en entrée, définissez-la sur le paramètre contenant les informations nécessaires en entrée.

Par défaut

La valeur par défaut du paramètre. Lorsque le type de données du paramètre est soit jeu d’entités, soit jeu d’enregistrements, cette propriété permet de définir la structure du paramètre.

Environnement

Si la valeur par défaut du paramètre doit provenir d’un paramètre d’environnement, cette propriété contient le nom de celui-ci.

Symbologie

Cette propriété s’applique seulement aux paramètres en sortie. La valeur désigne l’emplacement d’un fichier de couche (.lyrx) qui contient la symbologie permettant d’afficher la sortie.

Propriétés du paramètre

Type

Définissez la propriété Type sur l’une des options suivantes :

  • Required (Obligatoire) : le paramètre doit avoir une valeur pour que l’outil puisse s’exécuter.
  • Optional (Facultatif) : le paramètre ne requiert aucune valeur.
  • Derived (Dérivé) : utilisez les paramètres dérivés dans les cas suivants :
    • La sortie est identique à l’entrée. Par exemple, l’outil Calculer un champ met à jour les valeurs d’un champ particulier dans la table en entrée. Il ne crée pas une nouvelle table et ne modifie pas la structure de l’entrée.
    • L’outil modifie la structure de l’entrée. Par exemple, l’outil Ajouter un champ ajoute un champ dans la table en entrée.
    • L’outil produit une valeur scalaire telle qu’un nombre, une chaîne ou une valeur booléenne. Par exemple, l’outil Compter renvoie une valeur d’entier dérivée.
    • L’outil crée une sortie à partir de valeurs figurant dans d’autres paramètres. Par exemple, l’outil Créer une classe d’entités renvoie le chemin d’une classe d’entités dérivée, construite à partir d’autres paramètres pour lesquels le chemin et le nom possèdent des valeurs.
    • L’outil crée les données dans un emplacement connu. Ainsi, un script peut créer une classe d’entités dans un espace de travail connu. Ni la classe d’entités, ni l’espace de travail ne sont des options du paramètre.
Remarque :

Lorsqu’un outil met à jour un jeu de données ou une couche, l’outil doit inclure un paramètre en sortie dérivé avec une dépendance du paramètre définie vis-à-vis d’un paramètre en entrée. De cette manière, le géotraitement en arrière-plan multithread dans ArcGIS Pro identifie les couches de carte à déconnecter au cours du traitement pour se prémunir contre les erreurs de verrouillage de données et celles à reconnecter après traitement et à actualiser selon les propriétés mises à jour (sélections, jointures, etc.)

Remarque :

Si l’outil de script a une sortie dérivée, vous devez définir la valeur du paramètre en sortie dérivé dans le script à l’aide de la fonction SetParameterAsText ou SetParameter.

Valeurs en sortie à la place de données

Les exemples ci-avant décrivent la génération de jeux de données dérivés. Certains outils, toutefois, génèrent des valeurs au lieu de jeux de données. C’est le cas, notamment, de l’outil Compter qui produit un type de données Long indiquant le nombre de lignes dans une table. Il est courant de générer des valeurs plutôt que des jeux de données. Des scripts peuvent effectuer une analyse de plusieurs jeux de données associés et ne générer que quelques nombres ou une valeur booléenne de type réussite ou échec.

Les paramètres en sortie contenant des types de données Valeur (tels que Long ou Boolean (Booléen)) utilisent toujours l’option Derived (Dérivé) et non Required (Obligatoire).

Itinéraire

Cette propriété détermine si le paramètre est une entrée ou une sortie de l'outil.

Si le type du paramètre est Derived (Dérivé), la direction du paramètre est automatiquement définie sur Output (Sortie).

Tous les outils de script disposent de paramètres en sortie de manière à pouvoir les utiliser dans ModelBuilder. Les outils de ModelBuilder ont pour principe fondamental de connecter la sortie des outils aux entrées d’autres outils. Si l’outil de script n’a pas de paramètre en sortie, il ne présente pas d’intérêt dans ModelBuilder. La sortie peut être un jeu de données saisi comme la valeur d’un paramètre, une sortie dérivée pour laquelle l’emplacement ou le nom est déterminé dans le script ou encore une valeur dérivée qui est calculée ou déterminée. Au minimum, vous pouvez générer une valeur booléenne contenant la valeur True (Vrai) si l’outil a été correctement exécuté ou la valeur False (Faux) dans le cas contraire.

Description

Définissez la propriété Description pour chaque paramètre. La description s’affiche lorsque vous positionnez le curseur sur le bouton Information (Informations) Informations situé à côté de l’étiquette du paramètre correspondant.

Cliquez sur le bouton Edit Description (Modifier la description) Edit pour ouvrir la boîte de dialogue Parameter Description (Description du paramètre). Utilisez cette boîte de dialogue pour documenter les informations sur le paramètre. Elle propose des options de mise en forme de texte de base telles que l’attribut gras ou italique, les puces et les liens d’URL.

Catégorie

Les paramètres peuvent être classés dans différentes catégories ce qui permet de réduire la taille de la fenêtre Geoprocessing (Géotraitement) ou de regrouper des paramètres associés rarement utilisés. Vous pouvez indiquer un nouveau nom de catégorie ou en choisir un dans une liste si vous avez défini une catégorie pour d’autres paramètres. Plusieurs outils ArcGIS Network Analyst extension utilisent des catégories, comme indiqué dans l’image ci-dessous.

Catégories de paramètre

Les catégories sont affichées après les paramètres qui ne sont pas catégorisés. Ne placez pas les paramètres obligatoires dans des catégories, car ils ne sont pas visibles dans la fenêtre Geoprocessing (Géotraitement).

Valeurs multiples

Si vous souhaitez qu’un paramètre gère une liste de valeurs plutôt qu’une seule valeur, attribuez la valeur Yes (Oui) à la propriété MultiValue (Valeurs multiples).

Un exemple de contrôle à valeurs multiples est illustré ci-dessous.

Contrôle à valeurs multiples

Il est possible d’accéder aux valeurs multiples via des listes si vous utilisez la fonction arcpy.GetParameter et d’itérer sur ces valeurs à l’aide d’une boucle for. Vous pouvez également accéder aux valeurs multiples sous la forme d’une chaîne délimitée par des points-virgules à l’aide de la fonction arcpy.GetParameterAsText. Pour fractionner une chaîne délimitée, utilisez la méthode Python split illustrée dans l’exemple de code ci-après.

import arcpy
road_types = arcpy.GetParameterAsText(0)
road_list = road_types.split(";")

# Process each road type
for road_type in road_list:
  # road_type contains an individual road type string (ex: "Interstates")
  arcpy.AddMessage("Processing: {}".format(road_type))

Filtrer

Si vous souhaitez que certains types de jeux de données ou valeurs soient saisis pour un paramètre, vous pouvez spécifier un filtre. Cliquez sur la cellule qui appropriée figurant sous Filter (Filtre) et choisissez le type de filtre qui convient dans la liste déroulante. Une boîte de dialogue apparaît et vous permet d’indiquer les valeurs du filtre. Il existe dix types de filtres, décrits ci-dessous. Les types disponibles dépendent du type de données du paramètre.

Vous ne pouvez généralement choisir qu’un seul type de filtre. Seuls les types Long (Long) et Double (Double) possèdent des options : Value List (Liste de valeurs) et Range (Plage).

Vous pouvez également définir les filtres par programmation avec Python en personnalisant la classe ToolValidator d’un outil de script.

Unités de surface

Le filtre des unités de surface définit les types d’unités autorisées : Square Inches (Pouces carrés), Square Feet (Pieds carrés), Square Yards (Yards carrés), Acres, Square Miles (Milles carrés), Square Millimeters (Millimètres carrés), Square Centimeters (Centimètres carrés), Square Decimeters (Décimètres carrés), Square Meters (Mètres carrés), Ares, Hectares, Square Kilometers (Kilomètres carrés) etUnknown (Inconnu).

Type d'entités

Le filtre de type d’entité définit les types de classes d’entités autorisés : Point, Multipoint (Multi-point), Polygon (Polygone), Polyline (Polyligne), Annotation et Dimension. Il est possible d’indiquer plusieurs valeurs.

Pour ce filtre, sélectionnez une ou plusieurs valeurs de filtre. Les classes d'entités en entrée seront comparées aux valeurs de filtre. Par exemple, si vous spécifiez uniquement la valeur de filtre Point, l’utilisateur ne peut saisir que des classes d’entités ponctuelles comme valeur de paramètre.

Terrain

Le filtre de champ définit les types de champs autorisés : Short (Court), Long, Float (Flottant), Long (64-bit integer) (Long (entier de 64 bits)), Double, Text (Texte), Date, OID, Time only (Heure uniquement), Date only (Date uniquement), Timestamp with offset (Horodatage avec décalage), Geometry (Géométrie), Blob, Raster, GUID, GlobalID et XML. Il est possible d’indiquer plusieurs valeurs.

Fichier

Le filtre de fichier contient une liste des suffixes acceptés par un fichier, tels que txt (fichier texte simple) et csv (valeurs séparées par des virgules). Le suffixe peut correspondre à tout texte : il n’a pas besoin d’être reconnu par ArcGIS. La longueur du suffixe est illimitée et les points ne sont pas acceptés. Les différents suffixes sont séparés par un délimiteur de type point-virgule.

Unités linéaires

Le filtre des unités linéaires définit les types d’unités autorisées : Inches (Pouces), Points, Feet (Pieds), Yards, Miles (Milles), Nautical Miles (Milles nautiques), Millimeters (Millimètres), Centimeters (Centimètres), Meters (Mètres), Kilometers (Kilomètres), Decimal Degrees (Degrés décimaux), Decimeters (Décimètres), Degrees (Degrés) et Unknown (Inconnu). Il est possible d’indiquer plusieurs valeurs.

Plage

Le filtre Range (Plage) a deux valeurs : une valeur minimale et une valeur maximale. La plage est inclusive, les valeurs minimale et maximale sont donc des choix valides. Ce filtre peut être utilisé avec le paramètre Long ou Double.

Unités de temps

Le filtre des unités de temps définit les types d’unités autorisées : Milliseconds (Millisecondes), Seconds (Secondes), Minutes, Hours (Heures), Days (Jours), Weeks (Semaines), Months (Mois), Years (Années), Decades (Décennies), Centuries (Siècles) et Unknown (Inconnu). Il est possible d’indiquer plusieurs valeurs.

Type d’unité du mode de déplacement

Ce filtre permet de définir les types de modes de déplacement autorisés en fonction de l’unité de l’attribut d’impédance du mode de déplacement. Les options sont Time (Temps), Distance et Other (Autre). Par défaut, les trois types sont autorisés.

Liste de valeurs

Il est possible d’utiliser ce filtre pour indiquer un ensemble de mots-clés. De nombreux outils disposent d’un ensemble prédéfini de mots-clés, tels que le paramètre Field Type (Type de champ) figurant dans l’outil Ajouter un champ ou le paramètre Join Attributes (Attributs de jointure) de nombreux outils du jeu d’outils Superposition.

Le filtre Value List (Liste de valeurs) peut être utilisé pour les types de données Long et Double. Pour ces types, spécifiez les valeurs numériques autorisées.

Si vous voulez que l’utilisateur soit en mesure de sélectionner plusieurs valeurs, définissez la propriété Multivalue (Valeurs multiples) sur Yes (Oui).

Le filtre Value List (Liste de valeurs) peut être utilisé pour les types de données Boolean (Booléen). Pour les types de données Boolean (Booléen), le filtre Value List (Liste de valeurs) contient les valeurs true (vrai) et false (faux). La valeur true (vrai) est toujours la première valeur de la liste. Ces valeurs sont utilisées dans la ligne de commande pour spécifier la valeur. Pour avoir un exemple, reportez-vous à l’outil Ajouter un champ et aux mots-clés {NULLABLE | NON_NULLABLE} utilisés pour le paramètre field_is_nullable.

Espace de travail

Le filtre d'espace de travail spécifie les types d'espaces de travail en entrée autorisés. Les valeurs sont les suivantes :

  • File System (Système de fichiers) : un dossier système utilisé pour stocker des shapefiles, des couvertures, des tables INFO et des grilles
  • Local Database (Base de données locale) : géodatabase fichier ou personnelle
  • Remote Database (Base de données distante) : connexion à une base de données d’entreprise

Il est possible d’indiquer plusieurs valeurs.

Dépendance

La propriété Dependency (Dépendance) répond aux objectifs suivants :

  • Pour un paramètre en sortie dérivé, la propriété Dependency (Dépendance) est définie sur le paramètre en entrée qui sera modifié par l’outil. Pour plus d’informations sur les données dérivées et sur le filtre Dependency (Dépendance), reportez-vous à la section concernant la propriété Type ci-dessus.
  • Pour les paramètres en entrée, Dependency (Dépendance) contient le nom des autres paramètres utilisés par le type de données. Par exemple, pour le type de données d’un champ en entrée, Dependency (Dépendance) est défini sur le nom du paramètre de la table contenant les champs.

Le filtre Dependency (Dépendance) ne peut être défini que pour certains paramètres en entrée, comme indiqué dans le tableau ci-dessous.

Type de données des paramètresType de données des paramètres dépendants

Unité de surface

Un jeu de données géographiques utilisé pour déterminer les unités par défaut.

Par exemple, il est possible d’utiliser le type de données Feature Layer (Couche d’entités), Raster Layer (Couche raster), Feature Set (Jeu d’entités) ou Record Set (Jeu d’enregistrements).

Terrain

Table qui contient les champs.

Par exemple, il est possible d’utiliser le type de données Table View (Vue tabulaire), Feature Layer (Couche d’entités), Raster Layer (Couche raster), Feature Set (Jeu d’entités) ou Record Set (Jeu d’enregistrements).

Appariements de champs

Ensemble de champs dans une ou plusieurs tables en entrée.

Par exemple, il est possible d’utiliser le type de données Table View (Vue tabulaire), Feature Layer (Couche d’entités), Raster Layer (Couche raster), Feature Set (Jeu d’entités) ou Record Set (Jeu d’enregistrements).

Table de valeurs géostatistiques

Table de jeux de données et champs à utiliser dans les outils Geostatistical Analyst.

Utilisez le type de données Geostatistical Layer (Couche géostatistique).

Unité linéaire

Un jeu de données géographiques utilisé pour déterminer les unités par défaut.

Par exemple, il est possible d’utiliser le type de données Feature Layer (Couche d’entités), Raster Layer (Couche raster), Feature Set (Jeu d’entités) ou Record Set (Jeu d’enregistrements).

Paramètres de hiérarchie Network Analyst

Le jeu de données réseau qui contient les informations de hiérarchie.

Utilisez le type de données Network Dataset (Jeu de données réseau).

Mode de déplacement réseau

Liste des modes de déplacement.

Utilisez le type de données Network Data Source (Source de données réseau), Network Dataset (Jeu de données réseau) ou Network Dataset Layer (Couche de jeu de données réseau).

Expression SQL

Table qui contient les champs.

Par exemple, il est possible d’utiliser le type de données Table View (Vue tabulaire), Feature Layer (Couche d’entités), Raster Layer (Couche raster), Feature Set (Jeu d’entités) ou Record Set (Jeu d’enregistrements).

Types de données pour Dependency (Dépendance)

Pour un paramètre de table de valeurs, les colonnes de champ possèdent une dépendance implicite sur la première colonne de données d’une table de valeurs. La liste déroulante du paramètre pour toute colonne de champ suivante inclut automatiquement les champs disponibles dans les données.

Par défaut

La valeur par défaut correspond au contenu du paramètre à l’ouverture de l’outil de script. C’est également la valeur qui est utilisée si un # est entré pour le paramètre dans les scripts. Si vous ne spécifiez pas une valeur pour la propriété Default (Par défaut), la valeur du paramètre est vide lorsque l’outil est ouvert. Si vous spécifiez une valeur pour cette propriété, la propriétéEnvironment (Environnement) est désactivée. Pour activer la propriété Environment (Environnement), effacez la propriété Default (Par défaut).

Structure

Les types de données Feature Set (Jeu d’entités) et Record Set (Jeu d’enregistrements) permettent la saisie interactive des données. L’option Feature Set (Jeu d’entités) permet à l’utilisateur d’un script de créer de manière interactive des entités en cliquant sur la carte. L’option Record Set (Jeu d’enregistrements) permet à l’utilisateur de créer de façon interactive des lignes dans une grille tabulaire.

Si le type de données du paramètre en entrée est Feature Set (Jeu d’entités) ou Record Set (Jeu d’enregistrements), spécifiez l’emplacement d’une structure définissant les champs et le type de géométrie de l’entrée. Une structure peut être une classe d’entités, une table ou un fichier de couche (.lyrx). Si un fichier de couche est spécifié, le chemin d’accès à ce fichier est internalisé et si la boîte de dialogue Properties (Propriétés) est rouverte, une étiquette embedded (intégré) apparaît dans la cellule.

Environnement

Vous pouvez définir la valeur par défaut d’un paramètre sur la valeur d’un paramètre d’environnement en cliquant avec le bouton droit sur la cellule qui convient qui se trouve sous Environment (Environnement) et en choisissant le nom du paramètre d’environnement.

Symbologie

Si la sortie de l’outil est un jeu d’entités, un raster, un TIN ou une couche, vous pouvez spécifier l’emplacement d’un fichier de couche (.lyrx) dans la propriété Symbology (Symbologie). Lorsque l’outil est exécuté et que la sortie est ajoutée à l’affichage, elle est dessinée à l’aide de la symbologie définie dans le fichier de couche de symbologie.

Attention :

Le fichier de couche est lu à chaque exécution de l’outil. Si le fichier de couche est introuvable (il a été déplacé ou supprimé), la symbologie par défaut est utilisée.

Rubriques connexes