5. Calcular a Área da Classe de Cobertura do Solo por Sub-bacia

Agora precisamos calcular a área de classe CORINE level 1 por sub-bacia.

1. Abra a tabela de atributo da camada corine_catch_intersected_cor.

Na tabela de atributos, podemos encontrar o campo CatchArea com a área de cada sub-bacia, o campo DN com o ID único para cada sub-bacia e o campo Level1 com a CORINE nível 1 para cada feição.

Adicionaremos um novo campo e calcularemos a área de cada feição que corresponde à área de cada classe de Nível 1 em uma sub-bacia de maneira semelhante à que fizemos anteriormente para as áreas da sub-bacia.

2. Altere para o modo de edição.

3. Adicione um campo ClassArea com Tipo com Número Decimal (real), Comprimento 10, e Precisão 2.

4. Use a calculadora de campo para calcular ClassArea = $area e clique em atualizar tudo.

5. Agora adicione um campo para porcentagem de cala classe CORINE Level 1 em cada sub-bacia. chame o campo Percentage com Tipo como Número Decimal (real), Comprimento 4, e Precisão 1.

6. Use a calculadora de campo para calcular Percentage = (ClassArea/CatchArea) * 100. Você pode usar a caixa de diálogo expressão para formular a equação.

7. Clique em Atualizar tudo para atribuir a porcentagem a cada feição.

8. Para completar a tabela de atributos, adicione um campo com nomes de classes nível 1 como texto. Chame esse campo de Landcover. Use a função CASE...WHEN para isso:

case-when.PNG

Com esta função, você pode escrever condições. Isso, por exemplo, significa: se o atributo Nível1 for igual ao valor 1, o resultado é a string Artificial, etc.

9. Desative a edição e salve as edições.


A tabela de atributos agora deve ter a seguinte aparência:

attribute-table-percentage-complete.png