17.8. Rodando um algoritmo externo

Nota

Nesta lição veremos como usar algoritmos que dependem de um aplicativo de terceiros, particularmente o SAGA, que é um dos principais provedores de algoritmos.

Todos os algoritmos que temos estudado até agora são parte da estrutura de processamento do Qgis, ou seja, eles são nativos, algoritmos implementados por meio de plugins rodam no QGIS assim como o plug-in em si. No entanto, uma das maiores características do quadro de processamento é que ele pode usar algoritmos de aplicações externas e ampliar as possibilidades de esses aplicativos. Esses algoritmos são envolvidos e incluídos na caixa de ferramentas, para que você possa facilmente utilizá-las de QGIS, e usar QGIS para executá-los.

Alguns dos algoritmos que você vê na visão simplificada exigem aplicativos de terceiros para ser instalado em seu sistema. Um provedor de algoritmo de especial interesse é o SAGA (Sistema Automatizado de Análise Geoespacial). Primeiro, precisamos configurar tudo para que o QGIS pode chamar corretamente o SAGA. Isso não é difícil, mas é importante entender como funciona. Cada aplicativo externo tem a sua própria configuração, e mais tarde neste mesmo manual, vamos falar sobre alguns dos outros, mas o SAGA vai ser o nosso principal exemplo, então vamos discutí-lo aqui.

Se você estiver no Windows, a melhor maneira de trabalhar com algoritmos externos é instalar QGIS usando o instalador independente. Ele vai cuidar de instalar todas as dependências necessárias, incluindo o SAGA, por isso, se você tê-lo usado, não há mais nada a fazer. Você pode abrir a janela de configurações e vá para o grupo Providers/SAGA.

../../../_images/saga_config.png

O caminho do SAGA já deve estar configurado e apontando para a pasta onde o SAGA está instalado.

If you have installed QGIS not using the standalone installer, then you must enter the path to your SAGA installation (which you must have installed separately) there. The required version is SAGA 2.1 [this is changing according to the releases of SAGA].

In case you are using Linux, you do not have to set the path to your SAGA installation in the processing configuration. Instead, you must install SAGA and make sure that the SAGA folder is in PATH, so it can be called from the console (just open a console and type saga_cmd to check it). Under Linux, the target version for SAGA is also 2.1, but in some installations (such as the OSGeo Live DVD) you might have just 2.0.8 available. There are some 2.1 packages available, but they are not commonly installed and might have some issues, so if you prefer to use the more common and stable 2.0.8, you can do it by enabling 2.0.8 compatibility in the configuration dialog, under the SAGA group.

../../../_images/enable208.png

Uma vez que o SAGA está instalado, você pode iniciar um algoritmo do SAGA dando duplo clique sobre seu nome, como com qualquer outro algoritmo. Desde que nós estamos usando a interface simplificada, você não saberá quais algoritmos são baseados noSAGA ou em outro aplicativo externo, mas se der duplo clique em um deles e o aplicativo correspondente não estiver instalado, você vai ver algo como isto.

../../../_images/missing_saga.png

No nosso caso, observamos que o SAGA está corretamente instalado e configurado, e por isso você não deve ver esta janela, e vai chegar a caixa de parâmetros em vez desta janela.

Vamos tentar abrir um algoritmo baseado no SAGA, o chamado Split shapes layer randomly / divisão das formas de uma camada aleatoreamente.

../../../_images/split.png

Use a camada de pontos no projeto correspondente a esta lição como entrada, e os valores de parâmetros padrão, e você terá algo como isto (a divisão é aleatória, para que o seu resultado possa ser diferente).

../../../_images/split_layer1.png

A camada de entrada foi dividida em duas camadas, cada uma com o mesmo número de pontos. Esse resultado foi calculado pela SAGA, e posteriormente executado pelo QGIS e adicionado ao projeto do QGIS.

Se tudo correr bem, você não vai notar nenhuma diferença entre este algoritmo do SAGA e um dos outros que temos executado anteriormente. No entanto, o SAGA pode, por alguma razão, não ser capaz de produzir um resultado e não gerar o arquivo que o QGIS está esperando. Nesse caso, não haverá problemas em adicionar o resultado para o projecto QGIS, e uma mensagem de erro como esta será mostrada.

../../../_images/missing_result.png

Estes tipos de problemas podem acontecer, mesmo se o SAGA (ou qualquer outra aplicação que estamos chamando a partir da estrutura de processamento) está instalado corretamente, e é importante saber como lidar com eles. Vamos produzir uma daquelas mensagens de erro.

Abra o algoritmo Create graticule / Criar retícula e usar os seguintes valores.

../../../_images/create_graticule.png

Nós estamos usando de largura e altura valores que são maior do que na medida especificada, assim o SAGA não pode produzir qualquer saída. Em outras palavras, os valores dos parâmetros estão errados, mas eles não são verificadas até o SAGA recebe-los e tentar criar a retícula. Uma vez que não pode criá-lo, ele não vai produzir a camada esperado, e você verá a mensagem de erro mostrada acima.

Nota

In SAGA >= 2.2.3, the command will adjust automatically wrong input data, so you’ll not get an error. To provoke an error, use negative values for division.

Entender esse tipo de problema vai ajudá-lo a resolvê-los e encontrar uma explicação para o que está acontecendo. Como você pode ver na mensagem de erro, é executado um teste para verificar se a conexão com o SAGA está funcionando corretamente, o que indica que pode haver um problema na forma como o algoritmo foi executado. Isso se aplica não só para o SAGA, mas também para outras aplicações externas.

Na próxima lição, vamos introduzir o registo de processamento, onde as informações sobre os comandos executados pelos geoalgorítimos são mantidas, e você vai ver como obter mais detalhes quando questões como esta aparecer.