20
Trabalhando com a base de dados no QGIS: Operações com Texto QGIS TUTORIAL www.processamentodigital.com.br

TUTORIAL - Processamento Digital...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

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TUTORIAL - Processamento Digital...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

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

com Texto

QGIS

TUTORIAL

www.processamentodigital.com.br

Page 2: TUTORIAL - Processamento Digital...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

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.

Page 3: TUTORIAL - Processamento Digital...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

Í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

.

Page 4: TUTORIAL - Processamento Digital...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

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.

Page 5: TUTORIAL - Processamento Digital...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

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

Page 6: TUTORIAL - Processamento Digital...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

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

Page 7: TUTORIAL - Processamento Digital...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

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

Page 8: TUTORIAL - Processamento Digital...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

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

Page 9: TUTORIAL - Processamento Digital...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

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

Page 10: TUTORIAL - Processamento Digital...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

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

Page 11: TUTORIAL - Processamento Digital...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

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

Page 12: TUTORIAL - Processamento Digital...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

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

Page 13: TUTORIAL - Processamento Digital...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

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 ')

Page 14: TUTORIAL - Processamento Digital...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

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

Page 15: TUTORIAL - Processamento Digital...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

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

Page 16: TUTORIAL - Processamento Digital...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

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

Page 17: TUTORIAL - Processamento Digital...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

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

Page 18: TUTORIAL - Processamento Digital...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

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

Page 19: TUTORIAL - Processamento Digital...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

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