.

Modelador gráfico

The graphical modeler allows you to create complex models using a simple and easy-to-use interface. When working with a GIS, most analysis operations are not isolated, but rather part of a chain of operations instead. Using the graphical modeler, that chain of processes can be wrapped into a single process, so it is as easy and convenient to execute as a single process later on a different set of inputs. No matter how many steps and different algorithms it involves, a model is executed as a single algorithm, thus saving time and effort, especially for larger models.

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.

Figure Processing 16:

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

Modeler win

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.

Figure Processing 17:

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

Model Parameters win

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

Figure Processing 18:

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

Model Parameters win

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.

Figure Processing 19:

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

Model Parameters win

The appearance of the toolbox has two modes here as well: simplified and advanced. However, there is no element to switch between views in the modeler, so you have to do it in the toolbox. The mode that is selected in the toolbox is the one that will be used for the list of algorithms in the modeler.

To add an algorithm to a model, double-click on its name or drag and drop it, just like it was done when adding inputs. An execution dialog will appear, with a content similar to the one found in the execution panel that is shown when executing the algorithm from the toolbox. The one shown next corresponds to the SAGA ‘Convergence index’ algorithm, the same example we saw in the section dedicated to the toolbox.

Figure Processing 20:

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

Model Parameters win

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

  • Layers (raster and vector) and tables. These are selected from a list, but in this case, the possible values are not the layers or tables currently loaded in QGIS, but the list of model inputs of the corresponding type, or other layers or tables generated by algorithms already added to the model.
  • Los valores numéricos. Los valores literales se pueden introducir directamente en la caja de texto. Pero esta caja de texto también es una lista que se puede utilizar para seleccionar cualquiera de las entradas de valor numérico del modelo. En este caso, el parámetro tomará el valor introducido por el usuario cuando se ejecuta el modelo.

  • Cadena. Como en el caso de valores numéricos, cadenas literales se pueden escribir, o una cadena de entrada se puede seleccionar.

  • 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.

When you use the output of a previous algorithm as the input of your algorithm, that implicitly sets the previous algorithm as parent of the current one (and places the corresponding arrow in the modeler canvas). However, in some cases an algorithm might depend on another one even if it does not use any output object from it (for instance, an algorithm that executes an SQL sentence on a PostGIS database and another one that imports a layer into that same database). In that case, just select the previous algorithm in the Parent algorithms parameter and the two steps will be executed in the correct order.

Una vez que a todos los parámetros se les han asignados valores validos, haga clic en [Aceptar] y el algoritmo se añadirá a la vista. Será enlazado a todos los otros elementos en la vista, si los algoritmos o entradas, eso proporciona objetos que se utilizan como entrada de ese algoritmo.

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 anytime 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.

Utilice el botón actual [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 .model. Si el modelo ha sido previamente guardado desde la ventana del modelador, no se le pedirá un nombre de archivo. Dado que ya existe un archivo asociado con ese modelo, el mismo archivo se utilizará para guardar cualquier subsiguiente.

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.

The models folder can be set from the processing configuration dialog, under the Modeler group.

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.

In some cases, a model might not be loaded because not all the algorithms included in its workflow are available. If you have used a given algorithm as part of your model, it should be available (that is, it should appear in the toolbox) in order to load that model. Deactivating an algorithm provider in the processing configuration window renders all the algorithms in that provider unusable by the modeler, which might cause problems when loading models. Keep that in mind when you have trouble loading or executing models.

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:

Figure Processing 22:

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

Modeler Right Click win

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.

Figure Processing 23:

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

Cannot Delete Algorithm win

Selecting the Edit option or simply double-clicking on the algorithm icon will show the parameters dialog of the algorithm, so you can change the inputs and parameter values. Not all input elements available in the model will appear in this case as available inputs. Layers or values generated at a more advanced step in the workflow defined by the model will not be available if they cause circular dependencies.

Seleccionar valores nuevos y luego hacer click en el boton de [OK] como es usual. Las conecciones entre elementos de modelos cambian de acuerdo con el ambas de modelar.

Editando archivos de ayuda y meta informacion de modelos

Puedes documentar tus modelos del modelador en si. Solo hacer click en el boton de **[Edit model help]* y un dialogo paresido al siguiente va a aparecer.

Figure Processing 25:

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

Help Edition win

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.

Model help is saved in a file in the same folder as the model itself. You do not have to worry about saving it, since it is done automatically.

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.

Además, se verán algunos algoritmos en el modelador que no se encuentran en la caja de herramientas. Estos algoritmos están destinados a ser utilizados exclusivamente como parte de un modelo, y que no son de interés en un contexto diferente. El algoritmo de ‘Calculadora’ es un ejemplo de ello. Es simplemente una calculadora aritmética simple que se puede utilizar para modificar valores numéricos (introducidos por el usuario o generados por algún otro algoritmo). Esta herramienta es muy útil dentro de un modelo, pero fuera de ese contexto, no tiene demasiado sentido.