ArcGIS: Comandos para eliminar apóstrofos, cedilhas e acentuação da base de dados

1

Está aberta a temporada de caça aos caracteres presentes na base de dados dos dados vetoriais. Nesta postagem do site Processamento Digital, você vai conhecer os recursos do aplicativo ArcGIS para eliminar ou substituir caracteres na tabela de atributos de modo a preservar apenas vogais e consoantes na base de dados desta ferramenta SIG.

Base de Municípios – os Topônimos

A substituição de caracteres é importante para garantir a execução de processos que entram em rota de colisão com a Toponímia. Um exemplo que pode trazer um pouco de luz sobre essa questão são os processos ou atividades de Geoprocessamento que tomam como base a coluna NOME da malha de municípios fornecida pelo IBGE. Para alguns algoritmos, os espaços, a acentuação e caracteres especiais podem prejudicar as análises espaciais.

Dados utilizados – malha de municípios

Para auxiliar este trabalho, eu utilizei a malha de municípios que faz parte do projeto BC250 do IBGE versão 2015. Estou considerando o pacote Limite_v2015_2016-08-03.

ftp://geoftp.ibge.gov.br/cartas_e_mapas/bases_cartograficas_continuas/bc250/versao2015/Shapefile/

 ftp_ibge

ArcGIS: Codificação de Caracteres

Desde a versão 10.2, a ESRI adotou o sistema de codificação UTF-8 para tornar o ArcGIS compatível com o padrão industrial. Se a sua base apresenta acentuação truncada como demonstrado neste exemplo:

arcgis_erro_codificacao_1

Você deve converter a base inteira para o codificador UTF-8.

Ocultar colunas da Tabela

Nosso trabalho terá como base a Tabela de Atributos da camada LIM_Municipio_A.shp:

arcgis_ocultar_colunas_1

Nem todas as colunas serão utilizadas no processo, portanto, acesse as propriedades da camada vetorial e clique na guia Fields para desmarcar todas as opções e habilitar o campo alvo do processo de substituição:

arcgis_ocultar_colunas_2

Resultado: agora, temos uma visão clara do nosso objetivo. Você pode executar o mesmo processo para habilitar os campos da tabela de atributos.

arcgis_ocultar_colunas_3

Primeiro Ato: Perseguição ao Apóstrofo

Não há nada melhor do que aplicar uma seleção sobre os dados para que possamos ter uma ideia do tamanho do problema. O apóstrofo (‘), conhecido em inglês como apostrophe ou single quote, é muito utilizado na nossa língua para atribuição de nomes locais. Na camada de municípios, você pode utilizar a Seleção por Atributos para identificar todos os apóstrofos presentes na base de dados.

arcgis_substituicao_de_texto_01

Nesta etapa, você deve utilizar o operador SQL LIKE para localizar o apóstrofo em qualquer posição do campo “NOME”. Assim, a cota única deve ser digitada duas vezes na fórmula. Exemplo:

“NOME” LIKE ‘%”%’

arcgis_substituicao_de_texto_02

A pesquisa apontou para 47 feições que utilizam apóstrofo na coluna “NOME”, um número relativamente pequeno se consideramos o total de 5.570 municípios do Brasil.

arcgis_substituicao_de_texto_03

Agora que você tem domínio do recurso para selecionar um determinado caractere, apague a marca de seleção para que os processos futuros possam ser executados em toda a base.

arcgis_substituicao_de_texto_04

Nas etapas seguintes, vamos executar os processos para substituição de caracteres. Faça um backup dos seus dados originais para preservar sua base de dados e evitar eventuais problemas.

Criação de um novo campo

Siga os passos abaixo para criar uma nova coluna na tabela de atributos:

arcgis_substituicao_de_texto_05

Nas opções da tabela, clique no item Add Field (1) para criar uma nova coluna. Você deve criar um novo campo de texto chamado NOME2. Este campo deve armazenar informações do tipo Texto ou String, portanto, o limite máximo para armazenar informações alfanuméricas é de 255 caracteres. Para processos que envolvem o nome dos municípios do Brasil, o valor 80 é suficiente (2). Clique no botão OK para finalizar o processo (3).

Segundo Ato: Remoção da cedilha e acentuação

Com a coluna NOME2 criada, vamos executar os passos para remover toda a acentuação e gravar este resultado no campo recentemente criado. Clique com o botão direito sobre a coluna NOME2 e acesse a Calculadora de Campo do ArcGIS (Field Calculator).

arcgis_substituicao_de_texto_07

Será necessário executar um código na linguagem de programação Python para remover de vez todos os caracteres de acentuação. Você pode copiar ou fazer o download do código através deste link.

arcgis_substituicao_de_texto_06

Siga os passos abaixo para aplicar a expressão em Python para eliminar a acentuação:

  • Marque o Parser Python para aplicar o código;
  • Marque a opção Show Codeblock;
  • Cole o código Python para eliminar a acentuação da base;
  • Para chamar a função remove, digite remove (!NOME!).

arcgis_substituicao_de_texto_08a

Parabéns! Toda a acentuação foi removida da base de dados sem prejuízo para o dado original!

arcgis_substituicao_de_texto_09

Terceiro Ato: Substituição de Caracteres

O primeiro caractere que vamos substituir é o espaço. Clique novamente sobre a coluna NOME2 e acesse a Calculadora de Campo. Use a função Python para substituir todos os espaços pelo símbolo underscor (_):

!NOME2!.replace(” “,”_”)

arcgis_substituicao_de_texto_09a

arcgis_substituicao_de_texto_09b

No último passo dessa aula, vamos substituir os apóstrofos e o hífen com a mesma função utilizada no processo de remoção de espaços utilizando a expressão abaixo:

!NOME2!.replace(“‘”,””)

Faça novamente uma consulta pelos apóstrofos com o operador LIKE e confira os resultados! A referência da pesquisa é a coluna NOME:

arcgis_substituicao_de_texto_09c

A mesma lógica se aplica para consultar o hífen na base: “NOME” LIKE ‘%-%’

arcgis_substituicao_de_texto_09e

O processo para substituição do hífen é praticamente igual:

!NOME2!.replace(“-“,”_”)

Faça novamente a consulta SQL com base na coluna NOME e verifique os resultados:

arcgis_substituicao_de_texto_09f

Lista das Expressões utilizadas

Não é recomendável copiar a expressão diretamente do HTML. Pegue a lista aqui.

Conclusão

Alguns processos do ArcGIS devem considerar como parâmetro de saída o atributo presente na base de dados. Este atributo poderá ser utilizado como o nome da camada de saída, portanto, as alterações realizadas aqui não comprometem a malha de municípios do IBGE, pelo contrário, a deixam preparada para certos processos que podem ser executados pelo analista.


Gostou da dica? Então, inscreva-se no nosso canal no Youtube:
https://www.youtube.com/c/ProcessamentoDigitalGeo

Fique por dentro das novidades do site através da nossa Newsletter:
http://www.processamentodigital.com.br/assinatura

Curta nossa página no Facebook:
http://www.facebook.com/ProcessamentoDigital

Siga nossa página no LinkedIn. Vamos divulgar muitas novidades nessa rede:
http://www.linkedin.com/company/processamento-digital


Dúvidas e sugestões podem ser enviadas para o e-mail contato@processamentodigital.com.br

Comentários

1 Comentário

DEIXE UMA RESPOSTA