Você está na página 1de 20

TUTORIAL

Trabalhando com a
base de dados no
QGIS: Operações
com Texto

QGIS www.processamentodigital.com.br
O Processamento Digital é um Canal de
Conteúdo GEO oferecido pela HEX –
Tecnologias Geoespaciais Inovadoras, que
traz ao público interessado nas Tecnologias
Geoespaciais o que há de novo no setor. Este
canal foi idealizado com o objetivo de ajudar
o público, trocar informações e gerar debates
acerca dos temas da área.
ÍNDICE

Identificação de Atributos................................................................................ 4
Atributos de Texto e Número .............................................................. 4
Campo de Texto (String) ......................................................................... 4
Trabalhando com Comandos de Texto no QGIS ........................................ 5
Comando Left ............................................................................................ 5
Comando Right ......................................................................................... 7
A Concatenação de Colunas ................................................................. 8
A Largura de um Campo de Texto ...................................................... 8
Criação de um Novo Campo de Texto ................................................ 9
Adicionar Espaços na Concatenação ................................................ 10
O Comando lower ................................................................................... 11
O Comando upper .................................................................................. 12
O Comando title ...................................................................................... 12
O Comando replace ................................................................................ 13

O Comando substr ............................................................................................ 14


O Comando substr: Posição dos Caracteres .................................... 15
Organizar o campo VALIDACAO com substr ................................ 16

O Comando length ........................................................................................... 18

Trabalhando com Conversões ...................................................................... 19


Conversão de Número para Texto .................................................... 19
A função tostring ................................................................................... 19
.

www.processamentodigital.com.br
www.processamentodigital.com.br

Este documento traz um passo a passo com mais uma aplicação


da Calculadora de Campo do QGIS com comandos e funções para
operações com texto. Além das funções para seleção de atributos,
vamos publicar alguns exemplos sobre concatenação de colunas
para unir atributos. No QGIS, a palavra “Campo” corresponde à
“Coluna”.

1. Identificação
de Atributos
Atributos de Texto e Número

No QGIS ou mesmo no Microsoft Excel/LibreOffice Calc, atributos


de texto são posicionados à esquerda da coluna e atributos
numéricos são posicionados à direita da coluna.

Na tabela acima, as colunas reservadas para os cálculos de


perímetro e área geográfica possuem algarismos alinhados à
direita das colunas. Os demais campos concentram caracteres
alinhados à esquerda. Esta é uma forma simples para interpretar
a estrutura dos campos na tabela.

Campo de Texto (String)

Admite caracteres alfabéticos e numéricos com largura máxima


de 255 caracteres.

4 Trabalhando com a base de dados no QGIS:


Operações com Texto
www.processamentodigital.com.br

2.Trabalhando com Comandos


de Texto no QGIS
Comando Left

Utilizado para selecionar um conjunto de caracteres posicionados


à esquerda do campo indicado na fórmula. Para ilustrar a
utilização do comando left, considere uma lista de telefones para
algumas empresas com sede no estado do Rio de Janeiro:

Na Tabela de Atributos, temos um campo chamado FONE e


dois campos vazios: PREFIXO e TEL. Nosso objetivo consiste
em utilizar as fórmulas do QGIS para selecionar as palavras que
estão posicionadas à esquerda e à direita dos atributos presentes
na coluna FONE. Estas fórmulas serão utilizadas para separar o
prefixo do número de telefone das empresas.

Clique nas ferramentas Alternar Edição e Calculadora de Campo:

Neste primeiro exemplo, vamos utilizar as fórmulas do QGIS para


preencher uma coluna existente na Tabela de Atributos. Clique
na opção Atualizar um Campo existente e selecione o campo
PREFIXO da tabela.

5 Trabalhando com a base de dados no QGIS:


Operações com Texto
www.processamentodigital.com.br

Para copiar os quatro caracteres posicionados à esquerda do


campo FONE que correspondem ao prefixo do telefone, digite o
comando abaixo:

Para montar essa fórmula, clique em Funções e localize a função


left na categoria String. Clique duas vezes sobre ela para que a
função seja adicionada no campo Expressão. Em seguida, clique
na categoria Campos e Valores e localize o campo de referência
FONE. Clique duas vezes sobre ele e construa a fórmula conforme
indicado na imagem abaixo:

Clique no botão OK para preencher a coluna. O prefixo será


gravado na Tabela de Atributos. Esta é a demonstração da função
left. Veja o resultado:

6 Trabalhando com a base de dados no QGIS:


Operações com Texto
www.processamentodigital.com.br

Comando Right

Utilizado para selecionar um conjunto de caracteres


posicionados à direita do campo indicado na fórmula. Para
ilustrar a utilização do comando right, vamos realizar um
recorte no número de telefone presente na coluna FONE da
Tabela de Atributos. São oito números e um traço, totalizando
nove caracteres que devem ser selecionados. A fórmula é esta:

Acesse a Calculadora de Campo para preencher uma coluna


existente na Tabela de Atributos. Clique na opção Atualizar um
Campo existente e selecione o campo TEL da tabela.

Em seguida, em Funções, localize a função right na categoria


String. Clique duas vezes sobre ela para que a função seja
adicionada no campo Expressão e clique na categoria Campos e
Valores para localizar o campo de referência FONE. Construa a
fórmula seguindo a descrição abaixo:

7 Trabalhando com a base de dados no QGIS:


Operações com Texto
www.processamentodigital.com.br

Clique no botão OK para preencher a coluna. O número do telefone


será gravado na Tabela de Atributos. Esta é a demonstração da
função right. Veja o resultado:

Os comandos left e right facilitam a tarefa de seleção de caracteres


posicionados à esquerda e à direita de qualquer atributo da tabela. Um
recorte nos caracteres posicionados na posição central do atributo
pode ser realizado com o comando substring, mas falaremos desse
comando mais adiante.

A Concatenação de Colunas

Recurso utilizado para unir colunas na Tabela de Atributos do QGIS.


Podemos usar a concatenação para somar as colunas PREFIXO e TEL
com o propósito de gerar uma nova coluna chamada TELEFONE.
A criação de um novo campo na tabela requer um conhecimento
mínimo sobre a estrutura dos campos como Tipo, Largura,
Comprimento e Precisão.

A Largura de um Campo de Texto

Corresponde ao total de caracteres alfabéticos e numéricos que


podem ser alocados na tabela. Para o formato ESRI Shapefile,
qualquer campo de texto possui uma capacidade de armazenamento
de 255 caracteres. Um texto que excede esse total será cortado.

Para consultar a estrutura da Tabela de Atributos, clique com o botão


direito do mouse sobre a camada desejada e acesse suas propriedades.
Na categoria Campos, o QGIS exibe informações importantes
como Nome, Tipo, Comprimento e Precisão. Dados do tipo String
(Texto) não possuem precisão. Este grupo é destinado para campos
numéricos.

8 Trabalhando com a base de dados no QGIS:


Operações com Texto
www.processamentodigital.com.br

Nesta tabela, o campo PREFIXO possui o valor 24 assinalado para o


comprimento ou largura. Isso significa que os atributos dessa coluna
comportam 24 caracteres apenas. Procure consultar as propriedades
de um arquivo vetorial antes de atualizar os campos com novas
informações.

Criação de um Novo Campo de Texto

Com a Tabela de Atributos aberta, clique nas ferramentas Alternar


Edição e Calculadora de Campo. Nosso objetivo é criar um novo
campo de texto chamado TELEFONE para armazenar o resultado da
concatenação entre os campos PREFIXO e TEL.

Para criar um novo campo de texto, siga os passos abaixo:

• Nome do Novo Campo: TELEFONE


• Tipo do Novo Campo: Texto (String)
• Largura do Campo de Saída: 80
O nome do campo corresponde ao
cabeçalho da coluna, portanto, não pode
conter espaços, cedilha e acentuação.
Limite de dez caracteres para o
cabeçalho.

9 Trabalhando com a base de dados no QGIS:


Operações com Texto
www.processamentodigital.com.br

Em Campos e Valores, clique duas vezes


sobre a coluna PREFIXO e adicione o
símbolo em destaque na imagem ao
lado. Em seguida, clique duas vezes
sobre a coluna TEL para realizar a
concatenação.

Verifique o resultado da expressão no


item Prévia de Saída.

Uma nova coluna chamada TELEFONE será adicionada na Tabela


de Atributos com o resultado da concatenação entre as colunas
PREFIXO e TEL:

O processo pode ser considerado como satisfatório, porém,


para melhorar a visualização do número do telefone, devemos
acrescentar um pequeno espaço entre o prefixo e os números.

Adicionar Espaços na Concatenação

O espaço também é um caractere ASCII e pode ser utilizado na


concatenação, desde que seja escrito entre aspas únicas, como
qualquer caractere de texto. Assim, utilize a fórmula abaixo
para atualizar o campo existente TELEFONE (não será criado
novamente):

Nesta nova expressão, o espaço posicionado entre aspas únicas


deve ser concatenado com as duas colunas. Atualize o campo
existente na Calculadora de Campo e avalie os resultados:

10 Trabalhando com a base de dados no QGIS:


Operações com Texto
www.processamentodigital.com.br

O Comando lower

Função utilizada para reduzir a caixa, ou seja, transformar


caracteres maiúsculos em minúsculos.

Exemplo: Criar uma nova coluna chamada LOWER do tipo Texto


com Largura 80. Em seguida, executar a função abaixo:

11 Trabalhando com a base de dados no QGIS:


Operações com Texto
www.processamentodigital.com.br

O Comando upper

Função utilizada para ampliar a caixa, ou seja, transformar


caracteres minúsculos em maiúsculos.

Exemplo: Criar uma nova coluna chamada UPPER do tipo Texto


com Largura 80. Em seguida, executar a função abaixo:

O Comando title

Função utilizada para transformar os caracteres em caixa alta/


caixa baixa.

Exemplo: Criar uma nova coluna chamada TITLE do tipo Texto


com Largura 80. Em seguida, executar a função abaixo:

12 Trabalhando com a base de dados no QGIS:


Operações com Texto
www.processamentodigital.com.br

O Comando replace

Função utilizada para substituir uma sequência de caracteres.

O problema: No campo TITLE, temos algumas entradas que


devem ser substituídas automaticamente pelo termo apropriado.

A solução: Criar uma nova coluna chamada REPLACE do tipo


Texto com Largura 80. Em seguida, executar a função abaixo:

replace ("TITLE" , 'De ' , 'de ')

Essa função recebe a instrução para procurar no campo TITLE


todos os atributos de texto iniciados com a palavra De seguido de
um espaço. Após encontrar esta palavra, o comando replace irá
realizar a substituição pelo texto para o formato esperado.

13 Trabalhando com a base de dados no QGIS:


Operações com Texto
www.processamentodigital.com.br

É preciso inserir um espaço durante a pesquisa pela palavra


“De” para que a função replace evite substituir qualquer palavra
presente nos atributos da tabela.

Para manter o cadastro atualizado, todos os atributos que


transformados para caixa alta com a função TITLE devem ser
corrigidos com a função replace.

O Comando substr

Função presente na Calculadora de Campo do QGIS utilizada para


selecionar uma sequência de caracteres nos atributos da tabela a
partir de uma posição.

Para ilustrar a utilização da função substr, vamos considerar uma


camada vetorial que representa os Estados do Brasil de autoria do
IBGE (Instituto Brasileiro de Geografia e Estatística). Para controle
de versão, um campo chamado VALIDACAO do tipo Texto foi
criado para armazenar a data da última alteração na base.

14 Trabalhando com a base de dados no QGIS:


Operações com Texto
www.processamentodigital.com.br

Na Tabela de Atributos, o campo VALIDACAO armazena uma


data no formato AAAA-MM-DD com um total de dez caracteres.
O objetivo deste tutorial é utilizar as técnicas de concatenação
em conjunto com a função substr para reordenar as datas para o
formato DD-MM-AAAA.

Para direcionar a função substr, devemos listar as posições dos


caracteres a partir de algumas observações que serão postadas a seguir.

O Comando substr: Posição dos Caracteres

Para identificar a posição dos caracteres para o atributo 2016-05-


25, observe a imagem, abaixo:

A sintaxe para utilização da função substr é esta:

Considerando o atributo 2016-05-25, para recortar o intervalo que


representa o mês de maio, podemos fazer o seguinte:

• Posição: 6ª
• Comprimento: 2

Iniciando a contagem da esquerda para a direita, para separar o


mês de maio representado pelo número 05 na data 2016-05-25, o
algarismo 0 deve ser contado a partir da 6ª posição e a contagem
deve começar por ele. Para o comprimento, a ferramenta substr
considera a sua contagem a partir da posição mapeada.

Na Calculadora de Campo, a fórmula para o problema acima seria


essa:

15 Trabalhando com a base de dados no QGIS:


Operações com Texto
www.processamentodigital.com.br

Fórmula: Criar uma nova coluna chamada MES do tipo Texto


com Largura 80. Em seguida, executar a função substr para
selecionar e recortar o atributo desejado no campo VALIDACAO:

O resultado será um recorte do mês de maio armazenado na nova


coluna MES:

Organizar o campo VALIDACAO com substr

Com a função substr apoiada pela ferramenta para concatenação


de campos, podemos reorganizar o formato de data AAAA-MM-
DD para DD-MM-AAAA. A estratégia utilizada para executar
esta tarefa é esta:

SEPARAR DIA – CONCATENAR – SEPARAR MÊS –


CONCATENAR – SEPARAR ANO.

16 Trabalhando com a base de dados no QGIS:


Operações com Texto
www.processamentodigital.com.br

Para o formato de data 2016-05-25, vamos executar a seguinte


contagem de caracteres:

Caractere Posição Inicial Comprimento Fórmula


2016 1 4 substr (“VALIDACAO”,1,4)
-05- 5 4 substr (“VALIDACAO”,5,4)
25 9 2 substr (“VALIDACAO”,9,2)

Para construir a expressão, o comando substr deve ser utilizado


com a ferramenta para concatenação:

Na Calculadora de Campo, crie uma nova coluna chamada


DATA do tipo Texto com Largura 255. Em seguida, execute a
função substr para selecionar e recortar o atributo desejado a
partir do campo VALIDACAO:

17 Trabalhando com a base de dados no QGIS:


Operações com Texto
www.processamentodigital.com.br

A data no formato DD-MM-AAAA será armazenada na tabela de


atributos:

Esta foi uma demonstração sobre a função substr que permite


selecionar um conjunto de atributos a partir de uma posição
definida. Esta função deve ser utilizada como complemento para
as funções de texto left e right.

O Comando length

Função presente na Calculadora de Campo do QGIS utilizada


para contagem de caracteres.

Digite na Calculadora de Campo:

O resultado armazena a contagem de caracteres presentes no


campo DATA.

18 Trabalhando com a base de dados no QGIS:


Operações com Texto
www.processamentodigital.com.br

3.Trabalhando com
Conversões
Conversão de Número para Texto

Quando uma coluna da Tabela de Atributos possui informações


do tipo Número ou Data, podemos realizar a transformação de
todos os atributos para Texto com a função tostring.

A função tostring

Quando uma coluna da Tabela de Atributos possui informações


do tipo Número ou Data, podemos realizar a transformação de
todos os atributos para Texto com a função tostring.

Para utilizar esta função, acesse a categoria Conversões e crie


um novo campo do tipo Texto com um comprimento definido
de acordo com o campo numérico. Em seguida, digite a função
abaixo:

Com este comando, um campo chamado AREA2 gerou uma


conversão de número para texto:

19 Trabalhando com a base de dados no QGIS:


Operações com Texto
www.processamentodigital.com.br

Você também pode gostar