Escolar Documentos
Profissional Documentos
Cultura Documentos
8:
Classificação de Campos com Python
Jorge Santos
2015
Classificação de Campos Numéricos com Python
Classificação de Campos é um recurso ideal para diferenciar valores através de intervalos predefinidos. O exemplo mais
utilizado no site Processamento Digital é a classificação de campos de acordo com os valores numéricos da população. Hoje,
vamos utilizar um exemplo dessa classificação para aplicação de simbologia nas comunidades quilombolas.
Na Tabela de Atributos, o número de famílias quilombolas varia entre 0 e 3500 no arquivo shapefile fornecido, portanto,
nosso objetivo é desenvolver a melhor metodologia para representação dessas comunidades no mapa.
Os números da tabela podem ser repetir, porém o algoritmo selecionado irá realizar uma varredura na coluna e
classificá-los de acordo com o intervalo definido pelo analista. A classificação será armazenada em outro campo.
No segundo passo, devemos estabelecer certos intervalos de classe e associar valores numéricos aos intervalos. Vale
lembrar que a pesquisa pelos valores deve seguir os clássicos testes lógicos que você provavelmente realizou no Microsoft Excel.
2
Esta etapa fica muito mais organizada se materializarmos as ideias através de textos. Na tabela abaixo, temos um
exemplo bem definido dos intervalos de classes com as composições lógicas:
A estrutura principal está pronta. Nos passos a seguir, vamos utilizar uma linguagem de programação para realizar a
varredura em todos os valores da coluna e classificar esses valores de acordo com o resultado indicado na tabela acima.
Linguagem Python
O código da tabela foi escrito para a linguagem Python. Daqui por diante, você pode seguir esses procedimentos para
aprender a executar scripts Python no QGIS. Baixe o arquivo classe.txt criado exclusivamente para atender essa tarefa:
3
Execução do Código Python no QGIS
Abra o painel Processar no QGIS 2.8 e procure pelo algoritmo Advanced Python Field Calculator (ele está localizado no
subgrupo Vector Table Tools que faz parte do grupo Geoalgoritmos QGIS). Não se esqueça de verificar se o item Advanced
Interface está exibindo as ferramentas do painel Processar.
1 - Selecione o polígono de entrada e digite o nome CLASSE para que o QGIS possa gerar uma nova coluna:
4
3 – No item Expressão Global, cole o código que está armazenado no arquivo classe.txt:
4 – No item Fórmula, precisamos chamar a função reclass e indicar a coluna da Tabela de Atributos que contém o
total das famílias quilombolas. No shapefile, o campo ou coluna que contém essa informação chama-se NR_FAMIL8.
5 – No item Camada de Saída, selecione a opção Salvar em Arquivo para gerar um novo arquivo shapefile:
Execute o processo. O QGIS vai adicionar um arquivo chamado Camada de Saída. Você pode remover este arquivo e
acessar o verdadeiro arquivo gerado pelo processo.
5
Para avaliar as mudanças, investigue o campo CLASSE. O código Python classificou os valores de acordo com as regras
pré-definidas. Compare os resultados deste campo com os valores das famílias presentes no campo NR_FAMIL8.
O número de famílias quilombolas será representado pelo intervalo de classes definido pelo analista. Mesmo com o
total de famílias sendo exibido sobre cada área demarcada, a classificação de campos ajudar a ampliar a percepção dos dados
durante a criação de mapas temáticos. O passo final consiste em utilizar o Compositor de Impressão para construir o mapa.
6
Ora, mas qual a finalidade de classificar campos com intervalos pré-definidos? Tente imaginar uma quantidade imensa
de cores para representar 3.500 famílias. Seria inviável, não é mesmo?
7
Contatos
Jorge Santos
Consultor em Geotecnologias
E-mail: jorgepsantos@outlook.com
Skype: jorgepsantos2002
Endereço: http://www.processamentodigital.com.br/
Twitter: http://twitter.com/jpsantos2002
Facebook: http://www.facebook.com/ProcessamentoDigital
LinkedIn: http://br.linkedin.com/pub/jorge-santos/10/38b/8a4/
Atuação
Consultor para Projetos que envolvem Demandas de SIG/PDI;
Instrutor para Treinamento Avançado em Geotecnologias;
Instrutor para Treinamento Avançado no Processamento Digital de Imagens.