Como inserir e modificar rótulos (labels) de shapefiles no ArcGIS?

Aprenda como colocar rótulos nos seus shapefiles e como realizar modificações do tipo, letras maiúsculas para minúsculas, só mostrar alguns rótulos.

Quando estamos montando um mapa, muitas vezes precisamos rotular algumas feições (pontos, linhas ou polígonos).

Esses elementos podem ser polígonos representandos países, estados ou municípios; linhas representando estradas e ferrovias; ou pontos representando áreas amostradas ou sítios arqueológicos.

Iniciarei esse tutorial explicando como rotular tais itens de forma geral, em seguida, mostrarei como rotular apenas alguns itens (e.g. só mostrar o nome das cidades visitadas), utilizando uma expressão (em Python).

Vamos utilizar o shapefile disponibilizado pelo IBGE, basta clicar aqui e fazer o download do arquivo br_unidades_da_federação.zip. Lembrando que outros shapes podem ser acessados aqui.

Após abrir esse shapefile no ArcGIS, digamos que você quer mostrar os nomes dos estados.

Esse procedimento é simples, basta clicar com o botão direito sobre o shapefile, e clicar em Properties. Em seguida, clique na aba Labels, marque a opção “Label features in this layer” e na caixa Text String, selecione NM_ESTADO, ou seja, nome do estado. Depois, basta clicar em aplicar e Ok.

Certo, mas e se o seu estudo estiver sendo realizado no estado do Amazonas e você quer mostrar só esse nome?

Para isso, voltaremos às propriedades do shapefile, e na aba Labels, ao invés de somente selecionar um item na caixa Text String, vamos clicar no botão Expression.

Aqui, você precisará modificar a ultima caixa da janela, chamada parser para o item Python, em seguida, marque a caixa Advanced. Em seguida, cole o texto abaixo conforme a figura, e não se esqueça dos espaços no inicio (eles são importantes na linguagem Python).

def FindLabel ( [NM_ESTADO] ):
  if [NM_ESTADO] == "AMAZONAS":
    return [NM_ESTADO]
Criação de Expressões para Rótulos
Criação de Expressões para Rótulos / Etiquetas

Agora é só clicar em ok e aplicar as modificações realizadas.

Esse código esta informando ao ArcGIS que nós criamos uma função chamada FindLabel, onde um dos seus argumentos de entrada é [NM_ESTADO]. Em seguida, definimos uma condição para que, se [NM_ESTADO] for igual à AMAZONAS, o ArcGIS deverá retornar o valor que esta dentro de [NM_ESTADO], ou seja, Amazonas.

Ainda não satisfeito, você, criterioso, não quer que o as letras fiquem todas em MAIÚSCULAS. Isso é simples de se resolver, basta acrescentar, no mesmo código, a terminação .title() depois de [NM_ESTADO]. Como a seguir:

def FindLabel ( [NM_ESTADO] ):
  if [NM_ESTADO] == "AMAZONAS":
    return [NM_ESTADO].title()

Acrescentando outros nomes

Para finalizar a postagem, irei mostrar como acrescentar outros estados utilizando o mesmo procedimento.

Para isso, é preciso usar o comando elif, onde você poderá rotular os nomes de outras feições. Vamos acrescentar os nomes dos estados do Pará e do Maranhão.

def FindLabel ( [NM_ESTADO] ):
  if [NM_ESTADO] == "AMAZONAS":
    return [NM_ESTADO].title()
  elif [NM_ESTADO] == u"PARÁ":
    return [NM_ESTADO].title()
  elif [NM_ESTADO] == u"MARANHÃO":
    return [NM_ESTADO].title()
  else:
    return

Note que para os estados do Pará e do Maranhão, colocamos um “u” no inicio de seus nomes, isso porque eles são textos que contém acentos. Se não colocássemos esse u (para marcar como texto Unicode), o ArcGIS simplesmente não mostraria os rótulos.

E caso você precise adicionar outros estados, bastar inserir outras linhas com elif, seguida do comando return, mantendo sempre o comando else por último.

Rótulos aplicados no ArcGIS
Rótulos aplicados no ArcGIS do nosso tutorial.

Qualquer dúvida ou dificuldade para aplicar esses comandos aos seus dados, deixe seu comentário abaixo e responderemos assim que possível.

Atualização 31/03/2017

Realizamos um vídeo explicando esse procedimento, confira ele abaixo.



Clique na figura abaixo e responda nosso questionário para receber nosso ebook "Como criar mapas de localização com ArcGIS 10.x".


Author: Fernando BS

Engenheiro Ambiental e de Segurança do Trabalho. Atua nas áreas de recuperação ambiental, geoprocessamento e ciência do solo. Busca soluções utilizando softwares como ArcGIS, R e MATLAB.

2 thoughts on “Como inserir e modificar rótulos (labels) de shapefiles no ArcGIS?”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *