# 7 – ArcGIS: Calculadora de Campo: Classificação de Campos

arcgis10b

Sétimo tutorial sobre a Calculadora de Campo do ArcGIS. Hoje vamos falar sobre Classificação de Campos.

Armazenamento de Dados

Devemos ser cautelosos em relação ao armazenamento de dados no ArcGIS. Em pequenos projetos, geralmente não temos essa preocupação, mas considere um arquivo DBF ou Geodatabase acima de 1 GB de tamanho: você pode ter sérios problemas com uma base de dados caso não se preocupe em realizar alguns cuidados elementares.

Por exemplo, considere a sigla dos 27 estados da República Federativa do Brasil. Apenas dois caracteres inseridos num campo do tipo String são suficientes para armazenar essas informações na Tabela de Atributos

Um campo do tipo String com comprimento 2 é suficiente para armazenar dois caracteres que representam a sigla de cada estado, porém, se o campo que representa a sigla dos estados brasileiros for do tipo String com comprimento 254, Veja na imagem abaixo o tamanho de dois arquivos dBase que possuem a mesma informação:

O Arquivo UF_Brasil2.dbf é um componente da geometria UF_Brasil2.shp e foi criado com formatação de dados do tipo String com comprimento valor 2. Para este exercício, não estamos considerando o tamanho da geometria do shapefile, mas sua base de dados.  O sistema faz uma reserva de espaço quando um usuário determina o tipo de dado e o número de caracteres ou algarismos que aquele campo deve comportar.  Por isso, devemos ser cautelosos durante a criação de novos campos na Tabela de Atributos.

Classificação de Campos com Field Calculator

Para armazenar dados que podem crescer exponencialmente, uma alternativa interessante é a Classificação de Campos. As aplicações desse recurso são vastas.  Use-a para potencializar seu projetos. 

Para exemplificar, vou utilizar um shapefile com dados espacializados do levantamento do Censo 2010 pelo IBGE. A população do Rio de Janeiro é o principal objeto de estudo dessa situação hipotética.

 

 Criei um campo chamado CLASSE  do tipo Inteiro com precisão 2. É suficiente para conter os valores da classificação:

 

Nosso objetivo é classificar a população do Rio de Janeiro de acordo com o número total de habitantes. Estabeleci um critério simples, representado na tabela abaixo:

Função Lógica Resultado do Campo
Se a população for inferior a 10.000 Classe 1
Se a população for inferior a 30.000 Classe 2
Se a população for inferior a 50.000 Classe 3
Se for inferior a 100.000 Classe 4
Se for inferior a 200.000 Classe 5
Se for inferior a 500.000 Classe 6
Se for inferior a 1.000.000 Classe 7
Caso contrário (nenhuma acima)  Classe 8

O resultado da classificação deve ser armazenado no campo CLASSE. Clique sobre ele com o botão direito do mouse sobre o campo CLASSE e acesse a opção Field Calculator. Digite na Calculadora de Campo, opção Advanced:

Dim pop as Integer
if [POPULACAO] < 10000 then
pop = 1
ElseIf [POPULACAO] < 30000 then
pop = 2
ElseIf [POPULACAO] < 50000 then
pop = 3
ElseIf [POPULACAO] < 100000 then
pop = 4
ElseIf [POPULACAO] < 200000 then
pop = 5
ElseIf [POPULACAO] < 500000 then
pop = 6
ElseIf [POPULACAO] < 1000000 then
pop = 7
Else pop = 8
EndIf

Na caixa abaixo, insira a palavra pop. Veja a imagem abaixo:

Os campos foram atualizados com informação numérica. Cada população possui sua própria classe. Apenas o município do Rio de Janeiro (cerca de 6 milhões de  habitantes) recebeu a classe 8, pois não está enquadrado em nenhuma das classes informadas na tabela acima:

Você pode criar suas próprias condições e estabelecer suas próprias regras. Sem dúvida, essa é a melhor dica da Calculadora de Campo, pois além de solucionar rapidamente questões cartográficas, nos habilita a entender melhor o processo de programação. Recentemente recebi uma dúvida sobre a Calculadora de Campo: um rapaz gostaria de substituir mais de um registro com a função Replace. Julguei melhor utilizar o recurso desse tutorial. O princípio é o mesmo:

if [Bairro] = “SAO Cristóvão” then
[Bairro2] = “São Cristóvão”
elseif [Bairro] = “S. Cristóvão” then
[Bairro2] = “São Cristóvão”
elseif [Bairro] = “S Cristóvão” then
[Bairro2] = “São Cristóvão”
else [Bairro2] = “São Cristóvão”
end if


Envie suas sugestões e dicas para o e-mail procdigital@gmail.com


Comentários

Tags:

About Jorge Santos

Técnico em Cartografia, Blogueiro, Fascinado por Tecnologia e futuro Geógrafo, Jorge Santos atualmente trabalha com Geotecnologias no Rio de Janeiro. Seu objetivo é avançar sempre, sem esmorecer, rumo ao pleno conhecimento cartográfico.