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.

Figure Processing 17:

../../../_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.

Figure Processing 18:

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

Parámetros del modelo

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

Figure Processing 19:

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

Parámetros del modelo

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 20:

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

Parámetros del modelo

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.

Figure Processing 21:

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

Parámetros del modelo

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.

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

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.

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.

Se puede correr su algoritmo en cualquier momento haciendo clic en el botón [Ejecutar]. Sin embargo, con el fin de utilizar el algoritmo de la caja de texto, se tiene que guardar y cerrar el diálogo del modelador, para permitir que la caja de herramientas actualice su contenido.

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.

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:

Figure Processing 22:

../../../_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.

Figure Processing 23:

../../../_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.

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.

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.

Figure Processing 24:

../../../_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

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

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.

Exportando un modelo como un script Python

Como veremos en un capítulo posterior, los algoritmos de procesamiento pueden ser llamados desde la consola de Python de QGIS y los nuevos algoritmos de procesamiento se pueden crear también utilizando Python. Una forma rápida de crear un script Python es para crear un modelo y después exportarlo como un archivo Python.

Para hacerlo, haga clic en el botón Exportar como script Python. Seleccione el archivo de salida en el diálogo de selección de archivos y Procesamiento escribirá en los comandos de Python que realiza las mismas operaciones definidas en el modelo actual.

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.