Calculadora de campos no gvSIG – Operações com textos – parte 2

Baixe esse artigo como e-book


Buenas, pessoal!

Dando seguimento ao nosso estudo do uso da Calculadora de Campos no gvSIG, vamos continuar a lidar com as operações com textos, destrinchando mais algumas funções que são disponibilizadas pelo gvSIG.

Para início de história, vamos baixar o arquivo shape sobre o qual vamos trabalhar: ARQUIVO2. Em seguida, criamos uma nova vista, com a projeção SAD69/UTMzone23S (código EPSG 29183), e inserimos o nosso novo shape, e entramos em modo de edição (se não sabe como chegar até aqui, confira o primeiro artigo desta série).

Uma dica importante para quem usa Linux: se você está visualizando caracteres “estranhos” quando abre a tabela de atributos do shape, você está enfrentando problemas com a codificação do arquivo .dbf:

Para corrigir este problema, basta seguir a dica do blog Processamento Digital: Codificação Padrão do DBF.

 Função subString: Separando partes de uma string:

Uma das funções a que precisamos recorrer frequentemente é separar partes de uma string. Na tabela vinculada ao shape que estamos trabalhando existe o campo [FONE], que contém uma string com o número do telefone, incluindo o prefixo (código de área):

 

Vamos separar esta string em duas informações: prefixo e telefone, aproveitando os campos que já estão disponíveis na tabela. Vamos fazer essa tarefa em dois passos:

Primeiramente, selecionamos a coluna [PREFIXO], clicando no respectivo nome na tabela. Em seguida, acessamos a Calculadora de Campos (menu Campo > Expressão). Selecionamos então a opção “String”, e localizamos a função que queremos aplicar: “subString”. Ao clicarmos duas vezes sobre ela, aparecerá a seguinte expressão no campo de Expressões:

subString(,,)

Podemos então editar essa expressão, para que fique dessa forma:

subString([FONE],0,4)

Com isso, estamos dizendo para o gvSIG pegar a string do campo [FONE], e separar a substring que inicia no caractere 0 (zero) e termina no caractere 4 menos 1 (para o Python, começamos a contar os caracteres a partir do zero).

Para entender melhor:

(21) 3371-9411
01234567890123

Ou seja: separaremos a substring que está contida entre o primeiro e o quarto caracter, e colocaremos o resultado no campo [PREFIXO], que estava previamente selecionado. Ao clicarmos em “Aceitar” poderemos ver o resultado da nossa expressão:

 Essa forma de contar pode parecer um pouco confusa no começo, mas depois a gente pega o jeito…

Agora vamos a segunda parte: selecionamos a coluna [TEL] e acessamos novamente a Calculadora de Campos. Agora, digitaremos a seguinte expressão:

subString([FONE],5,14)

 Ou seja: da string presente no campo [FONE] estaremos selecionando a substring que começa no caractere 5 (o sexto caractere) e que termina no caractere 14 menos 1 (isto é, 13, ou o décimo quarto caractere). Clicando em “Aceitar”, poderemos visualizar o resultado da expressão que criamos:

Como eu disse anteriormente, no começo pode parecer um pouco confuso, mas depois que entendemos o processo fica fácil de aplicar as regras e obter os resultados que precisamos ao manipularmos strings.

Concatenando strings com a função “+”

Agora vamos fazer o caminho inverso, para aprendermos a lidar com a função de concatenar strings. Como primeiro passo, crie o campo [TELEFONE] com as mesmas propriedades do campo [FONE] (string, comprimento = 24). Lembre-se que, para isso, precisamos estar no modo de edição (se você está acompanhando o tutorial, já deve estar no modo de edição).

Selecione o campo [TELEFONE] na tabela e abra a Calculadora de Campos. Vamos criar agora a string telefone no formato “0XX (21) 3371-9411”, Para tanto, digite a seguinte expressão:

"0XX " + [PREFIXO] + " " + [TEL]

O “segredo” aqui é inserirmos os caracteres das partes da string que queremos adicionar à string final entre aspas duplas (Ex.: “0XX “). Preste atenção também ao uso dos espaços. Basta digitarmos as strings e intercalarmos os campos, com a função de concatenação, de modo a obtermos o resultado desejado. Ao clicarmos em “Aceitar”, poderemos ver o resultado final:

Função toLowerCase

Converte todos os caracteres de uma string para caixa baixa (LowerCase).

Já não vou explicar o processo de aplicação da expressão, pois creio que nesta altura do campeonato essa parte já deva estar dominada. Vou apenas apresentar a expressão utilizando a função, e o resultado final:

toLowerCase([NOME])

 Função toUpperCase:

Converte todos os caracteres de uma string para caixa alta (UpperCase).

toUpperCase([MUNICIPIO])

Buenas… por hoje é isso, pessoal! Lembrem-se de que, para salvarmos todas as alterações que efetuamos na tabela, precisamos sair do modo de edição do shape e salvar as alterações quando questionados.

Espero que eu não tenha sido sucinto demais, mas quem encontrar alguma dificuldade basta revisar os artigos anteriores desta série, que o processo está bem “mastigadinho”.

No próximo artigo abordaremos o uso da aba “Avançado” da Calculadora de Campos. Aguardem, que vem muita novidade por aí!  😉