` `

Modelador gráfico

El “modelador gráfico” le permite crear modelos complejos usando una interfaz simple y fácil de usar. Cuando trabajas con SIG, la mayoría de los operaciones de análisis no están aislados, en cambio son parte de una cadena de operaciones. Usando un modelador gráfico, esa cadena de procesos se pueden envolver en un solo proceso, para que sea mas conveniente de ejecutarlo como un solo proceso más adelante en un conjunto diferente de las entradas. Sin importar cuantos pasos o diferentes algoritmos están involucrados, un modelo se ejecuta como un solo algoritmo, así ahorrando tiempo y esfuerzo, especialmente para modelos mas grande.

El modelador puede ser abierto desde el menu de procesamiento

El modelador tiene un cambas funcional donde la estructura del modelo y el flujo de trabajo que representa se puede ver. En la parte izquierda de la ventana, un panel con dos pestañas se pueden utilizar para agregar nuevos elementos al modelo.

../../../_images/modeler_canvas.png

Modelador

Crear un modelo requiere dos pasos:

  1. “Definición de entradas no 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.

  2. “Definición de un flujo de trabajo”. Usando los datos entrantes de un modelo, el flujo de trabajo se define por algoritmos adicionales y seleccionando como se utilizan las entradas o salidas generados por otros almoritmos que ya estan en el modelo.

Definir entradas

El primer paso de crear un modelo es definir las entradas que se necesitan. Los siguientes elemenos se encuentran en la pestaña en el lado izquierdo de la ventana de modelos.

  • Capa Raster

  • Capa Vector

  • Cadena

  • Campo de la tabla

  • Tabla

  • Extensión

  • NUmero

  • Boolean
  • Archivo

Haga doble clic en cualquiera de estos elementos, un diálogo se muestra para definir sus características. Depende de los parámetros en si. EL diálogo podría contener sólo un elemento básico (la descripción, que es la que el usuario verá al ejecutar el modelo) o más de ellos. Por ejemplo, al añadir un valor numérico, como se puede ver en la siguiente figura, parte de la descripción del parámetro, tiene que establecer un valor y un rango de valores validos.

../../../_images/models_parameters.png

Model Parameters Definition

Para cada entrada adicional, un nuevo elemento se agrega al canvas modelador.

../../../_images/models_parameters2.png

Model Parameters in canvas

También puede añadir entradas al arrastrar el tipo de entrada de la lista y soltarlo en la vista del modelador, en la posición donde dese ubicarla.

Definicion del flujo de trabajo.

Una vez que se ha definido las entradas, es tiempo para definir los algoritmos que se les aplica. Los algoritmos se peuden encontrar en la pestaña Algorithms , agupados de una manera parecida a como estan en la caja de herramientas.

../../../_images/models_parameters3.png

Model Inputs

Para añadir un algoritmo a un modelo, haga doble clic en su nombre o arrastre y suéltelo, al igual que se hace cuando añade entradas. Un diálogo de ejecución aparecerá, con un contenido similar a una encontrada en el panel de ejecución que se muestra cuando ejecutan el algoritmo de la caja de herramientas. La que se muestra a continuación corresponde al algoritmo ‘Índice de convergencia’ de SAGA.

../../../_images/models_parameters4.png

Model Algorithm parameters

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 se utiliza 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. Estos 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.

  • Numerical values. Literal values can be introduced directly in the text box. But this text box is also a list that can be used to select any of the numerical value inputs of the model. In this case, the parameter will take the value introduced by the user when executing the model.
  • String. As in the case of numerical values, literal strings can be typed, or an input string can be selected.
  • Campo de tabla. Los campos de la tabla padre o capa no se pueden conocer en tiempo de diseño, ya que dependen de la selección del usuario cada vez que el modelo es ejecutado. Para establecer el valor de este parámetro, escriba el nombre de un campo directamente en la caja de texto, o utilice la lista para seleccionar una entrada de campo de la tabla ya agregado al modelo. La validez del campo seleccionado será comprobada 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 se utiliza la salida de un algoritmo anterior como la entrada de su algoritmo, que establece de forma implícita el algoritmo anterior como padre del actual (y coloca la flecha correspondiente en la vista del modelador). Sin embargo, en algunos casos, un algoritmo puede depender de otro, incluso si no se utiliza ningún objeto de salida de la misma (por ejemplo, un algoritmo que ejecuta una sentencia de SQL en una base de datos PostGIS y otro que importa una capa en la misma base de datos) . En ese caso, basta con seleccionar el algoritmo anterior en el parámetro Algoritmos padres y los dos pasos se ejecutarán en el orden correcto.

Once all the parameters have been assigned valid values, click on [OK] and the algorithm will be added to the canvas. It will be linked to all the other elements in the canvas, whether algorithms or inputs, that provide objects that are used as inputs for that algorithm.

Los elementos se pueden arrastrar a una diferente posición dentro de la vista, para cambiar la forma de la estructura del modulo se muestra y hace más claro e intuitivo. Enlaces entre los elementos se actualizan automáticamente. Se puede acercar y alejar utilizando la rueda del ratón.

You can run your algorithm any time by clicking on the [Run] button. However, in order to use the algorithm from the toolbox, it has to be saved and the modeler dialog closed, to allow the toolbox to refresh its contents.

Guardar y cargar modelos.

Use the [Save] button to save the current model and the [Open] button to open any model previously saved. Models are saved with the .model extension. If the model has been previously saved from the modeler window, you will not be prompted for a filename. Since there is already a file associated with that model, the same file will be used for any subsequent saves.

Antes de guardar un modelo, tienes que entrar el nombre y el grupo, utilizando las cajas de texto en la parte superior de la ventana.

Los modelos guardados en la carpeta modelos (la carpeta predeterminada cuando se le pide un nombre de archivo para guardar el modelo) aparecerá en la caja de herramientas en la rama correspondiente. Cuando se invoca la caja de herramientas, que busca en la carpeta modelos de archivos con la extensión .model y carga los modelos que contienen. Puesto que un modelo es en sí mismo un algoritmo, este se puede añadir a la caja de herramientas al igual que cualquier otro algoritmo.

La carpeta de los modelos se puede configurar desde el diálogo Procesos, bajo el grupo Modelador.

Se puede cargar modelos desde la carpeta models que no solo aparece en la caja de herramientas sino tambien en el arbol de argoritmos en la pestaña Algorithms de la ventana modeladora.

Editar un modelo.

Puedes editar un modelo que actualmente estar creando, redefiniendo el flujo de trabajo y la relacion entre los algoritmos y las entradas que definen el modelo en si.

Si haces click derecho en un algoritmo en el cambas representado en el modelo, puedes ver el menu de contexto parecido a lo siguiente:

../../../_images/modeler_right_click.png

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.

../../../_images/cannot_delete_alg.png

No se puede borrar el algoritmo

Seleccionando la opción Editar mostrara los parámetros de dialogo del algoritmo, para que puedas cambiar las entradas y los valores de los parámetros. No todos los elementos de entrada disponibles en le modelo van a aparecer en el caso de entradas disponibles. Las capas o valores generados en pasos mas avanzados en el flujo de trabajo por el modelo no van a estar disponibles si ellos causan una dependencia circular.

Select the new values and then click on the [OK] button as usual. The connections between the model elements will change accordingly in the modeler canvas.

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.

../../../_images/deactivated.png

Modelo con algoritmos desactivados

Cuando haga clic en un algoritmo que no este activo, verá en su lugar una opción del menú Activar que puede utilizar para activarlo de nuevo.

Editando archivos de ayuda y meta informacion de modelos

You can document your models from the modeler itself. Just click on the [Edit model help] button and a dialog like the one shown next will appear.

../../../_images/help_edition.png

Edición de Ayuda

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.

Exporting a model as a Python script

As we will see in a later chapter, Processing algorithms can be called from the QGIS Python console, and new Processing algorithms can be created as well using Python. A quick way of creating such a Python script is to create a model and then to export is as a Python file.

To do so, click on the Export as Python script button. Select the output file in the file chooser dialog, and Processing will write in it the Python commands that perform the same operations defined in the current model.

Acerca de algoritmos disponibles

Puede notar que algunos algoritmos que pueden ser ejecutados desde la caja de herramientas no aparecen en la lista de algoritmos disponibles cuando se está diseñando un modelo. Para ser incluidos en un modelo, un algoritmo debe tener una semántica correcta, de modo que sea adecuadamente enlazado a los otros en el flujo de trabajo. Si un algoritmo no tiene tal bien definida la semántica (por ejemplo, si el número de capas de salida no puede ser conocido de antemano), entonces no es posible utilizarlo dentro de un modelo, y por lo tanto, no aparece en el lista de algoritmos que se puede encontrar en el diálogo modelador.

Additionally, you will see some algorithms in the modeler that are not found in the toolbox. These algorithms are meant to be used exclusively as part of a model, and they are of no interest in a different context. The ‘Calculator’ algorithm is an example of that. It is just a simple arithmetic calculator that you can use to modify numerical values (entered by the user or generated by some other algorithm). This tool is really useful within a model, but outside of that context, it doesn’t make too much sense.