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 involve dois passos:

  1. Definição dos dados 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 seleccionando como vão usar esses ficheiros 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 matricial

  • Camada vectorial

  • Cadeia de texto

  • Campo da tabela

  • Tabela

  • Extensão

  • Número

  • Booleano

  • Ficheiro

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 utilizador irá ver quando executar o modelo) ou outros. Por exemplo, quando quer adicionar um valor númerico, 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 é seleccionado na caixa de ferramentas é aquele que será usado para a lista de algoritmos no modelador.

Para adicionar um algoritmo ao modelo, clique duas vezes no seu nome. Um diálogo de execução irá aparecer, com um conteúdo similar ao que é encontrado no painel de execução que é exibido aquando da execução do algoritmo a partir da caixa de ferramentas, O algoritmo que é exibido corresponde ao algoritmo SAGA ‘Convergence index’, o mesmo que viu na secção dedicada na caixa de ferramentas.

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 ficheiro ser usada para configurar o caminho do ficheiro 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 ficheiro 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 ficheiro de saída, que será aquele que o utilizador irá ver quando executar o modelo.

A selecçã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 vector) e tabelas. Estes são seleccionados 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 directamente na caixa de texto. Mas esta caixa de texto é também uma lista que pode ser usada para seleccionar 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 seleccionada.

  • 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 selecção do utilizador cada vez que o modelo é executado. Para definir o valor para este parâmetro, introduza o nome do campo directamente na caixa de texto, ou usa a lista para seleccionar a entrada do campo de tabela que já está adicionada no modelo. A validade de um campo seleccionado irá ser verificado no seu processo de execução.

Em todos os casos, irá encontrar um parâmetro adicional denominado de Algoritmos Parent 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 parent do actual, que irá força-lo a executá-lo antes.

Quando usa um ficheiro de saída de um algoritmo prévio como ficheiro de entrada do seu algoritmo, isso implica definir o antigo como parent do actual (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 objecto 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 seleccione no parâmetro Algoritmos Parent e eles irão ser executados na ordem correcta.

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 ficheiros de entrada, o que irá fornecer objectos que foram usados como ficheiros de entrado para esse algoritmo.

Figure Processing 21:

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

Parâmetros do Modelo win

Os elementos podem ser arrastados para diferentes posições dentro do enquadramento, para alterar a forma como é exibida a estrutura do módulo e tornar mais claro e intuitivo. As ligações entre os elementos são actualizados automaticamente.

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

Guardando e e carregando os modelos

Use o botão [Guardar] para guardar o modelo actual e o [Abrir] para abrir qualquer modelo anteriormente guardado. Os modelos são guardados com a extensão: .model. Se o modelo for previamente guardado da janela do modelador, não lhe irá ser solicitado por um nome de ficheiro, uma vez que já existe um ficheiro associado ao modelo, e será usado.

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

Os modelos guardados na pasta modelos (a pasta padrão quando é pedido o nome do ficheiro para guardar o modelo) irá aparecer na caixa de ferramentas na ligação correspondente. Quando a caixa de ferramentas é chamada, ele procura na pasta modelos por ficheiros com a extensão :file:`.model`e carrega os modelos guardados. 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. Desactivando um fornecedor de algoritmos nas configurações do da janela do processamento poderá desactivar 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 rato 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

Seleccionando a opção Remover irá fazer com que o algoritmo para ser removido. Um algoritmo só pode ser removido apenas se existir outros algoritmos dependentes dele. Isto é, se não estiver a ser usado um ficheiro de saída de um algoritmo usado como ficheiro de entrada diferente. Se tentar remover um algoritmo que tenha outros que dependa 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

Seleccionando 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 ficheiros de entrada e os valores do parâmetro. Tenha em atenção que nem todos os elementos disponíveis no modelo aparecerão neste caso como ficheiros 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.

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

Activando e desactivando os algoritmos

Os algoritmos podem ser desactivados no modelador, para que não sejam executados a quando da execução do modelo. Isto pode ser usado para teste, basta dar apenas uma parte do modelo, ou quando não necessita da geração de todos os dados de saída.

Para desactivar um algoritmo, clique com o direito do rato no seu ícone no enquadramento do modelo e seleccione a opção Desactivar. Irá ver que esse algoritmo é representado agora com uma etiqueta vermelha debaixo do seu nome indicando que não está activa.

Figure Processing 24:

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

Desactivação win

Todas as dependências dos algoritmos (directas e indirectas) nesse algoritmo irão também aparecer como inactivo, uma vez não poderem ser executados.

Para activar um algoritmo, clique com o direito do rato no seu ícone e seleccione a opção Activar

Editando os ficheiros 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. Seleccione um elemento na parte superior e escreva a descrição na caixa de texto em baixo.

A ajuda do Modelo é guardada num ficheiro na mesma pasta ao pé do seu respectivo modelo. Não tem de ser preocupar como guardá-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 correcta, 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 noutro 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.

Guardando os modelos como código Python

Dado um modelo, é possível automaticamente criar um código python que executa as mesmas tarefas do próprio modelo. Este código é usado para criar um script para a consola. (será explicado mais tarde neste modelo) e poderá modificar o script para incorporar em acções e métodos que não estão disponíveis no modelador gráfico, como loops ou instâncias condicionantes.

Esta característica é também uma forma prática de aprender como usar os algoritmos do processamento a partir da consola e como criar novos algoritmos usando código Python, portanto pode usá-lo como uma ferramenta de aprendizagem quando começar a criar os seus próprios scripts.

Guarde o seu modelo na pasta de modelos e vá para a caixa de ferramentas onde deverá aparecer, pronto para ser executado. Clique com o direito do rato no nome do modelo e seleccione Guardar como script Python no menu contexto que irá ser exibido. A caixa de diálogo irá pedir-lhe para introduzir o ficheiro no qual deseja guardar o script.