Für eine meiner Aufgaben muss ich eine Toolbox mit drei Werkzeugen (Python-Skripten) erstellen.
Anstelle von gewöhnlichem tbx habe ich beschlossen, es als Python Toolbox (pyt) zu schreiben.
Alles ist klar außer der "guten" Art, den Code zu organisieren.
Da ich drei Tools habe, ist es nicht gut, sie in einer Datei (pyt) zu speichern. Daher habe ich beschlossen, jedes Tool in einer separaten .py-Datei zu speichern.
Hier ist ein Problem: Wie lassen sich mehrere Dateien mit PYT für die Verteilung oder Bereitstellung in ArcGIS for Server organisieren? Soll ich sie mit der PYT-Datei auf dem gleichen Stand halten oder in einem Unterverzeichnis (zB "Tools") ablegen?
Können Sie irgendwelche Esri-Richtlinien oder Referenzbeispiele für "große PYT-Toolbox" empfehlen?
Ich habe nichts zu diesem Thema gefunden. In Version 10.0 gab es eine sogenannte ToolShare-Ordnerstruktur, die ich verwendet habe.
Dies ist eher eine Frage des Codierungsstils. Weil die Idee, eine PYT-Datei mit 500-1000 oder mehr Codezeilen zu erstellen, für mich nicht gut aussieht und ich glaube, dass es kein "pythonischer" Weg ist.
quelle
Antworten:
Schauen Sie sich diesen Thread im ArcGIS-Forum an. Verwenden Sie im Grunde nur Standard-Python-Module oder eine Paketstruktur und importieren Sie Ihre Werkzeuge in die Python-Toolbox.
Etwas wie:
quelle
from x import y
Formatimporte. (Das ist übrigens völlig lächerlich.) Ich glaube jedoch, Sie können Ihreself.tools
Definition in Ruhe lassen und verwendenimport toolpackage.script_a.Tool1 as Tool1
.