23.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 sobre el que se representan la estructura del modelo y su flujo de trabajo. La parte izquierda de la ventana es una sección con cinco paneles, que pueden utilizarse para añadir nuevos elementos al modelo:
Propiedades del Modelo
: puede especificar el nombre del modelo y el grupo que lo contendráEntradas
: todas las entradas de datos que configurarán su modeloAlgoritmos
: todos los algoritmos de procesamiento disponiblesVariables
: también puede definir variables que estén solo disponibles en el Modelador de ProcesosHistorial del comando Deshacer
: este panel registra todo lo que sucede en el modelador, permitiendo corregir los errores cometidos.
Para crear un modelo hay que seguir dos pasos fundamentales:
Definir los datos de entrada necesarios. Estos datos de entrada se añadirán a la ventana de parámetros, de tal manera que el usuario puede establecer sus valores cuando se ejecute el modelo. El modelo es, en sí mismo, un algoritmo, por lo que la ventana de parámetros se genera automáticamente para todos los algoritmos disponibles en el entorno de procesamiento.
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.
23.5.1. Definir entradas¶
El primer paso consiste en definir todos los datos de entrada del modelo. En el panel Inputs, situado a la izquierda de la ventana del modelador, se encuentran los siguientes elementos:
Configuración de Autenticación
Booleano
Color
Nombre de la Conexión
Operación de Coordenadas
SRC
Esquema de la Base de Datos
Tabla de la Base de Datos
tipo Datetime (FechaHora)
Distancia
Enum
Expresión
Extensión
Campo de agregación
Mapeador de campos
Archivo/Carpeta
Geometría
Capa de mapa
Tema de Mapa
Matriz
Capa de Malla
Entrada múltiple
Número
Punto
Imprimir composición
Imprimir elemento de la composición
Intervalo
Banda ráster
Capa Ráster
Escala
Cadena
Creación de capas TIN
Objetos vectoriales
Campo vectorial
Capa vectorial
Capas de escritor de teselas vectoriales
Nota
Al pasar el puntero del ratón sobre los datos de entrada se mostrará una ayuda con información adicional.
Al hacer doble clic sobre un elemento, aparece un diálogo que le permite definir sus características. En función del parámentro, la ventana de diálogo contendrá al menos un elemento (la descripción, que es lo que que el usuario verá al ejecutar el modelo). Por ejemplo, si se añade un valor numérico, como en la figura que se muestra a continuación, además de la descripción de los parámetros, debe establecer un valor por defecto y un rango de valores válidos.
Puede forzar a que sea obligatorio incluir un valor de entrada marcando la |casilla| Obligatorio
, mientras que marcando la casilla |desmarcado| Avanzado
se establece que la entrada de datos aparezca en la sección Avanzado
. Esto resulta especialmente útil cuando el modelo cuenta con varios parámetris y algunos de ellos no son triviales, pero usted sigue queriendo elegirlos.
La pestaña Comentarios
permite etiquetar los datos de entrada con más información, para describir mejor el parámetro. Los comentarios solo estarán visibles en el lienzo del modelador y no en el diálogo final del algoritmo.
Para cada fuente de datos de entrada añadida, se añade un elemento nuevo al lienzo del modelador.
También puede añadir inputs al modelo, arrastrando el tipo de input al lugar que desee en el lienzo del modelador. Si desea cambiar un parámetro de un input existente, simplemente haga doble clic en él y aparecerá el mismo diálogo.
23.5.2. Definicion del flujo de trabajo.¶
En el siguiente ejemplo, añadimos dos inputs y dos algoritmos. El propósito de este modelo es copiar los valores de elevación tomados de una capa ráster MDE a una capa vectorial de líneas, utilizando el algoritmo Drape
(cubrir), y después calcular el ascenso total de la capa de líneas utilizando el algoritmo Climb Along Line
(Ascenso a lo largo de una línea).
En la pestaña Inputs , elija ambos inputs como Capa Vectorial` para la línea y Capa Ráster
para el MDE. Y ya estamos listos para añadir los algoritmos para el flujo de trabajo.
Los algoritmos están disponibles en el panel Algorithms, agrupados más o menos igual que como lo están en la Caja de Herramientas de Procesos.
Para añadir un algoritmo a un modelo, haga doble clic sobre su nombre o arrástrelo, del mismo modo que con los inputs. Al igual que con estos, puede cambiar la descripción del algoritmo y añadir comentarios. En el momento de añadir un algoritmo, aparecerá un diálogo de ejecución, con contenidos similares a los del panel de ejecución que aparece cuando se ejecuta el algoritmo desde la Caja de Herramientas. En la figura que aparece a continuación se muestran los diálogos de los algoritmos Cubrir (establecer el valor Z de un ráster)
y Ascender por una línea
.
Como puede observar, hay algunas diferencias.
Hay cuatro opciones para definir los inputs del algoritmo:
Valor
: le permite establecer el parámetro para una capa cargada en el proyecto QGIS o para otra capa, elegida desde una carpetaValor Pre-calculado
: con esta opción puede abrir el Constructor de Expresiones y definir su propia expresión para completar el parámetro. Los inputs del modelo, al igual que algunas otras estadísticas de capa están disponibles como variables y aparecen listadas en la parte superior del Diálogo de Búsqueda del Constructor de Expresiones.Input del Modelo
: elija esta opción si el parámetro procede de un input del modelo que haya definido usted. Una vez pulsado, esta opción ofrecerá una lista de todos los inputs adecuados para el parámetro|procesamiento|
Salida del Algoritmo
: es útil cuando el parámetro de entrada de un algoritmo es la salida de otro algoritmo.
Las salidas del algoritmo tienen la opción adicional Salida del modelo
que hace que la salida del algoritmo esté disponible en el modelo.
Si la capa que genera el algoritmo solo va a ser utilizada como input de otro algoritmo, no modifique esa caja de texto
En la siguiente imagen puede ver las dos entradas de parámetros, definidas como Entrada del Modelo
y capa temporal de salida:
En todos los casos, se encontrará un parámetro adicional llamado Algoritmos padres que no está disponible cuando se invoca al algoritmo desde la caja de herramientas. Este parámetro permite definir el orden en que se ejecuten los algoritmos, definiendo explícitamente un algoritmo como padre del actual. Esto obligará al padre a ser ejecutado antes que el actual.
Cuando utiliza el resultado 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 resulta útil para hacer que la estructura del modelo sea más clara e intuitiva. También puede redimensionar los elementos, lo que resulta especialmente útil si la descripción del input o del algoritmo es muy larga.
Las relaciones entre los elementos se actualizan automáticamente y aparece un botón con el signo más al principio y al final de cada algoritmo. Al hacer clic en el botón, se despliega una lista con todas las entradas y salidas del algoritmo para que pueda tener una vista rápida.
Puede acercar el zoom usando la rueda del ratón
Puede ejecutar el algoritmo en cualquier momento, hacindo clic en el botón |empezar|. Si quiere utilizar el algoritmo desde la caja de herramientoas, tiene que guardarlo y cerrar el diálogo del modelador para permitir que la caja de herramientas actualice sus contenidos.
23.5.3. Interaccionar con el lienzo y sus elementos.¶
Puede usar los botones , , y para hacer zoom en el lienzo del modelador. El comportamiento de los botones es básicamente el mismo que el de la barra de herramientas principal de QGIS.
El panel Historial de deshacer
junto con los botones |deshacer| y |rehacer| son extremadamente útiles para volver rápidamente a una situación anterior. El panel Historial de deshacer
enumera todo lo que ha hecho al crear el flujo de trabajo.
Puede mover o cambiar el tamaño de muchos elementos al mismo tiempo seleccionándolos primero, arrastrando el mouse.
Si desea ajustar los elementos mientras los mueve en el lienzo, puede elegir
.El menú
contiene algunas opciones muy útiles para ineractuar con los elementos de su modelo:Seleccionar Todo: seleccionar todos los elementos del modelo
Ajustar componentes seleccionados a la cuadrícula
: ajuste y alinee los elementos en una cuadrículaBorrar Componentes Seleccionados: borrar todos los elementos seleccionados del modelo
Agregar recuadro de grupo
: agregue un cuadro arrastrable al lienzo. Esta función es muy útil en modelos grandes para agrupar elementos en el lienzo del modelador y mantener limpio el flujo de trabajo. Por ejemplo, podríamos agrupar todas las entradas del ejemplo:
Puede cambiar el nombre y el color de los cuadros. Los cuadros de grupo son muy útiles cuando se usan junto con :Ver -> Zoom a. Esto le permite hacer zoom a una parte específica del modelo.
Es posible que desee cambiar el orden de las entradas y cómo se enumeran en el cuadro de diálogo del modelo principal. En la parte inferior del panel Entrada
encontrará el botón Reordenar entradas del modelo...
y al hacer click en él, aparecerá un nuevo cuadro de diálogo que le permitirá cambiar el orden de las entradas:
23.5.4. Guardar y cargar modelos.¶
Utilice el botón Guardar modelo para guardar el modelo actual y el botón Abrir modelo para abrir un 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 se mostrarán en el panel Navegador y pueden ser ejecutados desde allí.
23.5.4.1. Exportar un modelo como imagen, PDF o SVG¶
También se puede exportar un modelo como imagen, SVG o PDF (con fines ilustrativos) haciendo click en Exportar como imagen, Exportar como PDF o Exportar como SVG.
23.5.5. 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:
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.
Al seleccionar la opción 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.
El Agregar comentario… le permite agregar un comentario al algoritmo para describir mejor el comportamiento.
Un modelo se puede ejecutar parcialmente desactivando algunos de sus algoritmos. Para hacerlo, seleccione la opción Desactivar en el menú contextual que aparece al hacer clic derecho sobre un elemento del algoritmo. El algoritmo seleccionado y todos los del modelo que dependen de él se mostrarán en gris y no se ejecutarán como parte del modelo.
Al hacer clic derecho en un algoritmo que no está activo, verá una opción de menú :guilabel:ʻActivar` que puede usar para reactivarlo.
23.5.6. Editando archivos de ayuda y meta informacion de modelos¶
Puede documentar sus modelos desde el propio modelador. Haga click en el botón Editar ayuda del modelo y aparecerá un cuadro de diálogo como el que se muestra a continuació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.
23.5.7. Exportando un modelo como un script Python¶
Como veremos en un capítulo posterior, los algoritmos de procesamiento se pueden llamar desde la consola 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 click en Exportar como algoritmo de script … en el lienzo del modelador o haga clicl con el botón derecho en el nombre del modelo en la caja de herramientas de procesamiento y seleccione | saveAsPython |: sup: `Exportar modelo como algoritmo de Python … `.
23.5.8. 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.