22.5. Modelador gráfico¶
El modelador gráfico le permite crear modelos complejos utilizando una interfaz simple y fácil de usar. Cuando se trabaja con un SIG, la mayoría de las operaciones de análisis no están aisladas, sino que forman parte de una cadena de operaciones. Con el modelador gráfico, esa cadena de operaciones se puede agrupar en un solo proceso, por lo que es conveniente ejecutarla más tarde con un conjunto diferente de entradas. No importa cuántos pasos y diferentes algoritmos implique, un modelo se ejecuta como un solo algoritmo, lo que ahorra tiempo y esfuerzo.
El modelador gráfico se puede abrir desde el menú Procesamiento (
).El modelador tiene un lienzo de trabajo donde se muestra la estructura del modelo y el flujo de trabajo que representa. La parte izquierda de la ventana es un panel con dos pestañas que se pueden usar para agregar nuevos elementos al modelo.

Figura 22.18 Modelador¶
Crear un modelo requiere dos pasos:
«Definición de entradas necesarias». Estas entradas se agregaran a la ventana de parámetros, asi el usuario puede poner sus valores cuando se ejecutan los modelos. El modelo en si es un algoritmo, asi la ventana de parámetros de genera automáticamente como pasa con todos los algoritmos disponibles en el marco de referencia del procesador.
Definición del flujo de trabajo. Usando los datos de entrada del modelo, el flujo de trabajo se define agregando algoritmos y seleccionando cómo usan las entradas definidas o las salidas generadas por otros algoritmos en el modelo.
22.5.1. Definir entradas¶
El primer paso es definir las entradas para el modelo. Los siguientes elementos se encuentran en la pestaña Entradas en el lado izquierdo de la ventana del modelador:
Configuración de Autenticación
Booleano
SRC
Color
Distancia
Enum
Expresión
Extensión
Mapeador de campos
Archivo/Carpeta
Capa de mapa
Matriz
Entrada múltiple
Número
Punto
Imprimir composición
Print Layout Item
Intervalo
Banda ráster
Capa Ráster
Escala
Cadena
Objetos vectoriales
Campo vectorial
Capa vectorial
Al hacer doble clic en un elemento, se muestra un cuadro de diálogo que permite definir sus objetos. Dependiendo del parámetro, el diálogo contendrá al menos un elemento básico (la descripción, que es lo que verá el usuario al ejecutar el modelo). Al agregar un valor numérico, como se puede ver en la siguiente figura, además de la descripción del parámetro, debe establecer un valor predeterminado y el rango de valores válidos.

Figura 22.19 Definición de parámetros del Modelo¶
Puede definir su entrada como obligatoria para su modelo marcando la opción Obligatorio y marcando la casilla de verificación
:sup:ʻAvanzado` puede configurar la entrada para que esté dentro de la sección Avanzado. Esto es particularmente útil cuando el modelo tiene muchos parámetros y algunos de ellos no son triviales, pero aún desea elegirlos. Por cada entrada agregada, se agrega un nuevo elemento al lienzo del modelador.

Figura 22.20 Parámetros del modelo¶
También puede agregar entradas arrastrando el tipo de entrada de la lista y soltándolo en la posición donde lo desee en el lienzo del modelador.
22.5.2. Definicion del flujo de trabajo.¶
Una vez definidas las entradas, es el momento de definir los algoritmos del modelo. Los algoritmos se pueden encontrar en la pestaña Algoritmos, agrupados de la misma forma que en la caja de herramientas de Procesamiento.

Figura 22.21 Modelos entrantes¶
Para agregar un algoritmo a un modelo, haga doble clic en su nombre o arrástrelo y suéltelo, al igual que para las entradas. Aparecerá un diálogo de ejecución, con un contenido similar al que se encuentra en el panel de ejecución que se muestra al ejecutar el algoritmo desde la caja de herramientas. Los que se muestran a continuación corresponden al algoritmo QGIS “Drape(set Z value from raster)” y al algoritmo QGIS “Ascenso a lo largo de la línea”.

Figura 22.22 Parámetros de Modelo de Algoritmo¶
Como se puede ver, existen algunas diferencias. En lugar de la caja de salida de archivo que se utiliza para establecer la ruta del archivo para capas y tablas de salida, una caja de texto simple es utilizada aquí. Si la capa generada por el algoritmo es sólo un resultado temporal que será utilizado como la entrada de otro algoritmo y no debe ser mantenida como resultado final, simplemente no modificar ese cuadro de texto. No escribir nada en él significa que el resultado es definitivo y el texto que se proporciona es la descripción de la salida, que será la salida que el usuario verá cuando se ejecute el modelo.
Seleccionar el valor de cada parámetro también es un poco diferente, ya que hay diferencias importantes entre contexto del modelador y de la caja de herramientas. Vamos a ver cómo introducir los valores para cada tipo de parámetro
Las capas (ráster o vectorial) y tablas. Estas se seleccionan de una lista, pero en este caso, los posibles valores no son las capas o tablas actualmente cargadas en QGIS, sino la lista de modelos de entrada del tipo correspondiente, u otras capas o tablas generadas por algoritmos ya añadidos al modelo.
Valores numéricos. Los valores literales se pueden introducir directamente en el cuadro de texto. Al hacer clic en el botón al lado del cuadro de texto, se pueden ingresar expresiones. Las variables disponibles para expresiones incluyen entradas numéricas del modelo, salidas de algoritmos del modelo y también valores estadísticos de las capas disponibles dentro del modelo.
Cadenas. Las cadenas literales se pueden escribir en el cuadro de texto correspondiente. Al hacer clic en el botón al lado del cuadro de texto, se pueden ingresar expresiones, como valores numéricos.
Campo vectorial. Los campos de una capa vectorial no se pueden conocer en tiempo de diseño, ya que dependen de la selección del usuario cada vez que se ejecuta el modelo. Para establecer el valor de este parámetro, escriba el nombre de un campo directamente en el cuadro de texto o use la lista para seleccionar un campo de tabla. La validez del campo seleccionado se comprobará en tiempo de ejecución.
En todos los casos, se encontrará un parámetro adicional llamado Algoritmos padres que no esta disponible cuando llama al algoritmo de la caja de herramientas. Este parámetro permite definir el orden en que se ejecuten los algoritmos definiendo explícitamente un algoritmo como padre de la actual, lo que obligará al padre a ser ejecutado antes del actual.
Cuando utiliza la salida de un algoritmo anterior como entrada de su algoritmo, eso establece implícitamente el algoritmo anterior como padre del actual (y coloca la flecha correspondiente en el lienzo del modelador). Sin embargo, en algunos casos, un algoritmo puede depender de otro incluso si no usa ningún objeto de salida de él (por ejemplo, un algoritmo que ejecuta una sentencia SQL en una base de datos PostGIS y otro que importa una capa en esa misma base de datos) . En ese caso, simplemente seleccione el algoritmo anterior en el parámetro Algoritmos padres y se ejecutarán en el orden correcto.
Una vez que se hayan asignado valores válidos a todos los parámetros, haga clic en Aceptar y el algoritmo se agregará al lienzo. Se vinculará a los elementos del lienzo (algoritmos o entradas) que proporcionan objetos que se utilizan como entradas para el algoritmo.
Los elementos se pueden arrastrar a una posición diferente en el lienzo. Esto es útil para hacer que la estructura del modelo sea más clara e intuitiva. Los enlaces entre elementos se actualizan automáticamente. Puede acercar y alejar con la rueda del ratón.

Figura 22.23 Un modelo completo¶
Puede ejecutar su algoritmo en cualquier momento haciendo clic en el botón Ejecutar. Para utilizar el algoritmo de la caja de herramientas, debe guardarse y cerrarse el cuadro de diálogo del modelador para permitir que la caja de herramientas actualice su contenido.
22.5.3. Guardar y cargar modelos.¶
Utilice el botón Guardar para guardar el modelo actual y el botón Abrir para abrir cualquier modelo previamente guardado. Los modelos se guardan con la extensión .model3
. Si el modelo ya se ha guardado desde la ventana del modelador, no se le pedirá un nombre de archivo. Dado que ya hay un archivo asociado con el modelo, ese archivo se utilizará para guardados posteriores.
Antes de guardar un modelo, debe ingresar un nombre y un grupo para él en los cuadros de texto en la parte superior de la ventana.
Los modelos guardados en la carpeta models
(la carpeta predeterminada cuando se le solicita un nombre de archivo para guardar el modelo) aparecerán en la caja de herramientas en la rama correspondiente. Cuando se invoca la caja de herramientas, busca en la carpeta models
archivos con la extensión .model3
y carga los modelos que contiene. Dado que un modelo es en sí mismo un algoritmo, se puede agregar a la caja de herramientas como cualquier otro algoritmo.
Los modelos también se pueden guardar dentro del archivo del proyecto usando el botón Guardar modelo en proyecto. Los modelos guardados con este método no se escribirán como archivos
.model3
en el disco, sino que se incrustarán en el archivo del proyecto.
Los modelos de proyecto están disponibles en el menú Modelos de proyecto de la caja de herramientas.
La carpeta de los modelos se puede configurar desde el diálogo Procesos, bajo el grupo Modelador.
Los modelos cargados desde la carpeta models
aparecen no solo en la caja de herramientas, sino también en el árbol de algoritmos en la pestaña :guilabel:ʻAlgoritmos` de la ventana del modelador. Eso significa que puede incorporar un modelo como parte de un modelo más grande, al igual que otros algoritmos.
Los modelos aparecerán en el panel Navegador, y se pueden ejecutar desde allí.
22.5.3.1. Exportar un modelo como imagen, PDF o SVG¶
Un modelo también se puede exportar como imagen, SVG o PDF (con fines ilustrativos).
22.5.4. Editar un modelo.¶
Puede editar el modelo que está creando actualmente, redefiniendo el flujo de trabajo y las relaciones entre los algoritmos y las entradas que definen el modelo.
Si hace clic derecho en un algoritmo en el lienzo, verá un menú contextual como el que se muestra a continuación:

Figura 22.24 Click derecho en el modelador¶
Seleccionando la opción Remove va a causar que el algoritmo seleccionado se elimine. Un algoritmo se puede eliminar solo si no hay otros algoritmas dependiendo de este. Eso es, si ninguna salida del algoritmo se utiliza en uno diferente de salida. Si intentar elimiar el algoritmo donde hay dependencia, un mensaje de advertencia como el que se ve abajo va a salir.

Figura 22.25 No se puede borrar el algoritmo¶
Al seleccionar la opción :guilabel:ʻEditar`, se mostrará el diálogo de parámetros del algoritmo, para que pueda cambiar las entradas y los valores de los parámetros. No todos los elementos de entrada disponibles en el modelo aparecerán como entradas disponibles. Las capas o valores generados en un paso más avanzado en el flujo de trabajo definido por el modelo no estarán disponibles si causan dependencias circulares.
Seleccione los nuevos valores y haga clic en el botón Aceptar como de costumbre. En consecuencia las conexiones entre los elementos del modelo cambiarán en el lienzo del modelador.
Un modelo se puede ejecutar parcialmente, desactivando algunos de sus algoritmos. Para hacer eso, seleccione la opción Desactivar en el menú contextual que aparece cuando hace clic derecho en un elemento del algoritmo. El algoritmo seleccionado, y todos los que están en ella se mostrarán en gris y no se ejecutarán como parte del modelo.

Figura 22.26 Modelo con algoritmos desactivados¶
Al hacer clic derecho en un algoritmo que no está activo, verá una opción de menú :guilabel:ʻActivar` que puede usar para reactivarlo.
22.5.5. Editando archivos de ayuda y meta informacion de modelos¶
Puede documentar sus modelos desde el propio modelador. Simplemente haga clic en el botón Editar ayuda del modelo, y aparecerá un diálogo como el que se muestra a continuación.

Figura 22.27 Ayuda de Edición¶
En el lado derecho, verá una página HTML simple, creado mediante la descripción de los parámetros de entrada y salidas del algoritmo, junto con algunos elementos adicionales como una descripción general del modelo o su autor. La primera vez que se abre el editor de ayuda, todas estas descripciones están vacíos, pero se pueden editar utilizando los elementos en la parte izquierda del cuadro de diálogo. Seleccione un elemento en la parte superior y luego escriba su descripción en el cuadro de texto de abajo.
Modelo de ayuda se guarda como parte de un modelo en si.
22.5.6. Exportando un modelo como un script Python¶
Como veremos en un capítulo posterior, los algoritmos de procesamiento se pueden llamar desde la consola de QGIS Python, y se pueden crear nuevos algoritmos de procesamiento usando Python. Una forma rápida de crear un script de Python es crear un modelo y luego exportarlo como un archivo de Python.
Para hacerlo, haga clic con el botón derecho en el nombre del modelo en la caja de herramientas de procesamiento y elija Exportar modelo como algoritmo Python….
22.5.7. Acerca de algoritmos disponibles¶
Es posible que observe que algunos algoritmos que se pueden ejecutar desde la caja de herramientas no aparecen en la lista de algoritmos disponibles cuando está diseñando un modelo. Para ser incluido en un modelo, un algoritmo debe tener la semántica correcta. Si un algoritmo no tiene una semántica tan bien definida (por ejemplo, si el número de capas de salida no se puede conocer de antemano), entonces no es posible usarlo dentro de un modelo y no aparecerá en la lista de algoritmos que puede encontrar en el cuadro de diálogo del modelador.