Importante
A tradução é um esforço comunitário você pode contribuir. Esta página está atualmente traduzida em 66.67%.
17.21. Utilização de ferramentas apenas de modelagem para a criação de um modelo
Nota
Esta lição mostra como usar alguns algoritmos que estão disponíveis apenas no modelador, para fornecer funcionalidade adicional aos modelos.
O objetivo desta lição é usar o modelador para criar um algoritmo de interpolação que leve em consideração a seleção atual, não apenas para usar apenas recursos selecionados, mas para usar a extensão dessa seleção para criar a camada raster interpolada.
O processo de interpolação envolve duas etapas, como já foi explicado em lições anteriores: rasterizar a camada de pontos e preencher os valores sem dados que aparecem na camada rasterizada. Caso a camada de pontos tenha uma seleção, apenas os pontos selecionados serão usados, mas se a extensão de saída estiver configurada para ser ajustada automaticamente, a extensão total da camada será usada. Ou seja, a extensão da camada é sempre considerada a extensão total de todas as feições, não aquela computada apenas a partir das selecionadas. Tentaremos corrigir isso usando algumas ferramentas adicionais em nosso modelo.
Abra o modelador e inicie o modelo adicionando as entradas necessárias. Neste caso, precisamos de uma camada vetorial (restrita a pontos) e um atributo dela, com os valores que utilizaremos para a rasterização.
The next step is to compute the extent of the selected features. That’s where we can use the model-only tool called Vector layer bounds. First, we will have to create a layer that has the extent of those selected features. Then, we can use this tool on that layer.
An easy way of creating a layer with the extent of the selected features is to compute a convex hull of the input points layer. It will use only the selected point, so the convex hull will have the same bounding box as the selection. Then we can add the Vector layer bounds algorithm, and use the convex hull layer as input. It should look this in the modeler canvas:
The result from the Vector layer bounds is a set of four numeric values and a extent object. We will use both the numeric outputs and the extent for this exercise.
We can now add the algorithm that rasterizes the vector layer, using the extent from the Vector layer bounds algorithm as input.
Preencher os parâmetros do algoritmo como mostrado a seguir:
The canvas should now look like.
Finally, fill the no-data values of the raster layer using the Close gaps algorithm.
O algoritmo agora está pronto para ser salvo e adicionado à caixa de ferramentas. Você pode executá-lo e ele gerará uma camada matricial a partir da interpolação dos pontos selecionados na camada de entrada, e a camada terá a mesma extensão que a seleção.
Aqui está uma melhoria para o algoritmo. Usamos um valor codificado para o tamanho da célula ao rasterizar. Esse valor é bom para nossa camada de entrada de teste, mas pode não ser para outros casos. Poderíamos adicionar um novo parâmetro, para que o usuário insira o valor desejado, mas uma abordagem muito melhor seria ter esse valor calculado automaticamente.
Podemos usar a calculadora somente de modelador e calcular esse valor a partir das coordenadas de extensão. Por exemplo, para criar uma camada com uma largura fixa de 100 pixels, podemos usar a seguinte fórmula na calculadora.
Agora temos que editar o algoritmo de rasterização, para que ele utilize a saída da calculadora em vez do valor rígido codificado.
O algoritmo final deve parecer com isso: