Présentation de la validation dans les outils de script

Vous pouvez personnaliser le comportement de la boîte de dialogue de votre outil de script, par exemple l'activation ou la désactivation des paramètres, la fourniture de valeurs par défaut ou la mise à jour des mots-clés d'une chaîne. En ajoutant le code Python, vous pouvez effectuer les opérations suivantes :

Fonctionnement de la validation

La validation s'effectue avec un bloc de code Python utilisé par le géotraitement pour contrôler la manière dont la boîte de dialogue et la fenêtre Python de l'outil changent en fonction des informations saisies par l'utilisateur. Les outils système (ceux fournis par Esri) ont toujours eu la capacité de réagir aux informations saisies par les utilisateurs pour modifier la boîte de dialogue de l'outil en conséquence, comme décrit ci-dessus.

Validation

La validation consiste à vérifier que tous les paramètres d'outil sont corrects et fournissent des messages utiles si ce n'est pas le cas. La validation se compose de deux parties :

  • La partie que vous pouvez effectuer en ajoutant du code.
  • La partie qu'ArcGIS effectue automatiquement. Cette partie de la validation est connue sous le nom de validation interne (ou validation de base), puisqu'il s'agit de la validation de base faite en interne par géotraitement dans ArcGIS.

Tout d'abord, examinez ce que fait la validation interne :

  • Si un paramètre est requis, vérifie s'il est vide (rien n'a encore été saisi) et, si tel est le cas, envoie le message "Valeur requise" à la boîte de dialogue de l'outil (en utilisant un point vert au lieu d'une croix rouge).
  • Vérifie que la valeur saisie par l'utilisateur est du type adéquat (par exemple, un raster au lieu d'une classe d'entités ou des caractères alphabétiques au lieu d'un nombre).
  • Vérifie l'appartenance du filtre. Par exemple, si un filtre Liste de valeurs contient des mots-clés tels que ROUGE, ORANGE et JAUNE, et que vous saisissez BLEU, un message d'erreur s'affiche, car BLEU ne figure pas dans le filtre Liste de valeurs.
  • Vérifie l'existence de jeux de données en entrée.
  • Génère un chemin d'accès au catalogue par défaut pour les jeux de données en sortie.
  • Met à jour la description des données en sortie en fonction d'un ensemble de règles contenues dans l'objet spécial, Schema.
  • Vérifie l'existence de jeux de données en sortie par rapport au paramètre d'environnement overwriteOutput. Si le jeu de données existe et que la valeur d'overwriteOutput est False, une erreur est produite ; sinon, un avertissement est généré.
  • Si le paramètre est un type de données de champ, vérifie que le champ existe dans la table associée.
  • Vérifie que le jeu de données en sortie n'est pas le même que le jeu de données en entrée (à moins que la sortie soit dérivée, comme Ajouter un champ).
  • Pour les paramètres contenant des types de données linéaire et d'unités surfaciques, définissez leurs valeurs par défaut en examinant les valeurs correspondantes dans ArcMap (en cas d'exécution à partir d'ArcMap).
  • Si la sortie est une couverture, une grille ou une table INFO, vérifiez que les noms de fichier de ces jeux de données ne dépassent pas la limite de 13 caractères.

La validation interne n'effectue pas les opérations suivantes (contrairement à votre propre code de validation) :

  • Mettre à jour les filtres en fonction de l'interaction avec d'autres paramètres. Par exemple, si votre utilisateur entre une classe d'entités ponctuelles dans le premier paramètre, la boîte de dialogue de l'outil doit afficher ROUGE, ORANGE et JAUNE dans le troisième paramètre. Si une classe d'entités surfaciques est entrée, vous voulez afficher BLEU, INDIGO et VIOLET dans le troisième paramètre.
  • Activer/Désactiver les paramètres.
  • Calculer les valeurs par défaut.
  • Effectuer toute interaction de paramètre spécifique à l'outil.

Le code que vous ajoutez fonctionne conjointement avec la validation interne, de la façon suivante :

  • Vous pouvez fournir un ensemble de règles que la validation interne utilise pour mettre à jour la description des jeux de données en sortie. Ces règles sont contenues dans un objet Schéma.
  • Vous pouvez mettre à jour les filtres avant la validation interne. D'après l'exemple ci-dessus, si vous entrez une classe d'entités ponctuelles, vous devrez mettre à jour le filtre pour contenir ROUGE, ORANGE et JAUNE. La validation interne vérifie la valeur saisie par l'utilisateur par rapport aux valeurs trouvées dans le filtre.

De plus, comme mentionné, votre code de validation peut calculer les valeurs par défaut, activer et désactiver les paramètres et personnaliser les messages. Ces types d'actions n'ont aucune conséquence sur la validation interne ; ils affectent uniquement l'apparence de la boîte de dialogue de l'outil.

Thèmes connexes

5/10/2014