Puede controlar si las herramientas se ejecutan en primer plano o en segundo plano haciendo clic en Geoprocesamiento > Opciones de geoprocesamiento en la barra de herramientas Estándar.
En el panel Procesamiento en segundo plano es donde se controla si una herramienta se ejecuta en modo de primer plano o segundo plano.
- Si está marcada la opción Habilitar, las herramientas se ejecutan en segundo plano y puede seguir trabajando con ArcMap (u otras aplicaciones de ArcGIS, como puede ser ArcGlobe) mientras se ejecuta la herramienta. Verá una barra de progreso en la parte inferior del documento en la que se muestra el nombre de la herramienta que se está ejecutando actualmente. Cuando la herramienta termina de ejecutarse, aparece una notificación emergente en la bandeja del sistema. Puede controlar cuánto tiempo se muestra el mensaje de notificación mediante el deslizador Notificación o bien deshabilitar el mensaje situando el deslizador en el extremo izquierdo.
- Si no está marcada la opción Habilitar, las herramientas se ejecutan en primer plano. Cuando se esté ejecutando una herramienta en primer plano tendrá que esperar hasta que terminen de ejecutarse para poder seguir con otras tareas.
Procesamiento en segundo plano
Si ejecuta una herramienta mediante el cuadro de diálogo o desde la ventana de Python, verá el progreso de la herramienta como se ilustra a continuación.
También puede controlar el progreso en la ventana Resultados. La ventana Resultados se puede abrir en las siguientes formas:
- Para abrir la ventana Resultados, haga en Geoprocesamiento > Resultados.
- Haga clic en la barra de estado (que se muestra en la ilustración anterior), en la parte inferior de la ventana ArcMap, para abrir la ventana Resultados de la herramienta que se esté ejecutando actualmente.
- Haga clic en el mensaje emergente de éxito o error para abrir la ventana Resultados directamente en los mensajes de ejecución de la herramienta.
Mientras se está ejecutando una herramienta en segundo plano, puede enviar más herramientas para ejecutar mediante el cuadro de diálogo de herramientas. Solo se ejecutará una herramienta en segundo plano; todas las otras quedarán pendientes (esperando para ejecutarse). Una vez que una herramienta termina de ejecutarse, se comenzará a ejecutar la siguiente herramienta pendiente.
No podrá iniciar una sesión de edición si hay herramientas ejecutándose en segundo plano. Si este es el caso, aparece un cuadro de mensaje que le notifica que no puede iniciarse la sesión de edición. Debe esperar a que todas las herramientas de geoprocesamiento ejecutándose en segundo plano se completen (o cancelarlas) antes de comenzar con una sesión de edición.
Con el procesamiento en segundo plano, cuando ejecuta una herramienta en la ventana de Python, la ventana de Python no puede utilizarse hasta que se haya terminado de ejecutar la herramienta.
Las herramientas de modelo y de secuencia de comandos personalizadas se ejecutan en primer plano por defecto
Sus herramientas de modelo y de secuencia de comandos personalizadas se ejecutarán en primer plano por defecto, aunque se haya habilitado el procesamiento en segundo plano. Para que las herramientas personalizadas se ejecuten en segundo plano, debe hacer lo siguiente:
- Asegúrese de que la herramienta sigue las directrices especificadas en Ejecutar herramientas (de modelo o de secuencia de comandos) personalizadas en segundo plano.
- Haga clic con el botón derecho del ratón en la herramientas de modelo o de secuencia de comandos personalizadas y, a continuación, haga clic en Propiedades. En la pestaña General, desmarque Ejecutar siempre en primer plano.
Las capas de ArcMap afectadas se bloquean cuando se ejecuta una herramienta en segundo plano
Cuando la salida de una herramienta de geoprocesamiento es una capa en el mapa (por ejemplo, con la herramienta Seleccionar capa por atributo) o la herramienta modifica los datos de entrada (como la herramienta Agregar campo o cualquiera de las herramientas de la caja de herramientas de edición), la capa estará bloqueada mientras se esté ejecutando la herramienta. Aparecerá el icono de un candado sobre la capa de la tabla de contenido para indicar que la capa está bloqueada y no puede procesarse. Al actualizar la visualización del mapa con una capa bloqueada, ésta no se dibujará. Cuando la herramienta ha terminado de procesarse, la visualización del mapa se actualiza y se puede reanudar el trabajo en la capa.
Cancelar la ejecución de una herramienta en segundo plano
Para cancelar la ejecución de una herramienta en segundo plano, abra la ventana Resultados y busque la herramienta que se está ejecutando (tendrá un icono de reloj de arena o de reloj procesándose junto a ella). Haga clic con el botón derecho del ratón en el resultado y, a continuación, haga clic en Cancelar. Este método también se puede utilizar para cancelar tareas en cola que no se han ejecutado todavía.
Cuando una herramienta recibe la instrucción de cancelar, intenta limpiarse a sí misma mediante la eliminación de cualquier dato que haya creado y la emisión de un mensaje de advertencia. Según el tipo de tarea de limpieza que estaba realizando la herramienta, la cancelación puede tardar un tiempo.
Las herramientas del sistema se pueden ejecutar en primer plano aunque esté habilitado el segundo plano
A veces, las herramientas se ejecutan en primer plano, aunque esté habilitado el procesamiento en segundo plano:
- Si va a editar datos, todas las herramientas de geoprocesamiento se ejecutarán en primer plano. ArcGIS ejecutará todas las herramientas en primer plano aunque las herramientas de geoprocesamiento no utilicen los datos que esté editando. Esto se hace para evitar que una herramienta ejecutándose en segundo plano modifique los datos que esté editando.
- Si abre la ventana de ModelBuilder y ejecuta un modelo, todos los procesos del modelo se ejecutarán en primer plano. Trabajar en la ventana de ModelBuilder es similar a una sesión de edición. Todo los procesos se ejecutan en primer plano para evitar que un cambio en el flujo de trabajo provoque resultados no deseados.
- Algunas herramientas del sistema, como la herramienta Actualizar geodatabase, siempre se ejecutan en primer plano debido al bloqueo de datos y las necesidades de integridad. Es posible editar otras herramientas del sistema en primer plano si necesitan acceder al documento de mapa actual.
Usar el espacio de trabajo en la memoria con procesamiento en segundo plano
El espacio de trabajo en la memoria comparte muchas propiedades con la geodatabase de archivos, con la diferencia distintiva de que almacena entidades y rásteres en la memoria. Mientras la aplicación está activa, los datos se almacenan en la memoria interna del sistema (RAM). Trabajar con el espacio de trabajo en la memoria suele implicar un mejor rendimiento, ya que el sistema no tiene que escribir en el disco. Tenga en cuenta los siguientes puntos cuando utilice el espacio de trabajo en la memoria con el procesamiento en segundo plano:
- El procesamiento en segundo plano es un proceso aparte de ArcMap o ArcCatalog. Estos procesos no pueden compartir memoria (RAM). Cuando se ejecuta una herramienta, los datos que utiliza deben abrirse mediante los procesos en segundo plano. Así pues, una clase de entidad de entrada se abrirá directamente mediante los procesos en segundo plano, pero las capas de ArcMap deben seguir una ruta diferente. Por ejemplo, supongamos que tiene una capa de entidad de puntos en ArcMap y desea crear una zona de influencia de esos puntos y que la salida se escriba en el espacio de trabajo en la memoria de ArcMap. Al ejecutar la herramienta Zona de influencia en segundo plano, las entidades de entrada se escriben en el disco, el proceso en segundo plano las lee desde el disco a la memoria, se ejecuta la Zona de influencia, a continuación la Zona de influencia escribe la salida en su propio espacio de trabajo en la memoria en segundo plano y, por último, la salida se escribe en el disco para que ArcMap pueda volver a leer la salida de la zona de influencia en su propio espacio de trabajo respectivo en la memoria. El resultado de todo ello es que apenas hay ningún beneficio en cuanto al rendimiento cuando se usa una sola herramienta que escribe la salida en el espacio de trabajo en la memoria. Sin embargo, un modelo o secuencia de comandos que ejecute varias herramientas y escriba sus datos intermedios en el espacio de trabajo en la memoria tiene muchas más probabilidades de procesar más rápido, porque no hay necesidad de transferir datos entre dos espacios de trabajo en la memoria distintos. Así pues, en lugar de ejecutar una herramienta cada vez desde ArcMap mientras se usa el procesamiento en segundo plano, cree un modelo o secuencia de comandos para su flujo de trabajo.
- La mayoría de las herramientas de Crear, como Crear GDB de archivos y Crear clase de entidad, necesitan dos parámetros de entrada (un espacio de trabajo y un nombre) para derivar una nueva salida. Estas herramientas permiten introducir in_memory como espacio de trabajo. Sin embargo, cuando se ejecuta en segundo plano, la salida recién creada siempre hará que se devuelva el resultado como una ubicación en disco, incluso aunque se use in_memory como espacio de trabajo. Es mejor usar estas herramientas como parte de un flujo de trabajo en ModelBuilder o una herramienta de secuencia de comandos de Python, donde el espacio de trabajo en la memoria puede usarse durante toda la ejecución de la herramienta.
Salir de aplicaciones con herramientas en espera o ejecutándose en segundo plano
Desde ArcMap (o ArcGlobe o ArcScene), puede salir y guardar el documento mientras las herramientas se están ejecutando o están pendientes. Si sale, todas las herramientas en ejecución se detendrán. El estado de las herramientas pendientes y en ejecución cambia a No ejecutado dentro de la ventana Resultados del documento guardado. Estas entradas tienen iconos vacíos y pueden ejecutarse haciendo clic con el botón derecho del ratón en el resultado y, a continuación, haciendo clic en Volver a ejecutar.
Cuando se sale de ArcCatalog, inmediatamente se detienen las herramientas que se encuentran pendientes o en ejecución. El resultado de la herramienta se traslada a la sección No ejecutado de la ventana Resultados. Se puede volver a ejecutar la herramienta de la misma manera que se mencionó anteriormente.
Procesamiento en primer plano
Cuando el proceso en segundo plano está deshabilitado, las herramientas se ejecutan en primer plano, y deberá esperar a que el proceso finalice para poder utilizar de nuevo la aplicación. Cuando comience la ejecución de la herramienta, aparecerá el cuadro de diálogo de progreso, como se ilustra a continuación. Haga clic en Detalles para ver los mensajes de ejecución.
Un mensaje de advertencia aparecerá como texto en verde en los mensajes de la herramienta, con el prefijo ATENCIÓN seguido de un código numérico. Una advertencia le avisa de que la salida podría no contener lo que espera. En el siguiente ejemplo, la salida de la herramienta está vacía. El código numérico es un hipervínculo; puede hacer clic en él para ver una descripción completa de la advertencia y las posibles soluciones.
Un mensaje de error aparece en rojo, con el prefijo ERROR seguido de un código numérico.
Es posible revisar todos los aspectos de la ejecución de una herramienta en la ventana Resultados cuando se ejecuta una herramienta y se cierra el cuadro de diálogo de progreso.
Cancelar la ejecución de una herramienta en primer plano
Puede cancelar la ejecución de una herramienta haciendo clic en el botón Cancelar del cuadro de diálogo de progreso.
Cuando una herramienta recibe la instrucción de cancelar, intenta limpiarse a sí misma mediante la eliminación de cualquier dato que haya creado y la emisión de un mensaje de advertencia. Según el tipo de tarea de limpieza que estaba realizando la herramienta, la cancelación puede tardar un tiempo.
Consideraciones de rendimiento
El procesamiento en segundo plano puede considerarse como otra sesión de ArcMap ejecutándose en el equipo pero sin la ventana de ArcMap abierta. Este proceso adicional (sesión) inicia la primera vez que se ejecuta una herramienta en segundo plano y permanece hasta que sale de la sesión de ArcMap. Notará una breve demora en la ejecución de la primera herramienta cuando se inicia el proceso en segundo plano.
Cuando trabaja con datasets grandes, algunas herramientas de geoprocesamiento, particularmente aquellas que utilizan el procesamiento en teselas, necesitan todos los recursos del equipo (memoria y CPU) que pueda proporcionarles. Si una herramienta que envió para ser procesada en segundo plano falla porque no hay suficiente memoria disponible (error "000426: memoria insuficiente" o "999998: error inesperado"), puede intentar lo siguiente:
- Identifique y cierre las aplicaciones que requieren mucha memoria y que no son esenciales.
- Desactive el procesamiento en segundo plano desde el cuadro de diálogo Opciones de geoprocesamiento (Geoprocesamiento > Opciones de geoprocesamiento). Esto cierra el proceso en segundo plano y libera recursos.
- Vuelva a ejecutar la herramienta.
Si sigue el procedimiento mencionado anteriormente, el procesamiento en segundo plano se omite, el proceso en segundo plano adicional no se inicia y los recursos que éste consumiría se encuentran disponibles para uso de la herramienta. Mientras se está ejecutando la herramienta, evite iniciar cualquier aplicación que requiera mucha memoria.