Existe uma diferença no desempenho entre executar um script Python na janela Python e executá-lo como uma ferramenta de script Python na caixa de ferramentas do ArcGIS Desktop 10.0?
Às vezes, preciso usar o ArcPy e ter o ArcGIS em execução. Na minha experiência recente, posso executar o mesmo script via caixa de ferramentas e, na janela python, a caixa de ferramentas parece ser um pouco mais rápida.
CURRENT
palavra-chave para acessar o documento do mapa atual em uma ferramenta de script, desde que esteja em execução no processo.import arcpy
levará muito tempo como um script independente (ou parte de uma caixa de ferramentas), enquanto no ArcMap ele já faz parte do espaço para nome da janela do python.Respostas:
Michael Markieta e gm70560 estão corretos. Se você estiver executando grandes tarefas de geoprocessamento, eu definitivamente o faria por meio de um script python independente, de preferência iniciado na linha de comando e não em um IDE. Para esse tipo de tarefa, vale a pena a sobrecarga de importação do ArcPy.
No entanto, uma tarefa pequena, especialmente uma que requer entrada do usuário, geralmente é mais rápida e mais conveniente no ArcMap - a menos que você precise abrir o ArcMap especificamente para a finalidade, nesse caso, você terá a sobrecarga de iniciar o próprio ArcMap mais algum tempo de inatividade para conectar-se ao ArcMap. todos os seus bancos de dados mencionados no MXD (que, se estiverem em uma conexão de rede lenta, podem ser entediantes).
Da mesma forma, o processamento em lote até de pequenas tarefas é, na minha opinião, melhor realizado em um script Python independente do que através de uma caixa de ferramentas no ArcMap, porque você recebe esse hit de importação apenas uma vez e não possui o ArcMap.
Tendo feito muito geoprocessamento automatizado por meio de scripts Python, eu os executaria como processos independentes, porque gosto da velocidade e flexibilidade adicionais. A maioria das tarefas que são executadas mais rapidamente na caixa de ferramentas geralmente são pequenas o suficiente para que eu as tivesse reproduzido no ModelBuilder sem se preocupar em escrever qualquer código.
fonte