.

O modelador gráfico

O modelador gráfico permite que possa criar modelos complexos usando uma simples interface fácil-de-usar. Quando trabalha com um SIG, a maioria das operações de análises não são isoladas, mas sim parte das cadeias de operações. Usando um modelador gráfico, a cadeia de processos podem ser agregados num único processo, sendo mais fácil e mais conveniente a sua execução de um processo único num conjunto de diferentes dados de entrada. Não importa o número de etapas e os diferentes algoritmos envolvidos, o modelo é executado como um algoritmo único, desta forma vai poupar tempo e esforços, especialmente para modelos largos.

O modelador pode ser aberto a partir do menu processamento.

O modelador tem uma área de trabalho onde a estrutura do modelo e o sue fluxo de trabalho são representados como está exibido. Na parte esquerda da janela, um painel com dois separadores podem ser usados para adicionar novos elementos ao modelo.

Figure Processing 16:

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

Modelador win

A criação de um modelo envolve dois passos:

  1. Definição dos dados de entrada necessários. Estes dados de entrada serão adicionados na janela de parâmetros, para que o utilizador possa configurar os seus valores quando executa o modelo. O modelo por si é um algoritmo, portanto os parâmetros da janela é gerado automaticamente como acontece em todos os algoritmos disponíveis na infraestrutura de processamento.

  2. Definição do fluxo de trabalho. Usando os dados de entrada do modelo, o fluxo de trabalho é definido adicionando algoritmos e selecionando como vão usar esses arquivos de entrada ou de saída gerados por outros algoritmos que já existem no modelo

Definição das entradas

O primeiro passo para criar um modelo é definir as entradas que necessita. Os seguintes elementos são encontrados no separador Entradas no lado esquerdo da janela do modelador:

  • Camada raster

  • Camada vetorial

  • Cadeia de texto

  • Campo da tabela

  • Tabela

  • Extensão

  • Número

  • Booleano

  • Arquivo

Faça duplo clique em qualquer um, e será exibido um diálogo para definir as suas características. Dependendo do parâmetro, o diálogo irá conter apenas um elemento básico (a descrição, que será o que o usuário irá ver quando executar o modelo) ou outros. Por exemplo, quando quer adicionar um valor numérico, como aparece na próxima figura, além da descrição do parâmetro tem um conjunto de valor por defeito e um intervalo de valores válidos.

Figure Processing 17:

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

Parâmetros do Modelo win

Para cada entrada adicionada, um novo elemento é adicionado ao enquadramento do modelador.

Figure Processing 18:

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

Parâmetros do Modelo win

Definição do fluxo de trabalho

Uma vez as entradas definidas, é tempo de definir os algoritmos que vamos aplicar. Os algoritmos podem ser encontrados no separador Algoritmos, agrupados na mesma forma que estão na caixa de ferramentas.

Figure Processing 19:

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

Parâmetros do Modelo win

A aparência da caixa de ferramentas tem dois modos: simplificado e avançado. Contudo, não existe nenhum elemento para trocar entre as vistas no modelador, e pode fazê-lo na caixa de ferramentas. O modo que é selecionado na caixa de ferramentas é aquele que será usado para a lista de algoritmos no modelador.

To add an algorithm to a model, double-click on its name. 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

Parâmetros do Modelo win

Como pode ver, existem algumas diferenças. Em vez da caixa de saída do arquivo ser usada para configurar o caminho do arquivo para as camadas e tabelas de saída, é usado apenas uma caixa de texto simples. Se a camada gerada pelo algoritmo é apenas um resultado temporário, este será usado como o arquivo de entrada de outro algoritmo e não será mantido como resultado final, mas não edite essa caixa de texto. Introduzindo alguma coisa nela, significa que o resultado é final, e o texto que forneceu será a descrição para o arquivo de saída, que será aquele que o usuário irá ver quando executar o modelo.

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

  • Camadas (raster e vetor) e tabelas. Estas são selecionados de uma lista, mas só em caso dos valores possíveis serem camadas ou tabelas carregadas no QGIS, a lista dos dados de entrada do modelo do tipo correspondente, ou outras camadas ou tabelas geradas por algoritmos que já tenham sido adicionadas ao modelo.

  • Valores numéricos. Valores literais podem ser introduzidos diretamente na caixa de texto. Mas esta caixa de texto é também uma lista que pode ser usada para selecionar qualquer valor numérico de entrada do modelo. Nesse caso, o parâmetro irá tomar o valor introduzido pelo utilizador quando executado o modelo.

  • Cadeia de texto. Como no caso dos valores numéricos, as cadeias de texto podem ser introduzidas, ou uma cadeia de texto de entrada pode ser selecionada.

  • Campo da Tabela. Os campos de uma tabela origem ou camada não podem ser conhecidas na altura do seu desenho, uma vez que dependem da seleção do usuário cada vez que o modelo é executado. Para definir o valor para este parâmetro, introduza o nome do campo diretamente na caixa de texto, ou usa a lista para selecionar a entrada do campo de tabela que já está adicionada no modelo. A validade de um campo selecionado irá ser verificado no seu processo de execução.

Em todos os casos, irá encontrar um parâmetro adicional denominado de Algoritmos Parentes que não está disponível quando é chamado o algoritmo a partir da caixa de ferramentas. Este parâmetro permite que possa definir a ordem de como os algoritmos são executados, definindo explicitamente um algoritmo como parente do atual, que irá força-lo a executá-lo antes.

Quando usa um arquivo de saída de um algoritmo prévio como arquivo de entrada do seu algoritmo, isso implica definir o antigo como parent do atual (e posiciona a seta correspondente no enquadramento do modelador), Contudo, em alguns casos o algoritmo pode depender de outro mesmo que não use um objeto de saída a partir dele (por exemplo, um algoritmo que executa uma instância SQL numa base de dados PostGIS e outra que importa uma camada para a mesma base de dados). Nesse caso, apenas selecione no parâmetro Algoritmos Parent e eles irão ser executados na ordem correta.

Uma vez todos os parâmetros estiver relacionados a valores válidos, clique no botão [OK] e o algoritmo irá ser adicionado ao enquadramento. Será ligado a todos os outros elementos do enquadramento, sejam eles algoritmos ou arquivos de entrada, o que irá fornecer objetos que foram usados como arquivos de entrada para esse algoritmo.

Elements can be dragged to a different position within the canvas, to change the way the module structure is displayed and make it more clear and intuitive. Links between elements are updated automatically.

Pode correr o seu algoritmo em qualquer altura clicando no botão [Executar]. Contudo, se quiser usá-lo a partir da caixa de ferramentas, é necessário salva-lo e fechar o diálogo do modelador, para permitir que a caixa de ferramentas atualize os seus conteúdos.

Salvando e carregando os modelos

Use o botão [Salvar] para salvar o modelo atual e o [Abrir] para abrir qualquer modelo anteriormente salvo. Os modelos são salvos com a extensão .model. Se o modelo for previamente salvo da janela do modelador, não lhe irá ser solicitado por um nome de arquivo, uma vez que já existe um arquivo associado ao modelo, e será usado.

Antes de salvar o modelo, necessita de introduzir o nome e o grupo do modelo, usando as caixas de texto para parte superior da janela.

Os modelos salvos na pasta modelos (a pasta padrão quando é pedido o nome do arquivo para salvar o modelo) irá aparecer na caixa de ferramentas na ligação correspondente. Quando a caixa de ferramentas é chamada, ele procura na pasta modelos por arquivos com a extensão .model e carrega os modelos salvos. Uma vez que o modelo é um próprio algoritmo, este pode ser adicionado na caixa de ferramentas como qualquer outro algoritmo.

A pasta de modelos pode ser configurada a partir do diálogo de configuração do processamento, no grupo Modelador

Os modelos carregados a partir da pasta modelos aparecem na caixa de ferramentas, mas também na árvore de algoritmos do separador Algoritmos da janela do modelador. Isto significa que pode incorporar o modelo como parte de um modelo maior, tal como adiciona qualquer outro algoritmo.

Em alguns casos, um modelo pode não ser carregado porque nem todos os algoritmos incluídos estão disponíveis. Se tiver usado um dado algoritmo como parte do seu modelo, este deverá estar disponível (isto é, deverá aparecer na caixa de ferramentas) de forma a carregar o modelo. Desativando um fornecedor de algoritmos nas configurações do da janela do processamento poderá desativar o modelador, o que pode trazer problemas quando carrega os modelos. Tenha isso em atenção quando tiver problemas a carregar ou a executar modelos.

Editando um modelo

Pode editar o modelo que criou, redefinindo o fluxo de trabalho e as relações entre os algoritmos e os dados de entrada que defeniu no modelo.

Se clicar com o direito do mouse num algoritmo na área que representa o modelo, irá ver o menu contexto como é mostrado a seguir:

Figure Processing 22:

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

Clique direito do Modelador win

Selecionando a opção Remover irá fazer com que o algoritmo seja removido. Um algoritmo só pode ser removido apenas se existir outros algoritmos dependentes dele. Isto é, se não estiver sendo usado num arquivo de saída de um algoritmo usado como arquivo de entrada diferente. Se tentar remover um algoritmo que tenha outros que dependam dele, uma mensagem de aviso igual à que vê aqui em baixo:

Figure Processing 23:

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

Não pode apagar o Algoritmo win

Selecionando a opção Editar ou fazendo simplesmente duplo clique no ícone do algoritmo, irá ser exibido o diálogo de parâmetros do algoritmo, para que possa mudar os arquivos de entrada e os valores do parâmetro. Tenha atenção pois nem todos os elementos disponíveis no modelo aparecerão neste caso como arquivos de entrada disponível. Camadas ou valores gerados num passo mais avançado no fluxo de trabalho definido pelo modelo não irá estar disponível se causar dependências em ciclo.

Selecione novos valores e de seguida clique no botão [OK] como comum. As ligações entre os elementos do modelo irão alterar de acordo com o enquadramento do modelador.

Activating and deactivating algorithms

Algorithms can be deactivated in the modeler, so they will not be executed once the model is run. This can be used to test just a given part of the model, or when you do not need all the outputs it generates.

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 it is not active.

Figure Processing 24:

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

Deactivate win

All algorithms depending (directly or indirectly) on that algorithm will also appear as inactive, since they cannot be executed now.

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

Editando os arquivos de ajuda do modelo e a meta-informação

Pode documentar os seus modelos a partir do próprio modelador. Basta apenas clicar no botão [Editar ajuda do modelo] e o diálogo como aquele que irá aparecer.

Figure Processing 25:

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

Edição da Ajuda win

No lado direito irá ver uma página simples HTML, criada usando a descrição dos parâmetros de entrada e de saída do algoritmo, juntamente com itens adicionais como uma descrição geral do modelo ou o seu autor. A primeira vez que abre o editor da ajuda, todas as ajudas estão vazias, mas pode editá-los usando os elementos do lado esquerdo do diálogo. Selecione um elemento na parte superior e escreva a descrição na caixa de texto em baixo.

A ajuda do Modelo é salva num arquivo na mesma pasta ao pé do seu respectivo modelo. Não tem de ser preocupar como salvá-lo, uma vez ser feito automaticamente.

Sobre os algoritmos disponíveis

Poderá notar que alguns algoritmos podem ser executados a partir da caixa de ferramentas mas não aparecem na lista de algoritmos disponíveis quando está a desenhar o modelo. Para ser incluído no modelo, o algoritmo deve ter uma semântica correta, assim como ligações apropriadas a outros fluxos de trabalho. Se um algoritmo não tiver uma boa semântica bem definida (por exemplo, se o número de camadas de saída não são conhecidas), portanto não é possível usá-lo dentro do modelo, e não aparece na lista na janela do diálogo do modelador.

Adicionalmente, irá ver algoritmos no modelador que não se encontram na caixa de ferramentas. Esses algoritmos são para ser usados exclusivamente como parte do modelo, e eles não têm interesse em outro contexto diferente. O algoritmo ‘Calculadora’ é um exemplo disso. É apenas uma simples calculadora aritmética que pode usar para modificar valores numéricos (introduzidos pelo utilizador ou gerados por outro tipo de algoritmo). Estas ferramentas são realmente úteis dentro do modelo, mas fora do contexto, não fazem sentido.

Saving models as Python code

Given a model, it is possible to automatically create Python code that performs the same task as the model itself. This code is used to create a console script (we will explain scripts later in this manual) and you can modify that script to incorporate actions and methods not available in the graphical modeler, such as loops or conditional sentences.

This feature is also a very practical way of learning how to use processing algorithms from the console and how to create new algorithms using Python code, so you can use it as a learning tool when you start creating your own scripts.

Save your model in the models folder and go to the toolbox, where it should appear now, ready to be run. Right-click on the model name and select Save as Python script in the context menu that will pop up. A dialog will prompt you to introduce the file where you want to save the script.