Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
Trabalhando com a base de dados no QGIS: Operações
com Texto
QGIS
TUTORIAL
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
www.processamentodigital.com.br
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
.
1. Identificação de Atributos
4
www.processamentodigital.com.br
Trabalhando com a base de dados no QGIS: Operações com Texto
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”.
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.
2.Trabalhando com Comandos de Texto no QGISComando 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:
www.processamentodigital.com.br
5
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.
Trabalhando com a base de dados no QGIS: Operações com Texto
www.processamentodigital.com.br
6
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:
Para copiar os quatro caracteres posicionados à esquerda do
campo FONE que correspondem ao prefixo do telefone, digite o
comando 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:
Trabalhando com a base de dados no QGIS: Operações com Texto
www.processamentodigital.com.br
7
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:
Trabalhando com a base de dados no QGIS: Operações com Texto
www.processamentodigital.com.br
8
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.
Trabalhando com a base de dados no QGIS: Operações com Texto
www.processamentodigital.com.br
9
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.
Trabalhando com a base de dados no QGIS: Operações com Texto
www.processamentodigital.com.br
10
Uma nova coluna chamada TELEFONE será adicionada na Tabela
de Atributos com o resultado da concatenação entre as colunas
PREFIXO e TEL:
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:
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):
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.
Trabalhando com a base de dados no QGIS: Operações com Texto
www.processamentodigital.com.br
11
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:
Trabalhando com a base de dados no QGIS: Operações com Texto
www.processamentodigital.com.br
12
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:
Trabalhando com a base de dados no QGIS: Operações com Texto
www.processamentodigital.com.br
13
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.
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.
A solução: Criar uma nova coluna chamada REPLACE do tipo
Texto com Largura 80. Em seguida, executar a função abaixo:
Trabalhando com a base de dados no QGIS: Operações com Texto
replace ("TITLE" , 'De ' , 'de ')
www.processamentodigital.com.br
14
É 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.
Trabalhando com a base de dados no QGIS: Operações com Texto
www.processamentodigital.com.br
15
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:
Trabalhando com a base de dados no QGIS: Operações com Texto
www.processamentodigital.com.br
16
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.
Trabalhando com a base de dados no QGIS: Operações com Texto
www.processamentodigital.com.br
17
Para o formato de data 2016-05-25, vamos executar a seguinte
contagem de caracteres:
Caractere Posição Inicial Comprimento Fórmula2016 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:
Trabalhando com a base de dados no QGIS: Operações com Texto
www.processamentodigital.com.br
18
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.
Trabalhando com a base de dados no QGIS: Operações com Texto
www.processamentodigital.com.br
19
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:
3.Trabalhando com Conversões
Trabalhando com a base de dados no QGIS: Operações com Texto
www.processamentodigital.com.br