Como criar um campo numerado com PyQGIS





Nesse tutorial vamos criar um script para criar uma coluna na tabela de atributo e numerar cada linha.


A imagem abaixo mostra um shapefile do estado do Rio de Janeiro aberto na tela.



Nesse shapefile temos a tabela de atributo sem a presença de uma coluna numerada como mostra a figura a seguir.




Abra o editor do python.



Agora insira o código abaixo.


A variável “num” recebe o nome da coluna que você quiser colocar, nesse caso está como “Numero”.

A variável “camada” recebe o layer ativo na tela.

A variável “features” recebe as características da variável “camada”.

As duas próximas linhas habilitam o modo de edição do Qgis e adiciona um campo vazio na tabela de tributo.

O primeiro loop for vai contar as linhas da tabela de atributo e preencher a lista.

O outro loop for irá contar o número de atributos que tem dentro da lista e irá realizar um teste que se “j” tem que ser igual a “num” a variável “id0” será igual a um número.

E o último loop for irá contar as linhas e irá preencher a tabela de atributo na coluna criada com o número armazenado na variável “c”.

As duas últimas linhas são para encerrar o modo editar e atualizar a camada para que a alteração seja concluída.

*Obs: Todas as “ASPAS” fazem parte do código e se caso não coloca-las o Python irá retornar um Erro. Outra observação importante é a correta indentação dentro dos Loops for. Coloque os espaços corretos como na figura utilizando a tecla Tab.

A imagem abaixo mostra o script dentro do editor.


Após esse procedimento clique no ícone rodar script e entre na tabela de atributo para ver o resultado.


*Caso apresente algum erro revise o código.

Abaixo se encontra o vídeo de demonstração do script sendo executado.



Até a próxima!

Quer aprender como abrir Imagens de Satélite com PyQGIS? Clique aqui