Como criar rótulos (labels) em shapefiles utilizando o QGIS?
Aprenda a rotular itens no QGIS e veja como utilizar as expressões para criar rótulos específicos e não precisar passar trabalho renomeando sua tabela de atributos.
Ao fazer uma mapa, seja para um cliente ou um trabalho acadêmico, muitas vezes, as legendas não são suficientes para identificar o que está sendo representado no mapa.
Por isso, para resolver tal problema, utilizamos os rótulos (Labels).
Os rótulos são adicionadas no mapa para mostrar as informações sobre um objeto (pontos, nascentes, linhas, rios, áreas de estudo), ou seja, qualquer camada vetorial pode ter rótulos associados e esses rótulos tem seu conteúdo baseado nos atributos da mesma camada.
Para este tutorial, iremos rotular um shapefile de linhas disponibilizado no site do Departamento Estadual de Infraestruturas (DEINFRA). O shapefile que iremos utilizar é o de Rodovias, conforme figura abaixo.
Agora com o shapefile baixado, iremos criar os rótulos no QGIS. É importante frisar que para inserir o arquivo shapefile no QGIS, o ideal é extrair sua base de dados do arquivo zipado.
Agora com o arquivo extraído do zip, abra o QGIS. Neste tutorial irei utilizar o QGIS 2.18.15.
Com o QGIS aberto, insira o arquivo Shapefile.
O shapefile é um arquivo vetorial normalmente composto por pontos, linhas ou polígonos.
Ao inserir seu arquivo no QGIS, seus dados ficarão conforme figura abaixo.
Agora com o arquivo inserido, iremos criar os rótulos. Para inserir o rótulo, basta clicar com o botão direito do mouse sobre o nome do arquivo “Rodovias_SC”.
Note que ao clicar com o botão direito sobre o shapefile, irá aparecer algumas opções como: Tabela de Atributos; Filtrar; Renomear; Propriedades dentre outros. No nosso caso, iremos escolher a opção “Propriedades”.
Ao selecionar a opção “Propriedades”, será aberto uma janela contendo uma série de informações gerais do Shapefile, tais como sistemas de coordenadas, como classificar as cores, rótulos, etc.
No nosso caso, iremos clicar sobre a opções “Rótulos”.
É nessa “aba” que será habilitada a opção rotular e para fazer isso precisamos escolher o tipo de rótulo que queremos, baseado em um item da tabela de atributos.
A tabela de atributos representa os dados associados a cada uma das feições (ponto, linha ou polígono) existentes no Shapefile.
Ao abrir as opções de rótulo, você irá encontrar as opções: Não Rotular; Mostrar Rótulo para as camadas; Rótulo Baseado em Regra e Bloqueado, conforme mostra a figura abaixo.
Para criar o rótulo baseado nos itens da tabela de atributos, iremos selecionar a opção “Mostrar rótulos para as camadas”. Ao escolher a opção esta opção, note que todos os demais itens abaixo foram habilitados.
Agora iremos selecionar qual item da tabela de atributos utilizaremos para rotular. Para selecionar tal item, basta clicar na opção “Rotular com”, conforme mostra a figura abaixo.
Note que clicar na opção “Rotular com”, irá aparecer o nome das colunas da tabela de atributos. Para este tutorial, iremos escolher a opção “SGRODPUB”, que refere-se ao nome das rodovias.
Os itens recém habilitados referem-se a formatação do rótulo e como sua aparência irá ficar no mapa. Tais itens são:
- Texto: Serve para determinar a fonte, tamanho e os estilos.
- Formatar: Define as informações referentes às linhas (altura e alinhamento).
- Buffer: Determina o contorno da letra, tamanho e cor.
- Fundo: Serve para determinar o fundo do rótulo, formato, tamanho, espessura e dentre outros.
- Sombra: É utilizado para configurar a sombra, tamanho, sentido, cor, escala e transparência.
- Posição: Serve para determinar a posição, alinhamento a qual o rótulo se encontra em relação a referência;
- Renderizar: Determina como o rótulo irá aparecer no mapa.
Ao final, clique em “Aplicar” e em seguida em “Ok” que seu aquivo ficará conforme mostra a figura abaixo.
No entanto, ainda não terminamos nosso tutorial, pois note que os “nomes” dos rótulos estão grandes e orientado pelas linhas das estradas, vamos modificar isso.
Para modificá-los, precisamos voltar ao item “propriedades” > “Rótulos” e formatar nosso rótulo.
Na opção “Texto”, iremos mudar a fonte para “Arial” e o tamanho da letra para “6”.
E na opção “Posição”, escolha o item “Horizontal”. Esse item fará com que o nome dos rótulos fiquem no formato horizontal, conforme mostra a figura abaixo.
Ao final, clique em “Aplicar” e em seguida em “OK” e seu arquivo ficará conforme figura abaixo.
No entanto, queremos deixar no arquivo as rodovias que apresentam no nome a palavra “SC” e para isso iremos utilizar “expressões”.
Expressões são fórmulas e funções que permitem realizar tarefas mais complexas.
Para gerar as expressões, é preciso voltar ao item “Propriedades” >“Rótulos”, conforme mostra a figura, e clicar no pequeno e no lado direito da janela.
Ao clicar na opção “Expressões” será aberto uma “Caixa de Diálogo Expressão”.
É nessa “caixa” que serão geradas todas as expressões e fórmulas para seus rótulos. Para nosso exemplo iremos utilizar as funções:
- If: Refere-se a função SE . Essa função serve para comparar valores e avaliar os resultados a partir de uma condição pré-definida (ex: SE algo é Verdadeiro o resultado é SIM, SE Falso, NÃO); e
- Left: Serve para determinar os caracteres localizados à esquerda do campo indicado e em seguida adicionar o resultado gerado no novo campo.
Agora, iremos utilizar a função left para fazer com que a função if avalie se as duas primeiras letras na coluna SGRODPUB são iguais à SC e para avaliar isso, iremos digitar a seguinte expressão:
if( left( SGRODPUB,2) = ‘SC’, SGRODPUB, ”)
Na função left(), indicamos qual campo queremos avaliar e quantos caracteres serão avaliados a partir da esquerda (neste caso, 2 caracteres). A função verifica se esses dois caracteres são iguais a SC e se a comparação for verdadeira, irá retornar o nome da rodovia, caso contrário, irá retornar um carácter vazio.
E ao final, clique em “Aplicar” e em seguida “Ok” e seu mapa ficará conforme mostra a figura abaixo.
E chegamos ao final do nosso tutorial, não deixe de comentar logo abaixo da postagem suas dúvidas ou comentários.
Bom dia,
desde já obg e parabéns pelo excelente trabalho que têm vindo a desenvolver no blog.
Deixo aqui uma dúvida relacionada com etiquetas. Como deixar automaticamente visível a orientação (ângulo em radianos com valores entre 0 e 400) de uma linha tendo como referencial a direcção Este ?
Comecei há cerca de um mês na área de engenharia de telecomunicações, já consegui etiquetas com o tipo de cabo ( introduzido manualmente) e o comprimento de cabo ( Função “Slength” na calculadora de campos com o nome “LONG”) graças a fórmula ” TYPE||’\n’||LONG||’m'”. Só me falta mesmo a orientação dos cabos (linhas no QGIS) para ter visível toda a informação necessária.
Cumprimentos sinceros
Gil Miranda
Boa noite Gil,
Obrigado pelo comentário. Com relação à representação de etiquetas com o ângulo, é possível utilizar a seguinte expressão para obter a orientação da linha: “degrees(azimuth(start_point($geometry), end_point($geometry)))”.
Fonte: https://gis.stackexchange.com/questions/264422/displaying-azimuth-of-line-in-qgis
Muito obrigada, me ajudou bastante esse tutorial. Prático, objetivo e simples de entender.