Neste tutorial pretende-se mostrar o uso da calculadora de campos no preenchimento da tabela de atributos. Vamos supor, que temos um campo com os valores da densidade populacional e necessitamos de um campo de texto que nos represente a informação de forma qualitativa em três categorias, baixa, moderada e elevada. Em ambiente SIG, utilizando o QGIS 2.0 podemos realizar este processo por meio de uma expressão condicional.
Este tutorial é um Guest Post elaborado por Nelson Silva, que é técnico de Sistemas de Informações Geográficas (SIG) desde 1997. Atualmente atua como consultor/formador em regime de freelancer, onde tem tido a oportunidade de colaborar com várias instituições publicas e privadas.
USO DA CALCULADORA DE CAMPOS NO QGIS 2.0
Iremos trabalhar neste tutorial com os dados ilustrados na imagem abaixo. Você pode fazer o download gratuito destes dados (distritos.zip).
Todo o processo de alteração da tabela de atributos, requer que ela esteja em modo de edição.
A forma mais rápida de colocar um layer em edição, é por o selecionar na Tabela de Conteúdos (painel Camadas) e com o botão lado direito escolher a opção Alternar Edição ou, diretamente na tabela:
Definimos em seguida o nome e as características do novo campo a adicionar à tabela.
Ao fundo, na seção Expressão escrevemos uma declaração condicional para efetuar o preenchimento do campo de uma só vez, em função dos valores do campo referente à densidade populacional. Neste exemplo a expressão a utilizar seria a seguinte:
CASE WHEN “dens_pop11” >=1 AND “dens_pop11” <=100 THEN ‘Baixa'
WHEN “dens_pop11” >=101 AND “dens_pop11” <=500 THEN ‘Moderada'
WHEN “dens_pop11” >=501 THEN ‘Elevada'
END
Termine clicando no botão OK e verifique o resultado na tabela.
Útil, não é? Imagine as potencialidades a se explorar com esta Calculadora. Faça o download duma versão em PDF deste tutorial a partir do link abaixo:
Leia mais sobre o QGIS nos seguintes tutoriais e artigos:
12 respostas
Valeu Anderson
Olá Anderson, muito boa essa função, a única limitação que vi é que, quando você volta para editar o campo novamente, a fórmula não está mais lá e é preciso digitar novamente. Mas, de novo, uma ótima função.
Obrigado por mais essa.
Bom dia Anderson,
estou trabalhando com edição de linhas e polígonos no QGIS, inseri um campo de área e comprimento na tabela de atributos e utilizei a calculadora de campos, funcionou perfeitamente.
gostaria de saber se existe uma maneira de configurara a atualização automaticamente de área e comprimentos quando crio uma nova feição.
Att.
André Leonardo Bortolotto Buck
Cleber/Rafael
A dica funciona sim, mas é preciso arrumar os caracteres. Estou enviando um pequeno vídeo + código em TXT para facilitar: http://goo.gl/GfsGkn
Essa dica do Nelson é boa. Eu costumava classificar campos condicionais pelo plugin FieldPyculator.
Att,
Jorge Santos
http://www.processamentodigital.com.br/
Jorge,
Agradecemos pela grande contribuição dada por meio de seu comentário.
Abraço!
Já encontrei meu erro. Eu copiei a expressão e colei na calculadora de campo. Por isso que o QGIS não estava reconhecendo o campo dens_pop11. Deveria ter ido na opção CAMPOS E VALORES, localizado na lista de funções da calculadora de campo e selecionar o campo dens_pop11. Depois que fiz isso, deu tudo certo.
Olá Anderson, também não consegui completar a atividade. A informação que o QGIS passa é que a coluna dens_pop11 não foi encontrada. Verifiquei as aspas e está tudo certo.
Olá,
Muito bom o tutorial, contudo não consegui reproduzi-lo. Quando entro com a expressão dá que a mesma é invalida? será que fiz alguma coisa errada ou estou deixando passar algo?
Obrigado
cleiber, você está usando o tipo certo de aspas?
Abraço!
Ola pessoal,
EU estive procurando algo similar em http://gis.stackexchange.com/questions/77740/select-expression-and-field-calculator-in-one-step-with-qgis
vc sabe como fazer isso???
Obrigado, Sergio
Sergio Ibarra Espinosa
Doutorando em Meteorologia
Instituto de Astronomia, Geofísica e Ciências Atmosféricas
Universidade de São Paulo
Rua do Matão, 1226
Cidade Universitária
São Paulo-SP – Brasil –
05508-090
+55-11-986-713-521
Skype: sergio_ibarra1
Blog: http://www.sergioibarra.blogspot.com