Modelador gráfico do SEXTANTE

Introdução

O modelador gráfico permite a criação de modelos complexos usando uma interface simples e de fácil utilização. Quando se trabalha com SIGs, a maioria das operações de análise não são isoladas, mas constituem parte de uma cadeia de operações. Usando o modelador gráfico, uma cadeia de processos pode ser acondicionada em um único processo, por isso é mais fácil e mais conveniente para a execução de um processo único. Não importa quantos passos e algoritmos diferentes sejam necessários, o modelo é executado como um algoritmo único, poupando tempo e esforço, especialmente para modelos maiores, que envolem muitos processos.

The modeler can be opened from the SEXTANTE menu, but also from the toolbox. In the Modeler branch of the algorithms tree you will find a group named Tools, which contains an entry called Create new model.

O modelador tem uma área de trabalho, onde a estrutura do modelo e o fluxo de trabalho representados são mostrados.

Figure SEXTANTE 14:

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

Modeler win

A criação de um modelo envolve duas etapas:

  1. Definition of necessary inputs*. These inputs will be added to the parameters window, so the user can set their values when executing the model. The model itself is a SEXTANTE algorithm, so the parameters window is generated automatically as it happens with all the algorithms included in SEXTANTE.
  2. Definition of the workflow. Using the input data of the model, the workflow is defined adding algorithms and selecting how they use those inputs or the outputs generated by other algorithms already in the model.

Definição das entradas

O primeiro passo para criar um modelo é definir as entradas necessárias. Os elementos seguintes encontram-se na aba Inputs ao lado esquerdo da janela do modelador:

  • Raster layer (Camada raster)

  • Vector layer (Camada vetorial)

  • String (Campo de texto)

  • Table field (Campo de tabela)

  • Table (Tabela)

  • Numerical Value (Valor numérico)

  • Boolean Value (Valor booleano)

Double-clicking on any of them, a dialog is shown to define its characteristics. Depending on the parameter itself, the dialog will contain just one basic element (the description, which is what the user will see when executing the model) or more of them. For instance, when adding a numerical value, as it can be seen in the next figure, apart from the description of the parameter you have to set a default value and a range of valid values.

Figure SEXTANTE 15:

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

Model Parameters win

Para cada entrada adicionada, um novo elemento é adicionado à tela do modelador.

Figure SEXTANTE 16:

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

Model Parameters win

Definição do fluxo de trabalho

Once the inputs have been defined, it is time to define the algorithms to apply on them. Algorithms can be found in the Algorithms tab, grouped much in the same way as they are in the toolbox.

Figure SEXTANTE 17:

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

Model Parameters win

To add an algorithm, double-click on its name. An execution dialog will appear, with a content similar to the one found in the execution panel that SEXTANTE shows when executing the algorithm from the toolbox. the one shown next correspond to the SAGA ‘Convergence index’ algorithm, the same one we saw in the section dedicated to the SEXTANTE toolbox.

Figure SEXTANTE 18:

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

Model Parameters win

Como você pode ver, existem algumas diferenças. Em vez do campo de saída usado para definir o arquivo e extensão da camada de saída, é exibido uma caixa de texto simples. Pois a camada gerada pelo algoritmo é apenas um resultado temporário que será usada como a entrada de um outro algoritmo e não deve ser mantido como resultado final. Se o campo for deixado em branco, o SEXTANTE interpretará que o resultado é final, e o único texto que o usuário fornecerá será a descrição para a saída, que será exibida ao utilizador quando executar o modelo.

A seleção do valor de cada parâmetro é também um pouco diferente, uma vez que existem diferenças importantes entre o ambiente do modelador e da caixa de ferramentas. Vamos ver como introduzir os valores para cada tipo de parâmetro.

  • Camadas (raster e vetoriais) e tabelas. São selecionadas a partir de uma lista, mas neste caso, os valores possíveis não são as camadas ou tabelas carregadas atualmente no projeto do QGIS, mas a lista de entradas do modelo, ou outras camadas ou tabelas geradas por algoritmos já adicionado ao modelo.

  • Valores numéricos. Valores numéricos podem ser introduzidos diretamente na caixa de texto. Mas esta caixa de texto também é constituida por uma lista, que pode ser utilizado para selecionar qualquer uma das entradas de valores numéricos do modelo. Neste caso, o parâmetro terá o valor introduzido pelo utilizador durante a execução do modelo.

  • Campo de texto. Como no caso de valores numéricos, textos podem ser digitados diretamente nos campos de textos, além de ser possível selecionar uma sequência de entradas.

  • Table field. The fields of the parent table or layer cannot be known at design-time, since they depend of 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 textbox, or use the list to select a table field input already added to the model. The validity of the selected field will be checked by SEXTANTE at run-time.

Once all the parameter 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, which provide objects that are used as inputs for that algorithm.

Figure SEXTANTE 19:

../../../_images/models_parameters5.png

Model Parameters win

Os elementos podem ser arrastados para uma posição diferente dentro da tela do modelador, para mudar a forma como a estrutura do módulo é apresentado e torná-la mais clara e intuitiva. As ligações entre os elementos são atualizadas automaticamente.

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

Salvando e carregando modelos

Use the [Save] button to save the current model and the [Open] one to open any model previously saved. Model 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, and it will be used.

Antes de salvar um modelo, é necessário digitar um nome e um grupo para ele, usando as caixas de texto na parte superior da janela.

Models saved on 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, SEXTANTE searches the models folder for files with .model extension and loads the models they contain. Since a model is itself a SEXTANTE algorithm, it can be added to the toolbox just like any other algorithm.

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

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 as you add any other algorithm.

Em alguns casos, o SEXTANTE pode não ser capaz de carregar um modelo, isto ocorre caso ele não possa encontrar todos os algoritmos incluídos em seu fluxo de trabalho. Se você já usou um algoritmo como parte do modelo, ele deve estar disponível (isto é, ele deve aparecer na caixa de ferramentas), possibilitando carregar esse modelo. Desativar um provedor de algoritmos na janela de configurações SEXTANTE torna todos os algoritmos deste provedor inutilizáveis pelo modelador, o que pode causar problemas ao carregamento de modelos. Por isso, Tenha isso em mente quando você tiver problemas para carregar ou executar modelos.

Editando um modelo

É possível editar um modelo já existente, redefinindo o fluxo seu de trabalho e as relações entre os algoritmos e os elementos que constituem o modelo.

Se você clicar em um algoritmo na tela que apresenta o modelo, você verá um menu de contexto, como mostrada a seguir:

Figure SEXTANTE 20:

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

Modeler Right Click win

Selecting the Remove option will cause the selected algorithm to be removed. An algorithm can be removed only if there are no other algorithms dependind on it. That is, if no output from the algorithm is used in a different one as input. If you try to remove an algorithm that has others depending on it, SEXTANTE will show you a warning message like the one you can see below:

Figure SEXTANTE 21:

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

Cannot Delete ALG 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.

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.

Ativando e desativando algoritmos

Algoritmos podem ser desativados no modelador, para que eles não sejam executados durante a execução do modelo. Isso pode ser útil para testar apenas uma determinada parte do modelo, ou quando você não precisa de todas as saídas que são geradas.

To deactivate an algorithm, right-click on its icon in the model canvas and select the Deactivate option. You will see that the algorithm is represented now with a red label under its name indicating that is not active.

Figure SEXTANTE 22:

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

Deactivate win

Todos os algoritmos dependentes (diretamente ou indiretamente) do algoritmo desativado, também aparecem como inativo, já que não podem ser executados.

To activate an algorithm, just right–click on its icon and select the Activate option.

Editando arquivos de ajuda dos modelos e meta-informações

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

Figure SEXTANTE 23:

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

Help Edition win

No lado direito, você verá uma página HTML simples, estruturada usando a descrição dos parâmetros de entrada e saídas do algoritmo, juntamente com alguns itens adicionais, como uma descrição geral do modelo ou o seu autor. A primeira vez que você abrir o editor de ajuda todas essas descrições são vazias, mas você pode editá-las usando os elementos do lado esquerdo da janela. Basta selecionar um elemento da parte superior e escrever sua descrição na caixa de texto abaixo.

A Ajuda do modelo é salva em um arquivo na mesma pasta do arquivo do próprio modelo. Você não tem que se preocupar em salvá-lo, uma vez que o salvamento é feito automaticamente.

Sobre os algoritmos disponíveis

Você pode notar que alguns algoritmos que podem ser executados a partir da caixa de ferramentas não aparecem na lista dos algoritmos disponíveis quando está projetando um modelo. Para ser incluído em um modelo, um algoritmo deve ter uma semântica correta, de modo a ser adequadamente ligado a outro, no fluxo de trabalho. Se um algoritmo não tem tal semântica bem definida (por exemplo, se o número de camadas de saída não se pode ser definido antecipadamente), então não é possível utilizá-lo dentro de um modelo e, assim, não aparecem na lista que você pode encontrar na janela do modelador.

Additionaly, you will see some algorithms in the modeler that are not found in the toolbox. This 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 tools is really useful within a model, but outside of that context, it doesn’t make too much sense.

modelos SEXTANTE de código Python

This feature is temporarily unavailable

Junto com a guia que contém o projeto gráfico do modelo, você vai encontrar uma outra contendo um script Python que executa a mesma tarefa que o próprio modelo. Usando esse código, você pode criar um script (vamos explicar mais tarde neste mesmo manual) e modificá-lo para incorporar ações e métodos não disponíveis no modelador gráfico, como repetidores ou frases recorrentes.

Esse recurso também é uma forma muito prática de aprender a usar o SEXTANTE do console de scripts e aprender a como criar algoritmos para o SEXTANTE usando código Python, para que você possa usá-lo como uma ferramenta de aprendizagem, quando começar a criar seus próprios scripts SEXTANTE.

Você vai encontrar um botão abaixo do campo de texto que contém o código Python. Clique sobre ele para criar um novo caminho para esse código, sem ter que copiar e colá-lo no editor de script SEXTANTE.