Sie können Geoverarbeitungsergebnisse als Paket oder als Service freigeben. Wenn Sie ein Ergebnis freigeben, wird in ArcGIS eine Kopie des Modells und der Skriptwerkzeuge erstellt, der Inhalt wird untersucht, und an der Kopie werden Änderungen vorgenommen, um sicherzustellen, dass das Werkzeug auf einem anderen Computer auch ausgeführt werden kann. Darüber hinaus werden die Daten, mit denen das Ergebnis erzeugt wurde, ebenfalls freigegeben.
Was geschieht jedoch, wenn Sie die benutzerdefinierten Werkzeuge, jedoch nicht die Daten freigeben möchten? Das heißt, Sie möchten die Toolbox und die darin enthaltenen Werkzeuge freigeben, sodass die Benutzer sie wie jede andere System-Toolbox verwenden können? Dies ist möglich, erfordert jedoch bestimmte Kenntnisse Ihrerseits:
- Alle von den Werkzeugen verwendeten Daten müssen Eingabeparameter für das Werkzeug sein. Sie können nicht direkt Bezug auf die Daten in den Werkzeugen nehmen, da der Empfänger des Werkzeugs (der andere Benutzer) die Daten auf seinem System gespeichert haben muss. Wenn das von Ihnen verwendete Modell oder Skript beispielsweise den Pfad D:\ToolData\cfcc_codes.dbf erwartet, kann das Werkzeug auf dem Computer des anderen Benutzers nicht erfolgreich ausgeführt werden, da dieser nicht über den Pfad D:\ToolData\cfcc_codes.dbf auf seinem Computer verfügt. Wenn die Werkzeuge bestimmte Datasets erfordern, müssen Sie ein Paket erzeugen.
- Da Sie zusammen mit den Werkzeugen keine Daten bereitstellen (in diesem Fall würden Sie ein Paket des Ergebnisses erstellen), müssen die Werkzeuge robust sein, das heißt, sie müssen mit allen von einem anderen Benutzer bereitgestellten Datasets funktionieren. Hierzu sind ordnungsgemäße Parameterdefinitionen, Fehlerbehebung und Dokumentation erforderlich.
- Die Werkzeuge müssen in sich abgeschlossen sein. Im Idealfall möchten Sie nur die Toolbox freigeben, und keine ergänzenden Python- oder Dokumentationsdateien.
- Zwischenergebnisse oder Scratch-Daten, die von den Werkzeugen erzeugt werden, müssen ebenfalls berücksichtigt werden. Sie benötigen einen Speicherort ohne Schreibschutz für die Scratch-Daten, und die Werkzeuge müssen anschließend eigenständig Bereinigungsvorgänge durchführen.
- Sie müssen die Werkzeuge sorgfältig testen. Scheinbar unwichtige Schwierigkeiten, die beim lokalen Ausführen der Werkzeuge auftreten, stellen beim Freigeben der benutzerdefinierten Werkzeuge erhebliche Probleme dar.
Sie können benutzerdefinierte Werkzeuge und Toolboxes in einem von zwei Formaten bereitstellen:
- Python-Toolbox (.pyt)
- Benutzerdefinierte Toolbox (.tbx) mit Modell- oder Skriptwerkzeugen
Python-Toolboxes eignen sich gut zum Bereitstellen benutzerdefinierter Werkzeuge. Es wird nur die .pyt-Datei benötigt.
Modelle können in einer benutzerdefinierten Toolbox bereitgestellt werden, wenn sie keine anderen benutzerdefinierten Werkzeuge verwenden, die sich in einer anderen Toolbox befinden. Sie können ein beliebiges Systemwerkzeug verwenden, wobei Sie jedoch die Lizenzstufen des Benutzers berücksichtigen müssen; es können keine Systemwerkzeuge verwendet werden, für die der Benutzer nicht über eine Lizenz verfügt.
Wenn in einer benutzerdefinierten Toolbox Skripte verwendet werden, muss deren Code im Werkzeug eingebettet sein. Andernfalls müssen Sie die .py-Dateien zusammen mit der Toolbox bereitstellen, in der Regel mit einem ZIP-Komprimierungsdienstprogramm.
- Weitere Informationen zum Erstellen benutzerdefinierter Werkzeuge
- Weitere Informationen zum Dokumentieren von Werkzeugen
- Weitere Informationen zum Verwalten von Scratch-Daten
- Weitere Informationen zum Einbetten von Skripten und Kennwortschutzwerkzeugen