Для одной из моих задач мне нужно создать панель инструментов с тремя инструментами (скриптами Python).
Вместо обычного tbx я решил написать его как Python Toolbox (pyt).
Все понятно, кроме «хорошего» способа организации кода.
Поскольку у меня есть три инструмента, это не очень хороший способ хранить их в одном файле (pyt). Итак, я решил сохранить каждый инструмент в отдельном файле .py.
Здесь возникает проблема: как правильно организовать несколько файлов с помощью PYT для распространения или развертывания на ArcGIS for Server? Должен ли я держать их на одном уровне с PYT-файлом или поместить их в какой-либо подкаталог (например, «Инструменты»)?
Можете ли вы порекомендовать какие-либо руководящие принципы Esri или образец "большой набор инструментов PYT"?
Я не нашел ничего по этой теме. В версии 10.0 была так называемая структура папок ToolShare, которую я использовал.
Это больше вопрос стиля кодирования. Потому что идея создать один PYT-файл с 500-1000 или более строками кода мне не очень нравится, и я считаю, что это не "питонический" способ
источник
Ответы:
Посмотрите эту тему на форуме ArcGIS. В основном просто используйте стандартные модули Python или структуру пакета и импортируйте свои инструменты в набор инструментов Python.
Что-то вроде:
источник
from x import y
импорт стилей. (Между прочим, это совершенно нелепо.) Однако я считаю, что вы можете оставить своеself.tools
определение в покое и использоватьimport toolpackage.script_a.Tool1 as Tool1
.