Automatizar Flujos de Trabajo Complejos usando el Modelador de Procesos

Advertencia

Una nueva versión de este tutorial está disponible en Automatizar Flujos de Trabajo Complejos usando el Modelador de Procesos (QGIS3)

Los Flujos de Trabajo SIG típicamente involucran varios pasos - con cada paso generando una salida intermedia que es usada por el siguiente paso. Si se cambia los datos de entrada o se quiere retocar un parámetro, necesitará correr manualmente de nuevo por todo el proceso. Afortunadamente, QGIS tiene un modelador gráfico incorporado que puede ayudarle a definir su flujo de trabajo y ejecutarlo en una sola llamada. Puede también ejecutar esos flujos de trabajo por lote sobre un gran número de entradas.

Vista general de la tarea

Este tutorial muestra cómo construir un modelo para extraer áreas para una clase particular de un ráster clasificado de uso de la tierra.

Obtener los datos

Usaremos los Mosaicos Globales del producto estándar de datos de tipo de cobertura de la tierra MODIS del Global Land Cover Facility (GLCF) como un ejemplo.

Advertencia

El 31 de diciembre 2018, GLCF cerró sus servicios y los archivos necesitados para este tutorial ya no están accesibles.

Puede descargar directamente una copia de archivo de ambos conjuntos de datos de los enlaces abajo si desea trabajar en este tutorial:

LC_hd_global_2001.tif.gz

LC_hd_global_2012.tif.gz

Fuente de Datos [GLCF_MODIS]

Procedimiento

Nuestro flujo de trabajo para este ejercicio tendrá los siguientes pasos.

  • Aplicar un algoritmo de Filtro de Mayoría al ráster de cobertura de la tierra de entrada. Esto reducirá el ruido en nuestra salida eliminando píxeles aislados.

  • Convertir el resultado ráster en una capa polígono.

  • Consultar un valor de clase a partir de una tabla de atributos de la capa polígono y crear una capa vectorial para esa clase.

Los siguientes pasos bosquejan el proceso para codificar el proceso arriba en un modelo y ejecutarlo en los conjuntos de datos descargados.

  1. Inicie QGIS y vaya a Procesos ‣ Modelador Gráfico….

../_images/1203.png
  1. El diálogo Modelador de procesos contiene un panel a la izquierda y una pantalla principal. Seleccione la pestaña Entradas en el panel de la izquierda y arrastre la + Capa ráster a la pantalla.

../_images/2167.png
  1. Un diálogo Definición de parámetro aparecerá. Ingrese Entrada como el Nombre de parámetro y marque Si en Requerido. Clic en Aceptar.

../_images/3106.png
  1. Verá aparecer una capa con el nombre Entrada. Esto representa el ráster cobertura de la tierra que usaremos como entrada. El siguiente paso es aplicar un algoritmo de Flitro de mayoría. Cámbiese a la pestaña Algoritmo de la esquina inferior izquierda. Busque el algoritmo y lo encontrará listado bajo el proveedor SAGA. Arrástrelo a la pantalla.

Nota

Si no ve este algoritmo o cualquiera de los subsecuentes algoritmos mencionados en este tutorial, puede que esté usando el Interfaz Simplificado de la Caja de Herramientas de Procesos. Cambie al Interfaz Avanzado usando el menú desplegable abajo en la Caja de Herramientas de Procesos en la ventana principal QGIS.

../_images/469.png
  1. Se presentará un diálogo de configuración para Filtro de Mayoría. Deje los valores predeterminadoos y clic en Aceptar.

../_images/563.png
  1. Notará que ahora existe una nueva caja llamada Filtro de Mayoría en la pantalla y que está conectada a la caja Entrada. Esto es porque el algoritmo Filtro de Mayoría usa el ráster Entrada como su entrada. El siguiente paso en nuestro flujo de trabajo es convertir la salida del filtro de mayoría a vector. Encuentre el algoritmo Poligonizar (ráster a vector) y arrástrelo a la pantalla.

Nota

Las cajas pueden ser movidas y ordenadas haciendo clic en ellas y arrastrándolas mientras se mantiene presionado el botón izquierdo del ratón. También puede usar la rueda de desplazamiento del ratón para acercarse o alejarse en la pantalla del modelo.

../_images/660.png
  1. Seleccione “Grid Filtrado” del algoritmo “Filtro de Mayoría” como el valor para Capa de entrada. Clic en Aceptar.

../_images/759.png
  1. El paso final en el flujo de trabajo es consultar un valor de clase y crear una nueva capa de los objetos espaciales que coincidan. Busque el algoritmo Extraer por atributo y arrástrelo a la pantalla.

../_images/857.png
  1. Seleccione “Vectorizado” del algoritmo “Poligonizar (ráster a vector) como la Capa de entrada. Queremos extraer los píxeles que representan Cultivos. El valor de píxel correspondiente para esta clase será 12. (vea Valores de Código). Ingrese DN como el Atributo de selección y 12 como el valor. Como la salida de esta operación será el resultado final, necesitaremos nombrar la salida. Ingrese clase vectorizada como la Salida.

../_images/956.png
  1. Ingrese el Nombre del modelo como vectorize y Nombre de grupo como ráster. Clic el botón Guardar.

../_images/1064.png
  1. Nombre a su modelo como vectorize y clic en Guardar.

../_images/11103.png
  1. Ahora es momento para probar nuestro modelo. Cierre el modelador y cámbiese a la ventana principal QGIS. Vaya a Capa ‣ Añadir Capa ‣ Añadir Capa Ráster….

../_images/1265.png
  1. Navegue al archivo descargado LC_hd_global_2001.tif.gz y clic en Abrir. Una vez que esté cargado el ráster, vaya a Procesos ‣ Caja de Herramientas.

../_images/1362.png
  1. Encuentre el modelo recién creado bajo Modelos ‣ ráster ‣ vectorize. Doble-clic para iniciar el modelo.

../_images/1459.png
  1. Seleccione LC_hd_global_2001 como la Entrada y clic en Ejecutar.

../_images/1554.png
  1. Verá todos los pasos ejecutarse sin ninguna entrada de usuario. Una vez que finalice el procesamiento, se agregará una nueva capa vectorized_class a QGIS. Mejoremos el modelo un poco. Clic-derecho en el modelo vectorize y seleccione Editar modelo.

../_images/1651.png
  1. En el Paso 12, codificamos el valor 12 como el valor de clase. En vez de ello, podemos especificarlo como un parámetro de entrada que el usuario pueda cambiar. Para agregar esto, cámbiese a la pestaña Entradas y arrastre + String al modelo.

../_images/1748.png
  1. Ingrese el Nombre de Parámetro como Clase. Ingrese 12 como el Valor predeterminado.

../_images/1845.png
  1. Ahora cambiaremos el algoritmo Extraer por atributo para usar esta entrada en vez del valor codificado. Clic el botón Editar junto a la casilla Extraer por atributo.

../_images/1936.png
  1. Clic la flecha desplegable para Valor y seleccione Clase. Clic en Aceptar.

../_images/2031.png
  1. Verá del diagrama de modelo que el algoritmo Extraer por atributo ahora usa 2 entradas. El modelador tiene un atajo para iniciar el modelo y probarlo. Clic el botón Ejecutar de la barra de herramientas.

../_images/2168.png
  1. Note que el diálogo del modelo tiene un nuevo campo editable llamado Clase. Ingrese 16 como el valor Clase y clic en Ejecutar.

../_images/2231.png
  1. Una vez que termine el procesamiento, verá que con sólo un clic de un botón fuimos capaces de ejecutar un flujo de trabajo complejo y extraer el área para la clase 16.

../_images/2328.png
  1. Ahora que nuestro modelo está listo, podemos ejecutarlo así de fácil con una nueva capa ráster. Cargue el archivo LC_hd_global_2012.tif.gz yendo a Capa ‣ Añadir Capa ‣ Añadir Capa Ráster…. Clic el modelo vectorizar del panel Caja de herramientas Procesos.

../_images/2428.png
  1. Elija la capa LC_hd_global_2012 como la Entrada y clic en Ejecutar.

../_images/2526.png
  1. Una vez esté cargada la nueva salida, puede comparar los cambios en las Tierras de Cultivos del 2001 al 2012.

../_images/2624.png
  1. Es siempre una buena idea agregar documentación a su modelo. El modelador tiene un Editor de ayuda incorporado que le permite insertar ayuda directamente en el modelo. Clic-derecho al modelo vectorize y seleccione Editar modelo.

../_images/2723.png
  1. Clic el botón Editar ayuda de modelo de la barra de herramientas.

../_images/2822.png
  1. En el diálogo Editor de ayuda, seleccione cualquier elemento del panel Seleccionar elemento para editar e ingrese el texto de ayuda en Descripción de elemento. Clic en Aceptar. Esta ayuda estará disponible en la pestaña Ayuda cuando inicie el modelo para que se ejecute.

../_images/2919.png

Los modelos pueden ser grandes ahorradores de tiempo y permitirle escribir su flujo de trabajo una vez y ejecutarlo múltiples veces. Puede incluso compartir su modelo con otros usuarios. Los archivos de modelo son guardados en el directorio .qgis2. Puede enviar el archivo .model a otro usuario que puede copiarlo al directorio apropiado en su computadora y aparecerá en la Caja de herramientas de Procesos. La ubicación de directorio de modelos dependerá de la plataforma como sigue: (Reemplace username con su nombre de acceso)

Windows

c:\Users\username\.qgis2\processing\models\

Mac

/Users/username/.qgis2/processing/models/

Linux

/home/username/.qgis2/processing/models/

If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)