Werkzeuge werden einer .pyt-Datei als Klassen hinzugefügt. Jede Werkzeugklasse sollte mindestens die Methoden __init__ und execute einschließen. Optional können die Methoden getParameterInfo, isLicensed, updateParameters und updateMessages verwendet werden, um zusätzliche Steuerungsmöglichkeiten für das Verhalten des Werkzeugs hinzuzufügen.
Methoden zur Definition einer funktionsfähigen Werkzeugklasse
Werkzeugmethode | Erforderlich/Optional | Beschreibung |
---|---|---|
__init__ | Erforderlich | Initialisiert die Werkzeugklasse. |
Optional | Definiert die Parameter des Werkzeugs | |
Optional | Gibt zurück, ob die Ausführung des Werkzeugs lizenziert ist. | |
Optional | Wird bei jeder Parameteränderung im Werkzeugdialogfeld aufgerufen. Im Anschluss an "updateParameters" ruft die Geoverarbeitung ihre eigene interne Prüfroutine auf. | |
Optional | Wird im Anschluss an die interne Prüfroutine aufgerufen. Sie können die von der internen Prüfung erstellten Meldungen überprüfen und ggf. ändern. | |
Erforderlich | Der Quellcode des Werkzeugs. |
Festlegen der "__init__"-Methode einer Werkzeugklasse
Die __init__-Methode in einer Werkzeugklasse ist eine standardmäßige Initialisierungsmethode der Python-Klasse. Für ein Werkzeug in einer Python-Toolbox wird die __init__-Methode verwendet, um Eigenschaften des Werkzeugs festzulegen, z. B. label und description. Der Name des Werkzeugs wird durch den Namen der Klasse selbst (im Beispiel unten ist der Werkzeugname CalculateSinuosity) festgelegt.
Die "__init__"-Methode legt Werkzeugeigenschaften wie die Beschriftung und die Beschreibung fest. Im folgenden Beispiel wird ein Werkzeug mit dem Namen "CalculateSinuosity" erstellt.
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."
Die folgenden Eigenschaften können in der Methode __init__ eines Werkzeugs festgelegt werden.
Eigenschaft | Beschreibung |
---|---|
canRunInBackground | Wenn canRunInBackground nicht festgelegt oder auf Wahr festgelegt ist, wird die aktuelle Einstellung unter Hintergrundverarbeitung im Dialogfeld Geoverarbeitungsoptionen verwendet. Ist es auf Falsch festgelegt, wird das Werkzeug immer im Vordergrund ausgeführt, unabhängig von der Einstellung unter Hintergrundverarbeitung im Dialogfeld Geoverarbeitungsoptionen. Weitere Informationen zum Ausführen von benutzerdefinierten Werkzeugen im Hintergrund |
category | Der Name des Toolsets, in dem sich das Werkzeug befindet. Ein Toolset ist ein Möglichkeit zum Gruppieren von Werkzeugen in einer Toolbox. |
description | Eine Beschreibung des Werkzeugs. |
label | Die Beschriftung ist der Anzeigename für das Werkzeug, der im Fenster Katalog angezeigt wird. |
stylesheet | Hierüber kann das für das Werkzeug verwendete Standard-Stylesheet geändert werden. Wird hier nichts anderes festgelegt, wird das Standard-Stylesheet verwendet. |