Salvar somente selecionados






Nesse tutorial vamos criar um script que selecionará alguns polígonos de um shapefile e salvará esses polígonos em um novo shapefile.

A imagem abaixo mostra o editor do python aberto no QGIS 3.2.



Com o editor do python aberto digite o seguinte script.



As duas primeiras variáveis recebem o caminho dos shapefiles, sendo o primeiro o caminho do shapefile que será selecionado e o segundo será o caminho que será criado o novo shapefile.

As duas variáveis seguintes recebem os nomes das camadas.

A função “abrir” é a junção das três próximas linhas e é responsável por abrir um determinado shapefile quando chamada abaixo e é necessário passar dois parâmetros, sendo eles o caminho dos shapefile e o nome da camada.

A variável “camada” recebe a camada ativa na área do QGIS.

A variável “atributos” recebe as características que se encontram na tabela de atributo.

As duas linhas seguintes recebem listas, sendo a primeira uma lista os nomes que são iguais aos nomes dos polígonos que estão na tabela de atributo do shapefile ativo. E a segunda lista recebe uma lista vazia que será preenchida com o id os shapefile comparados no loop a seguir.

O loop a seguir é responsável por comparar a coluna “NOME” da tabela de atributo com os nomes que estão na variável “lista”. Depois de comparar ele irá adicionar na variável “selecionar_id” o id de cada polígono que consta o mesmo nome da variável “lista”.

Na linha seguinte irá selecionar os polígonos com os ids inseridos na variável “selecionar_id”.
As duas linhas seguintes irá salvar um shapefile no caminho informado na variável “caminho2”, sendo ele somente composto pelos polígonos que foram selecionados.

A última linha chama a função “abrir” para abrir o shapefile que foi criado. 

*Obs: O nome do usuário no script está em ***** e você deverá inserir o caminho do arquivo do seu computador.

*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 da função. Coloque os espaços corretos como na figura utilizando a tecla Tab.

A imagem a seguir mostra uma parte do script dentro do editor.



Após esse procedimento clique no ícone rodar script para ver o resultado na tela.



Na imagem a seguir foi desligado a camada de município e somente estando ativo o shapefile criado.



*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!


Será que você precisa de um mapa? Entre aqui se você precisa de uma consultoria.

Quer aprender mais sobre Python no QGIS? Clique aqui