Les outils sont ajoutés à un .pyt en tant que classes. Chaque classe d'outils doit comprendre au moins une méthode __init__ et une méthode execute. Facultativement, les méthodes getParameterInfo, isLicensed, updateParameters et updateMessages permettent d'ajouter un contrôle supplémentaire au comportement de l'outil.
Méthodes utilisées pour définir une classe d'outils active
Méthode d'outil | Requis/facultatif | Description |
---|---|---|
__init__ | Requis | Initialise la classe de l'outil. |
Facultatif | Définit les paramètres de l'outil. | |
Facultatif | Renvoie si l'outil est autorisé à exécuter. | |
Facultatif | Appelée à chaque fois que l'utilisateur modifie un paramètre dans la boîte de dialogue de l'outil. Après le renvoi à partir d'updateParameters, le géotraitement appelle sa routine de validation interne. | |
Facultatif | Appelée après le renvoi à partir de la routine de validation interne. Vous pouvez examiner les messages créés à partir de la validation interne et les modifier si vous le souhaitez. | |
Requis | Code source de l'outil. |
Définition de la classe __init__ d'un outil.
La méthode __init__ d'une classe d'outils est une méthode d'initialisation de la classe Python standard. Pour un outil dans une boîte à outils Python, la méthode __init__ permet de définir les propriétés de l'outil, notamment l'étiquette et la description. Le nom de l'outil est défini par le nom de la classe même (dans l'exemple ci-dessous le nom de l'outil est CalculateSinuosity).
La méthode __init__ établit les propriétés de l'outil telles que l'étiquette et description. Ci-dessous, un outil nommé CalculateSinuosity est créé.
class CalculateSinuosity(object):
def __init__(self):
self.label = "Calculate Sinuosity"
self.description = "Sinuosity measures the amount that a river meanders within its valley, " + \
"calculated by dividing total stream length by valley length."
Les propriétés suivantes peuvent être définies dans la méthode __init__ d'un outil.
Propriété | Description |
---|---|
canRunInBackground | Si canRunInBackground n'est pas définie ou est définie à True, l'outil applique le paramètre Traitement en arrière-plan en cours dans la boîte de dialogue Options de géotraitement. Lorsque cette option est définie à False, l'outil s'exécute toujours au premier plan et n'applique pas le paramètre Traitement en arrière-plan dans la boîte de dialogue Options de géotraitement. Pour en savoir plus sur l'exécution des outils en arrière-plan. |
catégorie | Nom du jeu d'outils contenant l'outil. Un jeu d'outils est une méthode d'organisation des outils dans une boîte à outils. |
description | Description de l'outil. |
étiquette | L'étiquette correspond au nom complet de l'outil comme indiqué dans la fenêtre Catalogue. |
feuille de style | Pour modifier la feuille de style par défaut utilisée pour l'outil. Si ce paramètre n'est pas défini, la feuille de style par défaut est utilisée. |