Skriptwerkzeuge sind Geoverarbeitungswerkzeuge, die ein Skript oder eine ausführbare Datei ausführen. Skriptwerkzeuge ermöglichen die Ausführung dieser Skripte in ArcGIS, indem ein Geoverarbeitungswerkzeug als Schnittstelle zu den Funktionen in Ihrem Skript verwendet wird. Wenn Sie ein Skriptwerkzeug erstellen, geben Sie Parameter an, die für die Ausführung des Skripts erforderlich sind. Die gängigsten Parameter sind Eingabe- und Ausgabe-Datasets, Feldnamen und Zeichenfolgen, die aus einer Liste ausgewählt werden. Wenn das Skriptwerkzeug ausgeführt wird, werden die Parameterwerte an Ihr Skript übergeben und während der Ausführung vom Skript verwendet.
Nahezu alle Skriptwerkzeuge führen ein Python-Skript aus (.py), das ArcPy – ein mit ArcGIS installiertes Python-Site-Paket – verwendet. ArcPy bietet Zugriff auf Geoverarbeitungswerkzeuge sowie zusätzliche Funktionen, Klassen und Module, mit denen Sie einfache oder komplexe Workflows schnell erstellen können. Ihr Skript kann durch ArcPy auf die Geoverarbeitungsumgebung von ArcGIS zugreifen, was Vorteile wie On-the-fly-Projektion, Unterstützung von Auswahlsätzen, Validierung von Eingaben, Fehlermeldungen und Aufzeichnung von Verläufen bietet.
Obwohl die meisten Skriptwerkzeuge in Python geschrieben werden, können Sie ein Skriptwerkzeug für alle Elemente erstellen, die Argumente akzeptieren. Sie können beispielsweise ein Skriptwerkzeug für eine .r-, .bat- oder .exe-Datei erstellen, die Argumente akzeptiert.
Skriptwerkzeuge werden in einer Toolbox erstellt. Um ein Skriptwerkzeug zu erstellen, klicken Sie im Bereich Katalog mit der rechten Maustaste auf eine Toolbox, und wählen Sie Neu > Skript aus.
Eigenschaften
Wenn Sie ein Skriptwerkzeug erstellen, wird die Eigenschaftenseite dieses neuen Skriptwerkzeugs geöffnet. Auf der Eigenschaftenseite des Skriptwerkzeugs können Sie eine Reihe von Eigenschaften wie die folgenden festlegen:
- Allgemeine Einstellungen wie den Werkzeugnamen, den Kennwortschutz und den Speicherort der Quell-Skriptdatei.
- Die Parameter des Werkzeugs, mittels derer bestimmt wird, welche Eingabe-Datasets, zusätzlichen Parameter und Ausgabe-Datasets das Skriptwerkzeug anzeigt.
- Validierungscode, mit dem Sie anpassen können, wie Werkzeugparameter reagieren und mit Werten und anderen Parametern im Skriptwerkzeug interagieren (z. B. den Wert eines Parameters basierend auf der für einen anderen Parameter ausgewählten Option ändern). Validierungscode wird in Python geschrieben.
Parameter
Das Definieren von Parametereigenschaften ist ein wichtiger Schritt bei der Erstellung eines Skriptwerkzeugs. Auf der Seite Parameter stellt jede Zeile einen Parameter dar. Für jeden Parameter definieren Sie eine Anzahl von Eigenschaften wie die Beschriftung, die auf dem Werkzeug angezeigt wird, den Datentyp, den der Parameter akzeptiert und ob der Parameter optional oder erforderlich ist. Sie müssen zumindest den Parameter Beschriftung, Name, Datentyp, Typ und Richtung eingeben.
Eigenschaft | Beschreibung |
---|---|
Beschriftung | Der Name des Parameters, wie er im Werkzeug angezeigt wird. |
Name | Der Name des Parameters, wenn das Skriptwerkzeug als Funktion aus einem anderen Python-Skript abgerufen wird. |
Datentyp | Der Datentyp, den der Parameter akzeptiert. Hiermit wird das im Werkzeug verwendete Steuerelement festgelegt. Wenn Sie beispielsweise Feature-Layer auswählen, können Sie einen Layer aus einer aktiven Karte auswählen oder zu einer Feature-Class navigieren. |
Typ | Parameter können erforderlich oder optional sein. Wenn der Parameter erforderlich ist, muss ein Wert angegeben werden, andernfalls kann das Werkzeug nicht ausgeführt werden. Wenn der Parameter optional ist, kann das Werkzeug ohne Angabe eines Wertes ausgeführt werden. |
Richtung | Paramater können vom Typ "Eingabe" oder "Ausgabe" sein. Eingabeparameter stellen vorhandene Daten dar, die verarbeitet werden sollen, oder Werte, die bei der Verarbeitung verwendet werden sollen. Ausgabeparameter stellen Daten dar, die das Werkzeug erstellt, oder Werte, die berechnet werden. |
Kategorie | Durch die Eingabe des Namens einer Kategorie wird der Parameter einer Dropdown-Gruppe im Dialogfeld des Werkzeugs zugeordnet. |
Filter | Mit Filtern können Sie festlegen, ob nur bestimmte Typen eines Datasets, einer Datei oder eines Feldes, bestimmte Werte oder Werte in einem Bereich als Eingabe für ein Werkzeug akzeptiert werden. Sie können beispielsweise einen Feature-Class-Parameter so filtern, dass nur Punkt-Feature-Classes akzeptiert werden. Sie können auch eine Reihe von Parametern so konfigurieren, dass nur Werte zwischen 1 und 10 akzeptiert werden. |
Abhängigkeit | Sie können einen Parameter als abhängig von einem anderen Parameter festlegen. Ein Feldparameter ist beispielsweise abhängig von einem Dataset-Parameter. Durch die Festlegung dieser Abhängigkeit können Sie ein Feld aus dem abhängigen Dataset auswählen. |
Standard | Ein automatisch für den Parameter festgelegter Wert, wenn das Dialogfeld des Werkzeugs angezeigt wird. |
Umgebung | Ein Parameter kann seinen Standardwert aus einer Geoverarbeitungsumgebung ableiten. Wenn die angegebene Geoverarbeitungsumgebung also festgelegt wird, wird der Wert als Standardwert für den angegebenen Parameter verwendet, wenn das Dialogfeld des Werkzeugs angezeigt wird. |
Symbolisierung | Der Pfad zu einer Layer-Datei, die die Symbolisierung des Parameters definiert. Sie können beispielsweise festlegen, dass ein Ausgabe-Dataset-Parameter dieselbe Symbolisierung wie die Layer-Datei hat, wenn die Ausgabe erstellt und der Karte hinzugefügt wird. |
Validierung
Mit dem Python-Codeblock ToolValidator können Sie das Aussehen, das Verhalten und die Meldungen Ihres Skriptwerkzeugs besser steuern. Sie können den Validierungscode direkt im Fenster "Eigenschaften" bearbeiten, oder Sie können auf die Schaltfläche In Skript-Editor öffnen klicken, um den Validierungscode im bevorzugten Skript-Editor zu öffnen, der in den Geoverarbeitungsoptionen festgelegt wurde.