SlideShare uma empresa Scribd logo
1 de 8
Baixar para ler offline
QGIS 2.8:
Classificação de Campos com Python
Jorge Santos
2015
2
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.
Classificação de Campos em outros aplicativos
Nos tópicos anteriores, eu criei tutoriais contendo os passos necessários para execução dessa dica nos aplicativos ArcGIS
10, ArcGIS 9.3, gvSIG e Quantum GIS 1.7.4. Hoje vamos testar esta técnica no QGIS versão 2.8.
A Questão das Comunidades Quilombolas
De acordo com os dados em shapefile do INCRA, as comunidades quilombolas estão espacialmente distribuídas por
diversas regiões do Brasil. Nosso objetivo é determinar o mapeamento destes grupos humanos através de polígonos com
representação de simbologia. A ideia é utilizar o Geoprocessamento para gerar uma representação temática, fornecendo a
localização das famílias quilombolas por todo o Brasil.
Na imagem abaixo, temos algumas poligonais representando fragmentos de comunidades quilombolas. Os valores
numéricos representam o total de famílias distribuídas por área delimitada:
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.
Teste lógico para definição de intervalos
Para classificar as comunidades quilombolas de acordo com o número de famílias, o primeiro passo consiste em
identificar o campo ou coluna da Tabela de Atributos que armazena as informações sobre o total de famílias. Ao abrir a tabela,
verificamos que o campo NR_FAMIL8 contém essa informação:
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.
3
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:
Proposição Lógica Resultado
Se a população quilombola for inferior a 20 famílias Classificar como 1
Caso contrário, se a população quilombola for superior a 20
famílias e inferior a 50 famílias
Classificar como 2
Caso contrário, se a população quilombola for superior a 50
famílias e inferior a 70 famílias
Classificar como 3
Caso contrário, se a população quilombola for superior a 70
famílias e inferior a 90 famílias
Classificar como 4
Caso contrário, se a população quilombola for superior a 90
famílias e inferior a 110 famílias
Classificar como 5
Caso contrário, se a população quilombola for superior a
110 famílias e inferior a 120 famílias
Classificar como 6
Caso contrário, se a população quilombola for superior a
120 famílias e inferior a 140 famílias
Classificar como 7
Caso contrário, se a população quilombola for superior a
140 famílias e inferior a 400 famílias
Classificar como 8
Caso contrário, se a população quilombola for superior a
400 famílias
Classificar como 9
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:
4
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.
Com o algoritmo aberto, ajuste essas configurações:
1 - Selecione o polígono de entrada e digite o nome CLASSE para que o QGIS possa gerar uma nova coluna:
2 - Selecione o Tipo de Campo como Inteiro com Comprimento 10 e Precisão 0:
5
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.
Digite a seguinte expressão no campo Fórmula:
value = reclass (<NR_FAMIL8>)
5 – No item Camada de Saída, selecione a opção Salvar em Arquivo para gerar um novo arquivo shapefile:
6 – Digite o nome do arquivo shapefile que será criado:
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.
6
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.
Configuração da Simbologia por Categoria
Acesse as Propriedades do Camada Vetorial e faça a edição de simbologia por Estilo Categorizado, selecionando o
campo CLASSE gerado pela Calculadora Python. No item Legenda, defina as classes e as cores de acordo com o seu gosto. Você
pode digitar os intervalos numéricos ou incluir números e textos. Esta opção é livre para o analista decidir.
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.
7
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?
8
Contatos
Jorge Santos
Consultor em Geotecnologias
E-mail: jorgepsantos@outlook.com
Skype: jorgepsantos2002
Processamento Digital – Geotecnologias e Software Livre
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.

Mais conteúdo relacionado

Mais procurados

Aula 01 noções de cartografia e geoprocessamento
Aula 01   noções de cartografia e geoprocessamentoAula 01   noções de cartografia e geoprocessamento
Aula 01 noções de cartografia e geoprocessamento
42549299272
 
Introdução à Modelagem Ambiental
Introdução à Modelagem AmbientalIntrodução à Modelagem Ambiental
Introdução à Modelagem Ambiental
Rodolfo Almeida
 
Coordenadas Geográficas e Pesquisa de Campo
Coordenadas Geográficas  e Pesquisa de CampoCoordenadas Geográficas  e Pesquisa de Campo
Coordenadas Geográficas e Pesquisa de Campo
unesp
 
Introdução geral à topografia
Introdução geral à topografiaIntrodução geral à topografia
Introdução geral à topografia
Pessoal
 
Introdução a meta populações
Introdução a meta populaçõesIntrodução a meta populações
Introdução a meta populações
unesp
 

Mais procurados (20)

Análise Espacial Baseada em Distância
Análise Espacial Baseada em DistânciaAnálise Espacial Baseada em Distância
Análise Espacial Baseada em Distância
 
Georreferenciamento de Bases Cartográficas
Georreferenciamento de Bases CartográficasGeorreferenciamento de Bases Cartográficas
Georreferenciamento de Bases Cartográficas
 
Aula 01 noções de cartografia e geoprocessamento
Aula 01   noções de cartografia e geoprocessamentoAula 01   noções de cartografia e geoprocessamento
Aula 01 noções de cartografia e geoprocessamento
 
Análise Espacial Baseada em Localização
Análise Espacial Baseada em LocalizaçãoAnálise Espacial Baseada em Localização
Análise Espacial Baseada em Localização
 
Escalas: Conceitos e Aplicações
Escalas: Conceitos e AplicaçõesEscalas: Conceitos e Aplicações
Escalas: Conceitos e Aplicações
 
Análise de dependência espacial em R
Análise de dependência espacial em RAnálise de dependência espacial em R
Análise de dependência espacial em R
 
Sistemas de Informações Geográficas
Sistemas de Informações GeográficasSistemas de Informações Geográficas
Sistemas de Informações Geográficas
 
Análise de Pontos em R
Análise de Pontos em RAnálise de Pontos em R
Análise de Pontos em R
 
MapBiomas - Recortar Uso do Solo e Aplicar Simbologia no QGIS
MapBiomas - Recortar Uso do Solo e Aplicar Simbologia no QGISMapBiomas - Recortar Uso do Solo e Aplicar Simbologia no QGIS
MapBiomas - Recortar Uso do Solo e Aplicar Simbologia no QGIS
 
Introdução à Modelagem Ambiental
Introdução à Modelagem AmbientalIntrodução à Modelagem Ambiental
Introdução à Modelagem Ambiental
 
Geoprocessamento
Geoprocessamento Geoprocessamento
Geoprocessamento
 
Dados espaciais
Dados espaciaisDados espaciais
Dados espaciais
 
Manejo de Irrigação
Manejo de IrrigaçãoManejo de Irrigação
Manejo de Irrigação
 
Dados espaciais em R
Dados espaciais em RDados espaciais em R
Dados espaciais em R
 
Coordenadas Geográficas e Pesquisa de Campo
Coordenadas Geográficas  e Pesquisa de CampoCoordenadas Geográficas  e Pesquisa de Campo
Coordenadas Geográficas e Pesquisa de Campo
 
Introdução geral à topografia
Introdução geral à topografiaIntrodução geral à topografia
Introdução geral à topografia
 
Mapas Coropléticos e de Símbolos Proporcionais
Mapas Coropléticos e de Símbolos ProporcionaisMapas Coropléticos e de Símbolos Proporcionais
Mapas Coropléticos e de Símbolos Proporcionais
 
Mapeamento de Geossistemas - Prática no QGis
Mapeamento de Geossistemas - Prática no QGisMapeamento de Geossistemas - Prática no QGis
Mapeamento de Geossistemas - Prática no QGis
 
GPS História e Aplicações
GPS História e AplicaçõesGPS História e Aplicações
GPS História e Aplicações
 
Introdução a meta populações
Introdução a meta populaçõesIntrodução a meta populações
Introdução a meta populações
 

Destaque

Apostila completa q_gis
Apostila completa q_gisApostila completa q_gis
Apostila completa q_gis
railano
 
Orientação a Objetos com PHP
Orientação a Objetos com PHPOrientação a Objetos com PHP
Orientação a Objetos com PHP
Augusto Pascutti
 
Exercicios Php
Exercicios PhpExercicios Php
Exercicios Php
softeam
 
Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidos
Crishna Irion
 

Destaque (17)

QGIS 2.4: Recorte de Raster via Shapefile (Batch Mode)
QGIS 2.4: Recorte de Raster via Shapefile (Batch Mode)QGIS 2.4: Recorte de Raster via Shapefile (Batch Mode)
QGIS 2.4: Recorte de Raster via Shapefile (Batch Mode)
 
QGIS 2.6: Conversão de Imagens Landsat-8 (16 Bit para 8 Bit)
QGIS 2.6: Conversão de Imagens Landsat-8 (16 Bit para 8 Bit) QGIS 2.6: Conversão de Imagens Landsat-8 (16 Bit para 8 Bit)
QGIS 2.6: Conversão de Imagens Landsat-8 (16 Bit para 8 Bit)
 
Guia Quantum GIS
Guia Quantum GISGuia Quantum GIS
Guia Quantum GIS
 
Python
PythonPython
Python
 
Preparando-se para a prova da Certificação Zend PHP 5.3
Preparando-se para a prova da Certificação Zend PHP 5.3Preparando-se para a prova da Certificação Zend PHP 5.3
Preparando-se para a prova da Certificação Zend PHP 5.3
 
Rumo à Certificação PHP
Rumo à Certificação PHPRumo à Certificação PHP
Rumo à Certificação PHP
 
I ♥ Maps: Quantum GIS + Python
I ♥ Maps: Quantum GIS + PythonI ♥ Maps: Quantum GIS + Python
I ♥ Maps: Quantum GIS + Python
 
Processamento e Análise com QGIS
Processamento e Análise com QGISProcessamento e Análise com QGIS
Processamento e Análise com QGIS
 
Python, a arma secreta do Google
Python, a arma secreta do GooglePython, a arma secreta do Google
Python, a arma secreta do Google
 
Apostila completa q_gis
Apostila completa q_gisApostila completa q_gis
Apostila completa q_gis
 
Certificacao Php
Certificacao PhpCertificacao Php
Certificacao Php
 
Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHP
 
Orientação a Objetos com PHP
Orientação a Objetos com PHPOrientação a Objetos com PHP
Orientação a Objetos com PHP
 
Exercicios Php
Exercicios PhpExercicios Php
Exercicios Php
 
Curso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoCurso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP Básico
 
Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidos
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 

Semelhante a QGIS 2.8: Classificação de Campos com Python

Linguagem de programação projeto de fim de semana 1
Linguagem de programação   projeto de fim de semana 1Linguagem de programação   projeto de fim de semana 1
Linguagem de programação projeto de fim de semana 1
Carlos Melo
 
Sql apostila construcao de comandos
Sql   apostila construcao de comandosSql   apostila construcao de comandos
Sql apostila construcao de comandos
robinhoct
 
Apostila projeto geo 2005
Apostila projeto geo 2005Apostila projeto geo 2005
Apostila projeto geo 2005
Hudson Góis
 
Tutorial_PostGis
Tutorial_PostGisTutorial_PostGis
Tutorial_PostGis
ANAMSIGOT
 

Semelhante a QGIS 2.8: Classificação de Campos com Python (20)

Tutorial-Como criar um mapa dos dados do Laudo de Avaliação de Imóveis no Goo...
Tutorial-Como criar um mapa dos dados do Laudo de Avaliação de Imóveis no Goo...Tutorial-Como criar um mapa dos dados do Laudo de Avaliação de Imóveis no Goo...
Tutorial-Como criar um mapa dos dados do Laudo de Avaliação de Imóveis no Goo...
 
Linguagem de programação projeto de fim de semana 1
Linguagem de programação   projeto de fim de semana 1Linguagem de programação   projeto de fim de semana 1
Linguagem de programação projeto de fim de semana 1
 
Apostila basica sql
Apostila basica sqlApostila basica sql
Apostila basica sql
 
Excel Avançado com fórmulas interessantes
Excel Avançado com fórmulas interessantesExcel Avançado com fórmulas interessantes
Excel Avançado com fórmulas interessantes
 
excel_avancado.pdf
excel_avancado.pdfexcel_avancado.pdf
excel_avancado.pdf
 
Sql apostila construcao de comandos
Sql   apostila construcao de comandosSql   apostila construcao de comandos
Sql apostila construcao de comandos
 
Netbeans IDE
Netbeans IDENetbeans IDE
Netbeans IDE
 
Excel curso avançado
Excel curso avançadoExcel curso avançado
Excel curso avançado
 
Excel avancado
Excel avancadoExcel avancado
Excel avancado
 
Excel avancado 2015
Excel avancado 2015Excel avancado 2015
Excel avancado 2015
 
Excel avancado
Excel avancadoExcel avancado
Excel avancado
 
Lista das funções do Google Spreadsheet
Lista das funções do Google SpreadsheetLista das funções do Google Spreadsheet
Lista das funções do Google Spreadsheet
 
Apostila projeto geo 2005
Apostila projeto geo 2005Apostila projeto geo 2005
Apostila projeto geo 2005
 
ODI Tutorial - Modelo de Dados
ODI Tutorial - Modelo de DadosODI Tutorial - Modelo de Dados
ODI Tutorial - Modelo de Dados
 
Tutorial_PostGis
Tutorial_PostGisTutorial_PostGis
Tutorial_PostGis
 
Pi raciocinio lógico
Pi   raciocinio lógicoPi   raciocinio lógico
Pi raciocinio lógico
 
Planilha Eletrônica BrOffice CALC
Planilha Eletrônica BrOffice CALCPlanilha Eletrônica BrOffice CALC
Planilha Eletrônica BrOffice CALC
 
Capítulo 16 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 16 Livro Algoritmos e Programação de Computadores Autores JR., Diler...Capítulo 16 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
Capítulo 16 Livro Algoritmos e Programação de Computadores Autores JR., Diler...
 
6.3 Clustering_338ca79f26242f5b9b48a218cfc35819.pdf
6.3 Clustering_338ca79f26242f5b9b48a218cfc35819.pdf6.3 Clustering_338ca79f26242f5b9b48a218cfc35819.pdf
6.3 Clustering_338ca79f26242f5b9b48a218cfc35819.pdf
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
 

Mais de Jorge Santos

20150323 qgis28 remocao_de_valores_negativos_no_mde
20150323 qgis28 remocao_de_valores_negativos_no_mde20150323 qgis28 remocao_de_valores_negativos_no_mde
20150323 qgis28 remocao_de_valores_negativos_no_mde
Jorge Santos
 
GDAL 1.10: Conversão Radiométrica para Landsat-8 (16 Bit para 8 Bit)
GDAL 1.10: Conversão Radiométrica para Landsat-8 (16 Bit para 8 Bit)GDAL 1.10: Conversão Radiométrica para Landsat-8 (16 Bit para 8 Bit)
GDAL 1.10: Conversão Radiométrica para Landsat-8 (16 Bit para 8 Bit)
Jorge Santos
 

Mais de Jorge Santos (12)

MapBiomas – Download do Uso do Solo e Aplicar Simbologia no QGIS
MapBiomas – Download do Uso do Solo e Aplicar Simbologia no QGISMapBiomas – Download do Uso do Solo e Aplicar Simbologia no QGIS
MapBiomas – Download do Uso do Solo e Aplicar Simbologia no QGIS
 
QGIS 2.18: Delimitação de Bacias Hidrográficas com o TauDEM
QGIS 2.18: Delimitação de Bacias Hidrográficas com o TauDEMQGIS 2.18: Delimitação de Bacias Hidrográficas com o TauDEM
QGIS 2.18: Delimitação de Bacias Hidrográficas com o TauDEM
 
ArcGIS 10.3: Iniciante no ModelBuilder - Conversão de Float32 para UInt16
ArcGIS 10.3: Iniciante no ModelBuilder - Conversão de Float32 para UInt16ArcGIS 10.3: Iniciante no ModelBuilder - Conversão de Float32 para UInt16
ArcGIS 10.3: Iniciante no ModelBuilder - Conversão de Float32 para UInt16
 
ERDAS 2014: Imagens Pléiades - Conversão de Quadrículas para IMG (R1C1/R1C2.....
ERDAS 2014: Imagens Pléiades - Conversão de Quadrículas para IMG (R1C1/R1C2.....ERDAS 2014: Imagens Pléiades - Conversão de Quadrículas para IMG (R1C1/R1C2.....
ERDAS 2014: Imagens Pléiades - Conversão de Quadrículas para IMG (R1C1/R1C2.....
 
20150323 qgis28 remocao_de_valores_negativos_no_mde
20150323 qgis28 remocao_de_valores_negativos_no_mde20150323 qgis28 remocao_de_valores_negativos_no_mde
20150323 qgis28 remocao_de_valores_negativos_no_mde
 
QGIS 2.8: Substituição de Pixels Negativos no MDE
QGIS 2.8: Substituição de Pixels Negativos no MDEQGIS 2.8: Substituição de Pixels Negativos no MDE
QGIS 2.8: Substituição de Pixels Negativos no MDE
 
ArCGIS 10.2: Instalação do TauDEM 5.1.2 para Delimitação de Bacias Hidrográficas
ArCGIS 10.2: Instalação do TauDEM 5.1.2 para Delimitação de Bacias HidrográficasArCGIS 10.2: Instalação do TauDEM 5.1.2 para Delimitação de Bacias Hidrográficas
ArCGIS 10.2: Instalação do TauDEM 5.1.2 para Delimitação de Bacias Hidrográficas
 
QGIS 2.8: Rampa de Cores para Representação Topográfica do Modelo Digital de ...
QGIS 2.8: Rampa de Cores para Representação Topográfica do Modelo Digital de ...QGIS 2.8: Rampa de Cores para Representação Topográfica do Modelo Digital de ...
QGIS 2.8: Rampa de Cores para Representação Topográfica do Modelo Digital de ...
 
QGIS 2.6: Adicionar Basemaps da ESRI para ilustração de Mapas
QGIS 2.6: Adicionar Basemaps da ESRI para ilustração de MapasQGIS 2.6: Adicionar Basemaps da ESRI para ilustração de Mapas
QGIS 2.6: Adicionar Basemaps da ESRI para ilustração de Mapas
 
QGIS 2.4: Sistemas de Referência de Coordenadas Personalizado
QGIS 2.4: Sistemas de Referência de Coordenadas PersonalizadoQGIS 2.4: Sistemas de Referência de Coordenadas Personalizado
QGIS 2.4: Sistemas de Referência de Coordenadas Personalizado
 
GIMP 2.8: Guia para Remoção dos Pixels Valor Zero nas Imagens Landsat-8
GIMP 2.8: Guia para Remoção dos Pixels Valor Zero nas Imagens Landsat-8GIMP 2.8: Guia para Remoção dos Pixels Valor Zero nas Imagens Landsat-8
GIMP 2.8: Guia para Remoção dos Pixels Valor Zero nas Imagens Landsat-8
 
GDAL 1.10: Conversão Radiométrica para Landsat-8 (16 Bit para 8 Bit)
GDAL 1.10: Conversão Radiométrica para Landsat-8 (16 Bit para 8 Bit)GDAL 1.10: Conversão Radiométrica para Landsat-8 (16 Bit para 8 Bit)
GDAL 1.10: Conversão Radiométrica para Landsat-8 (16 Bit para 8 Bit)
 

QGIS 2.8: Classificação de Campos com Python

  • 1. QGIS 2.8: Classificação de Campos com Python Jorge Santos 2015
  • 2. 2 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. Classificação de Campos em outros aplicativos Nos tópicos anteriores, eu criei tutoriais contendo os passos necessários para execução dessa dica nos aplicativos ArcGIS 10, ArcGIS 9.3, gvSIG e Quantum GIS 1.7.4. Hoje vamos testar esta técnica no QGIS versão 2.8. A Questão das Comunidades Quilombolas De acordo com os dados em shapefile do INCRA, as comunidades quilombolas estão espacialmente distribuídas por diversas regiões do Brasil. Nosso objetivo é determinar o mapeamento destes grupos humanos através de polígonos com representação de simbologia. A ideia é utilizar o Geoprocessamento para gerar uma representação temática, fornecendo a localização das famílias quilombolas por todo o Brasil. Na imagem abaixo, temos algumas poligonais representando fragmentos de comunidades quilombolas. Os valores numéricos representam o total de famílias distribuídas por área delimitada: 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. Teste lógico para definição de intervalos Para classificar as comunidades quilombolas de acordo com o número de famílias, o primeiro passo consiste em identificar o campo ou coluna da Tabela de Atributos que armazena as informações sobre o total de famílias. Ao abrir a tabela, verificamos que o campo NR_FAMIL8 contém essa informação: 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.
  • 3. 3 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: Proposição Lógica Resultado Se a população quilombola for inferior a 20 famílias Classificar como 1 Caso contrário, se a população quilombola for superior a 20 famílias e inferior a 50 famílias Classificar como 2 Caso contrário, se a população quilombola for superior a 50 famílias e inferior a 70 famílias Classificar como 3 Caso contrário, se a população quilombola for superior a 70 famílias e inferior a 90 famílias Classificar como 4 Caso contrário, se a população quilombola for superior a 90 famílias e inferior a 110 famílias Classificar como 5 Caso contrário, se a população quilombola for superior a 110 famílias e inferior a 120 famílias Classificar como 6 Caso contrário, se a população quilombola for superior a 120 famílias e inferior a 140 famílias Classificar como 7 Caso contrário, se a população quilombola for superior a 140 famílias e inferior a 400 famílias Classificar como 8 Caso contrário, se a população quilombola for superior a 400 famílias Classificar como 9 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:
  • 4. 4 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. Com o algoritmo aberto, ajuste essas configurações: 1 - Selecione o polígono de entrada e digite o nome CLASSE para que o QGIS possa gerar uma nova coluna: 2 - Selecione o Tipo de Campo como Inteiro com Comprimento 10 e Precisão 0:
  • 5. 5 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. Digite a seguinte expressão no campo Fórmula: value = reclass (<NR_FAMIL8>) 5 – No item Camada de Saída, selecione a opção Salvar em Arquivo para gerar um novo arquivo shapefile: 6 – Digite o nome do arquivo shapefile que será criado: 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.
  • 6. 6 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. Configuração da Simbologia por Categoria Acesse as Propriedades do Camada Vetorial e faça a edição de simbologia por Estilo Categorizado, selecionando o campo CLASSE gerado pela Calculadora Python. No item Legenda, defina as classes e as cores de acordo com o seu gosto. Você pode digitar os intervalos numéricos ou incluir números e textos. Esta opção é livre para o analista decidir. 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.
  • 7. 7 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?
  • 8. 8 Contatos Jorge Santos Consultor em Geotecnologias E-mail: jorgepsantos@outlook.com Skype: jorgepsantos2002 Processamento Digital – Geotecnologias e Software Livre 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.