Définition d'un outil dans une boîte à outils Python
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é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. |