# 10 – ArcGIS 10: Calculadora de Campo: Cálculos com Python

6

arcgis10b

Este é o último tutorial da série sobre a Calculadora de Campo do ArcGIS. Hoje vamos apresentar, em Python, alguns comandos novos e  a versão Python para algumas das operações anteriormente executadas em VbScript.

Comandos Python

Na janela Field Calculator, é preciso selecionar o Parser Python antes de executar os comandos:

Função Replace

!Bairro! .replace("São Cristóvão", "S. Cristóvão")

Concatenar Campos

"%s, %s" % ( !Nome!, !Bairro2!) ou
!SUB_REGION! + " " + !STATE_ABBR!

Classificação de Campos com Python

Classificação da população do Rio de Janeiro de acordo com o número de habitantes. 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:

No shapefile de amostra, clique sobre ele com o botão direito do mouse sobre o campo CLASSE e acesse a opção Field Calculator. Na janela Field Calculator, clique na caixa Show Codebock e digite o comando abaixo:


def reclass(POP):
  if (POP <= 10000):
    return 1
  elif (POP > 10001 and POP <= 30000):
    return 2
  elif (POP > 30001 and POP <= 50000):
    return 3
  elif (POP > 50001 and POP <= 100000):
    return 4
  elif (POP > 100001 and POP <= 200000):
    return 5
  elif (POP > 200001 and POP <= 500000):
    return 6
  elif (POP > 500001 and POP <= 1000000):
    return 7
  else:
    return 8

Na caixa abaixo, insira o seguinte comando:

reclass( !POPULACAO! )

Para mais comandos Python, consulte a Central  de Ajuda da ESRI:

ArcGIS 10: Calculate Field examples


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