Para uma das minhas tarefas, preciso criar uma caixa de ferramentas com três ferramentas (scripts python).
Em vez do tbx comum, decidi escrevê-lo como Python Toolbox (pyt).
Tudo está claro, exceto a maneira "boa" de organizar o código.
Como tenho três ferramentas, não é uma boa maneira de armazená-las em um arquivo (pyt). Então, decidi manter cada ferramenta em um arquivo .py separado.
Aqui está um problema: qual é a boa maneira de organizar vários arquivos com PYT para distribuição ou implantação no ArcGIS for Server? Devo mantê-los no mesmo nível do arquivo PYT ou devo colocá-los em algum subdiretório (por exemplo, "Ferramentas")?
Você pode recomendar diretrizes da Esri ou amostra de referência "big PYT toolbox"?
Não encontrei nada sobre esse assunto. Na versão 10.0, havia a chamada estrutura de pastas do ToolShare que eu usei.
Esta é mais uma questão de estilo de codificação. Porque a idéia de criar um arquivo PYT com 500-1000 ou mais linhas de código não parece boa para mim e acredito que não seja uma maneira "pitônica".
fonte
Respostas:
Dê uma olhada neste tópico no fórum do ArcGIS. Basicamente, basta usar módulos python padrão ou uma estrutura de pacote e importar suas ferramentas para a caixa de ferramentas python.
Algo como:
fonte
from x import y
importações de estilos. (Isso é totalmente ridículo.) No entanto, acredito que você pode deixar suaself.tools
definição em paz e usá-laimport toolpackage.script_a.Tool1 as Tool1
.