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, rather part of a chain of operations. Using the graphical modeler, that chain of operations can be wrapped into a single process, making it convenient to execute later with a different set of inputs. No matter how many steps and different algorithms it involves, a model is executed as a single algorithm, saving time and effort.
The graphical modeler can be opened from the Processing menu (
).The modeler has a working canvas where the structure of the model and the workflow it represents are shown. The left part of the window is a panel with two tabs that can be used to add new elements to the model.
Crear un modelo requiere dos pasos:
«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.
Definition of the workflow. Using the input data of the model, the workflow is defined by adding algorithms and selecting how they use the defined inputs or the outputs generated by other algorithms in the model.
Definir entradas¶
The first step is to define the inputs for the model. The following elements are found in the Inputs tab on the left side of the modeler window:
Boolean
SRC
Distancia
Enum
Expresión
Extensión
Mapeador de campos
Archivo/Carpeta
Capa de mapa
Matriz
Entrada múltiple
NUmero
Punto
Intervalo
Banda ráster
Capa Ráster
Cadena
Objetos vectoriales
Campo vectorial
Capa vectorial
When double-clicking on an element, a dialog is shown that lets you define its characteristics. Depending on the parameter, the dialog will contain at least one basic element (the description, which is what the user will see when executing the model). When adding a numerical value, as can be seen in the next figure, in addition to the description of the parameter, you have to set a default value and the range of valid values.
Para cada entrada adicional, un nuevo elemento se agrega al canvas modelador.
You can also add inputs by dragging the input type from the list and dropping it in the position where you want it in the modeler canvas.
Definicion del flujo de trabajo.¶
Once the inputs have been defined, it is time to define the algorithms of the model. Algorithms can be found in the Algorithms tab, grouped much in the same way as they are in the Processing toolbox.
To add an algorithm to a model, double-click on its name or drag and drop it, just like for 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 ones shown next correspond to the QGIS “Drape (set Z value from raster)” algorithm and the QGIS “Climb along line” algorithm.
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. Clicking on the button beside the text box, expressions can be entered. Available variables for expressions include numerical inputs of the model, outputs from model algorithms and also statistical values from available layers within the model.
String. Literal strings can be typed in the corresponding text box. Clicking on the button beside the text box, expressions can be entered, as for numerical values.
Vector Field. The fields of a vector layer cannot be known at design time, since they depend on the selection of the user each time the model is executed. To set the value for this parameter, type the name of a field directly in the text box, or use the list to select a table field. The validity of the selected field will be checked at run time.
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 a 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 they will be executed in the correct order.
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 the elements in the canvas (algorithms or inputs) that provide objects that are used as inputs for the algorithm.
Elements can be dragged to a different position on the canvas. This is useful to make the structure of the model more clear and intuitive. Links between elements are updated automatically. You can zoom in and out by using the mouse wheel.
You can run your algorithm any time by clicking on the Run button. 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 previously saved model.
Models are saved with the .model3
extension.
If the model has been already been saved from the modeler window,
you will not be prompted for a filename.
Since there is already a file associated with the model, that file
will be used for subsequent saves.
Before saving a model, you have to enter a name and a group for it in the text boxes in the upper part of the window.
Models saved in the models
folder (the default folder when you
are prompted for a filename to save the model) will appear in the
toolbox in the corresponding branch.
When the toolbox is invoked, it searches the models
folder for
files with the .model3
extension and loads the models they
contain.
Since a model is itself an algorithm, it can be added to the toolbox
just like any other algorithm.
Models can also be saved within the project file using the
Save model in project button.
Models saved using this method won’t be written as .model3
files
on the disk but will be embedded in the project file.
Project models are available in the Project models menu of the toolbox.
La carpeta de los modelos se puede configurar desde el diálogo Procesos, bajo el grupo Modelador.
Models loaded from the models
folder appear not only in the
toolbox, but also in the algorithms tree in the Algorithms
tab of the modeler window.
That means that you can incorporate a model as a part of a bigger model,
just like other algorithms.
Models will show up in the Browser panel , and can be run from there.
Exporting a model as an image, PDF or SVG¶
A model can also be exported as an image, SVG or PDF (for illustration purposes).
Editar un modelo.¶
You can edit the model you are currently creating, redefining the workflow and the relationships between the algorithms and inputs that define the model.
If you right-click on an algorithm in the canvas, you will see a context menu like the one shown next:
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.
Selecting the Edit option will show the parameter dialog of the algorithm, so you can change the inputs and parameter values. Not all input elements available in the model will appear 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.
Select the new values and click on the OK button as usual. The connections between the model elements will change in the modeler canvas accordingly.
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.
When right-clicking on an algorithm that is not active, you will see a Activate menu option that you can use to reactivate it.
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.
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.
Exportando un modelo como un script Python¶
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 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, right click on the name of the model in the Processing Toolbox and choose Export Model as Python Algorithm….
Acerca de algoritmos disponibles¶
You might notice that some algorithms that can be executed from the toolbox do not appear in the list of available algorithms when you are designing a model. To be included in a model, an algorithm must have the correct semantic. If an algorithm does not have such a well-defined semantic (for instance, if the number of output layers cannot be known in advance), then it is not possible to use it within a model, and it will not appear in the list of algorithms that you can find in the modeler dialog.