Vergleichen von benutzerdefinierten und Python-Toolboxes

In ArcGIS 9.0 wurde die Skriptwerkzeugumgebung neu eingeführt. Sie ist dafür ausgerichtet, Python-basierte Werkzeuge für neue Benutzer zu erstellen. Für erfahrenere Benutzer stellt sie jedoch einen ineffizienten Prozess dar. In der Skriptwerkzeugumgebung:

All diese Teile werden voneinander getrennt und sind insgesamt schwieriger zu verwalten.

In ArcGIS 10.1 gibt es zwei Möglichkeiten, eigene Geoverarbeitungswerkzeuge mit Python zu erstellen: Skriptwerkzeuge in benutzerdefinierten Toolboxes (Toolbox) und Skriptwerkzeuge in Python-Toolboxes (Python-Toolbox).

In einer Python-Toolbox werden Parameterdefinitionen, Validierungscode und Quellcode am gleichen Ort behandelt. Dies erleichtert die Erstellung und Wartung von Python-Werkzeugen. Außerdem unterstützen Python-Toolboxes einige Funktionen, die von Skriptwerkzeugen nicht unterstützt werden, wie z. B. Wertetabellen, zusammengesetzte Datentypen und benutzerdefinierte Lizenzüberprüfung.

Für Benutzer mit Python-Erfahrung bieten Python-Toolboxes die Möglichkeit, ihre Python-Fähigkeiten zu nutzen und Werkzeuge vollständig und ganz einfach in Python zu erstellen. Wenn Python für Sie neu ist, ist die Erstellung von Werkzeugen in benutzerdefinierten Toolboxes für Sie besser geeignet, da der Assistent Sie durch die notwendigen Teile eines Skriptwerkzeugs führt.

Wenn Sie in dem Skriptwerkzeug signifikanten Validierungscode verwenden möchten, empfinden Sie höchstwahrscheinlich die Erstellung in einer Python-Toolbox als einfacher.

Benutzerdefinierte Toolboxes (Toolbox)

Python-Toolboxes (Python-Toolbox)

Organisation=

Skriptwerkzeuge in einer benutzerdefinierten Toolbox werden zu drei Teilen zusammengefasst:

  1. Die Werkzeug- und Parameterdefinitionen, die durch einen Assistenten definiert werden.
  2. Der optionale Validierungscode, der eine zusätzliche Kontrolle über das Parameterverhalten ermöglicht und sich in der Toolbox befindet.
  3. Der Quellcode, der in einer separaten Datei für jedes Werkzeug gespeichert wird, normalerweise als Python-Skript (.py).

Eine Python-Toolbox ist ein Python-Skript mit der Erweiterung .pyt, das alle Aspekte einer Toolbox und ihrer Werkzeuge enthält: Parameter, Validierung und Ausführung. Dies erfolgt mithilfe von Python-Klassen: eine Klasse für die Toolbox und eine Klasse für jedes Werkzeug.

Bearbeitung

Der Quellcode kann in jedem Editor bearbeitet werden.

Die Parameter werden über den Skriptwerkzeug-Assistenten bearbeitet.

Validierungscode (falls verwendet) kann über den Assistenten in einem Editor bearbeitet werden.

Python-Toolbox-Dateien (.pyt) können in jedem Editor bearbeitet werden. So können alle Teile des Werkzeugs (Parameterdefinitionen, Validierungscode und Quellcode) am gleichen Ort bearbeitet werden.

Da Python-Toolboxes nur in einem Editor bearbeitet werden können, ist Kopieren und Einfügen innerhalb einer Toolbox oder zwischen Toolboxes nicht möglich.

Verwenden anderer Werkzeuge

Benutzerdefinierte Toolboxes unterstützen verschiedene Werkzeugtypen, z. B. Python-Skriptwerkzeuge, Modellwerkzeuge (erstellt mit ModelBuilder) und integrierte Werkzeuge (erstellt mit ArcObjects und einer kompilierten Sprache wie .NET).

Python-Toolboxes unterstützen andere Werkzeugtypen nicht direkt; das heißt, Sie können der Python-Toolbox keine Modellwerkzeuge oder integrierten Werkzeuge hinzufügen. Sie können Werkzeuge jedoch in anderen Toolboxes innerhalb des Python-Toolbox-Codes aufrufen.

Zusätzliche Funktionen

nicht zutreffend

Python-Toolboxes unterstützen eine isLicensed-Methode, mit der Sie nach Ihren eigenen Kriterien steuern können, ob ein Werkzeug geöffnet werden kann.

Zusätzliche Sicherheit

Der Quellcode von Skriptwerkzeugen in einer benutzerdefinierten Toolbox kann in die Toolbox eingebettet und mit einem Kennwort gesperrt werden.

nicht zutreffend

Verwandte Themen

9/11/2013