48. Procesado por lotes¶
48.1. Introducción
Todos los geoprocesos (incluyendo los modelos) pueden ejecutarse como procesos por lotes. Es decir, pueden ejecutarse repetidamente sobre un conjunto de parámetros de entrada, sin necesidad de llamar en varias ocasiones a la extensión correspondiente a través de la caja de herramientas. Esto sirve, entre otras cosas, para ejecutar una herramienta (por ejemplo, la aplicación de un filtro) sobre un conjunto de capas, tales como todas las contenidas en una carpeta dada.
Pulsando en la caja de herramientas sobre un geoproceso con el botón derecho del ratón aparece un menú contextual con la opción “Ejecutar como proceso por lotes”.
48.2. Tabla de parámetros
Ejecutar un proceso por lotes no es muy diferente de ejecutar un geoproceso de la forma habitual. Basta con especificar los parámetros que controlan la ejecución del algoritmo correspondiente, las entradas de éste y sus salidas.
Estas tareas se realizan en una tabla, como la mostrada en la siguiente figura.
Cada línea de la tabla representa una ejecución individual del geoproceso, y las celdas de esa línea contienen los valores de los parámetros, de la misma forma que éstos se introducirían en los distintos campos.
Por defecto, la tabla contiene únicamente dos filas. Puede variarse el número de éstas utilizando los botones “Añadir fila” y “Eliminar fila” situados en la parte derecha de la ventana.
Haciendo doble clic sobre una celda, puede editarse su contenido y teclear el texto que se desee introducir. Salvo que el parámetro asociado sea un valor numérico o una cadena como tal, aparecerá en la parte derecha de la celda un botón que permite introducir el valor del parámetro de una forma distinta.
Con independencia del tipo de parámetro, si el valor que se ha introducido es correcto, el texto correspondiente aparece en negro. Si no lo es, aparecerá en rojo.
Una diferencia importante con respecto a la ejecución de una extensión de la forma habitual es que todos los objetos de entrada (capas raster, capas vectoriales y tablas) se toman directamente de ficheros y no del proyecto actual o la vista activa. Por esta razón, cualquier extensión puede ejecutarse como un proceso por lotes con independencia de cuál sea la ventana activa o la información que contenga, a diferencia de lo que sucede con esa misma extensión si se llama desde la caja de herramientas.
Los nombres de los archivos de entrada se introducen directamente tecleándose sobre la celda en edición o mediante el cuadro de diálogo que aparece al hacer clic en el botón lateral. Este cuadro de diálogo permite la selección de múltiples archivos. Si el parámetro editado es una selección múltiple, todos los nombres de archivo pasan a la celda, separados por comas. En caso de ser una capa simple o una tabla, el nombre del primer archivo pasa a la celda, y los restantes se ponen en las celdas situadas por debajo de ésta. De este modo, se facilita la ejecución de un proceso sobre un conjunto de archivos, tales como todos los de una carpeta.
En el caso de requerirse la selección de múltiples bandas, aparece un cuadro algo más complejo, con una nueva tabla. En ella debe seleccionarse en la columna izquierda el fichero deseado, y en la columna derecha las bandas de éste a emplear. Por defecto se pueden escoger bandas en el rango 1-250, ya que a priori no se conoce el número de bandas del archivo (sería necesario abrirlo). Si se selecciona una banda por encima del rango de bandas disponibles en un archivo dado, se arrojará un error informará de ello una vez se lance la ejecución del proceso por lotes.
Para el caso de archivos de salida, no existe la opción de almacenar el resultado en un archivo temporal, siendo obligatorio especificar un nombre de archivo para guardarlo de forma permanente. También en este caso encontramos un elemento que facilita el rellenar las celdas correspondientes. El cuadro de diálogo que aparece en este caso contiene componentes adicionales en su lado derecho.
Si dejamos la opción por defecto No autorellenar, el archivo seleccionado pasa a la celda en cuestión, no añadiéndose nada más en otras celdas. Con cualquiera de las otras opciones, se toma el nombre de dicho archivo como nombre base y se rellenan todas las celdas situadas por debajo con nuevos nombres de archivo creados a partir dicho nombre base y valores numéricos correlativos, o los valores de otro parámetro seleccionado.
Pueden seleccionarse celdas pinchando y arrastrando sobre la tabla. Esta selección puede copiarse y pegarse en otras partes, utilizando las funciones que aparecen al hacer clic con el botón derecho del ratón sobre la tabla. De esta forma, resulta más sencillo completar la tabla cuando aparezcan valores repetidos.
48.3. Características de las salidas ráster
Al igual que en la ejecución de un geoproceso ndividualmente, es necesario establecer las dimensiones y el tamaño de celda cuando la extensión en concreto genere capas ráster. En el caso de un proceso por lotes, este proceso se lleva a cabo de igual modo, estableciendo una configuración única que se aplica a todos los subprocesos. Ésta se establece mediante una pestaña independiente, aunque, a diferencia de la ejecución normal de una extensión, no existen las opciones de ajuste a la Vista y ajuste a una capa. Por lo demás, el manejo es igual.
La selección elegida en la salida ráster sera aplicada a todas las operaciones. Si se quiere usar una configuración diferente de salida raster, entonces se debe definir un proceso por lotes diferente.
48.4. Ejecutar el proceso por lotes
Con la tabla ya definida, sólo resta hacer clic sobre el botón Aceptar para lanzar la ejecución de los procesos. Al término de la ejecución se muestra un resumen textual de todos los procesos desarrollados, indicando los valores que se han empleado en cada uno de ellos, o informando de posibles errores. Las nuevas capas creadas se guardan en el directorio que por defecto se ha establecido anteriormente.
48.5. Procesos por lotes con capas ya cargadas
Existe una forma adicional de ejecutar un proceso por lotes, en este caso empleando capas que ya estén abiertas en gvSIG (las mismas que podrías utilizar para ejecutar un geoproceso de forma individual). Se ejecuta pulsando con el botón derecho del ratón sobre el nombre del geoproceso y seleccionando en el menú contetual “Ejecutar como proceso por lotes con capas cargadas”.
La ventana que aparece se asemeja a la del proceso por lotes con la diferencia de que las capas de entrada no se eligen como ficheros, sino seleccionando los nombres de capas que ya estuvieran abiertas previamente.