¿Hay alguna diferencia en el rendimiento entre ejecutar un script de Python en la ventana de Python y ejecutarlo como una herramienta de script de Python desde la caja de herramientas de ArcGIS Desktop 10.0?
A veces necesito usar ArcPy y ejecutar ArcGIS. En mi experiencia reciente, puedo ejecutar el mismo script a través de la caja de herramientas y en la ventana de Python, y la caja de herramientas parece ser un poco más rápida.
CURRENT
palabra clave para acceder al documento de mapa actual en una herramienta de secuencia de comandos, siempre que se ejecute en proceso.import arcpy
llevará mucho tiempo como un script independiente (o parte de una caja de herramientas), mientras que dentro de ArcMap ya forma parte del espacio de nombres de la ventana de Python.Respuestas:
Tanto Michael Markieta como gm70560 son correctos. Si está ejecutando grandes tareas de geoprocesamiento, definitivamente lo haría a través de un script de python independiente, preferiblemente lanzado desde la línea de comandos y no desde un IDE. Para este tipo de tarea, la sobrecarga de importar ArcPy bien vale la pena.
Sin embargo, una tarea pequeña, especialmente una que requiere la intervención del usuario, generalmente es más rápida y más conveniente en ArcMap, a menos que tenga que abrir ArcMap específicamente para el propósito, en cuyo caso tiene la sobrecarga de iniciar ArcMap en sí más algún tiempo de inactividad para conectarse. todas sus bases de datos a las que se hace referencia en el MXD (que si están en una conexión de red lenta puede ser tedioso).
Del mismo modo, el procesamiento por lotes, incluso las tareas pequeñas, en mi opinión, se realiza mejor en una secuencia de comandos de Python independiente que a través de una caja de herramientas en ArcMap porque toma ese golpe de importación solo una vez y no tiene la sobrecarga de ArcMap.
Después de haber realizado una gran cantidad de geoprocesamiento automatizado a través de scripts de Python, por defecto los ejecutaría como procesos independientes porque me gusta la velocidad y flexibilidad adicionales. La mayoría de las tareas que se ejecutan más rápido en la caja de herramientas suelen ser lo suficientemente pequeñas como para haberlas eliminado en ModelBuilder sin molestarme en escribir ningún código.
fuente