Outdated version of the documentation. Find the latest one here.

17.23. Ejecución iterativa de algoritmos

Nota

Esta lección muestra una forma diferente de ejecutar algoritmos que usan capas vectoriales, al ejecutarlos repetidamente, iterar sobre las entidades de una capa vectorial de entrada

Ya conocemos el modelador gráfico, que es una forma de automatizar tareas de procesamiento. Sin embargo, en algunas situaciones, el modelador puede que no sea lo que necesitemos para automatizar una tarea dada. Vamos a ver una de estas situaciones y cómo resolverlo fácilmente utilizando una funcionalidad diferente: la ejecución iterativa de algoritmos.

Abra los datos correspondientes de este capitulo. Debe tener un aspecto como este.

../../../_images/project1.png

Usted reconocerá nuestro DEM conocido de los capítulos anteriores y un conjunto de cuencas extraídos de ella. Imagine que usted necesita cortar el DEM en varias capas más pequeñas, cada una de ellas contiene sólo los datos de elevación correspondientes a una sola cuenca. Eso será útil si más adelante desea calcular algunos parámetros relacionados con cada cuenca, como su elevación media o curva hipsográfica.

Esta puede ser una tarea larga y extensa, especialmente si el numero de cuencas es grande. Sin embargo, es una tarea que se puede automatizar fácilmente, como veremos más adelante.

The algorithm to use for clipping a raster layer with a polygon layer is called Clip grid with polygons, and has the following parameters dialog.

../../../_images/clip3.png

Se puede ejecutar utilizando la capa de cuencas y el DEM como entrada, y obtendrá el siguiente resultado.

../../../_images/full_clip.png

Como puede ver, se utiliza el área cubierta por todos los polígonos de cuenca.

Puede tener el DEM recortado con sólo una sola cuenca, seleccionando la cuenca deseada y luego ejecutar el algoritmo como lo hicimos antes.

../../../_images/selection.png

Dado que solo se utilizan las entidades seleccionadas, sólo el polígono seleccionado se utilizará para recortar la capa ráster.

../../../_images/selection_clip.png

Hacer esto para todas las cuencas producirá el resultado que estamos buscando, pero no se ve como una forma practica de hacerlo. En su lugar, vamos a ver cómo automatizar esta rutina seleccionar y cortar.

First of all, remove the previous selection, so all polygons will be used again. Now open the Clip grid with polygon algorithm and select the same inputs as before, but this time click on the button that you will find in the right–hand side of the vector layer input where you have selected the watersheds layer.

../../../_images/iterate_button.png

Este botón hará que la capa de entrada seleccionada para ser dividida en tantas capas como entidades se encuentran en ella, cada uno de ellos contiene un solo polígono. Con eso, el algoritmo se llama varias veces, una para cada una de esas capas de un solo polígono. El resultado, en lugar de sólo una capa de trama en el caso de este algoritmo, será un conjunto de capas de mapa de bits, cada uno de ellos correspondiente a una de las ejecuciones del algoritmo.

Aquí esta el resultado que se obtendrá si se ejecuta el algoritmo de recorte como se ha explicado.

../../../_images/result_iterative.png

Para cada capa, la paleta de color blanco y negro, (o cualquier paleta que este utilizando), se ajusta de manera diferente, desde valores un mínimo a sus valores máximos. Esa es a razón por el cual se pueden ver las diferentes piezas y los colores no parecen coincidir en la frontera entre las capas.Los valores, sin embargo, hacen juego.

Si introduce un nombre de archivo de salida, los archivos resultantes serán nombrados utilizando ese nombre de archivo y un número correspondiente para cada iteración como sufijo