Calculadora de Campos no gvSIG – Operações com textos – parte 1

Buenas, pessoal!

Depois de um “longo inverno” sem postagens aqui no blog, retomamos aonde havíamos parado: o estudo das aplicações da Calculadora de Campos no gvSIG. Recomendo que vocês façam uma revisão do artigo anterior, onde fizemos uma introdução a Calculadora de Campos no gvSIG antes de prosseguir por aqui…

Para os exercícios que faremos por aqui, continuaremos utilizando o shapefile que já estávamos usando, e que pode ser baixado aqui: ARQUIVO1. Lembrando: este shapefile está na projeção SAD69/UTMzone23S (código EPSG 29183), portanto, para iniciarmos os trabalhos, precisamos criar uma nova vista com esta projeção que, depois de aberta, devemos inserir o shapefile sobre o qual trabalharemos. No final, devemos estar com uma área de trabalho semelhante a essa:

Para começarmos o nosso trabalho com a Calculadora de Campos, precisamos colocar o gvSIG em modo de edição. Para tanto, no TOC, clicamos com o botão secundário do mouse sobre o nome do arquivo que iremos trabalhar e, no menu contextual que se abre, escolhemos a opção “Iniciar edição”.

A partir de agora o gvSIG estará em modo de edição, permitindo que tenhamos acesso a Calculadora de Campos.

Ainda como preparação para os trabalhos, precisamos criar um novo campo na tabela de atributos do nosso shape. Não vou abordar esse assunto novamente, então, se você não lembra como fazemos isso, volte ao artigo anterior desta série para revisar o assunto.

Abra a Tabela de Atributos do shape que estamos trabalhando (menu Tabela > Modificar a estrutura da tabela ou clicando no ícone correspondente). Se você está utilizando o mesmo shape que trabalhamos na primeira parte, verá uma tabela de atributos semelhante a essa:

(Se você baixou o arquivo novamente, a tabela não conterá o campo “MUN”, que foi criado no tutorial anterior. Não se preocupe, ele não será necessário para o trabalho que iremos fazer).

Observando com atenção os atributos da tabela, podemos notar que o Campo “Bairro” é do Tipo “String”, e tem um Tamanho de 254 bytes. Aproveitando que estamos na Tabela de Atributos em modo de edição, vamos alterar a tabela (menu Tabela > Modificar a estrutura da tabela) para criar um Novo Campo, com o criativo nome [Bairro2], com as mesmas características do campo [Bairro] (isto é: Tipo “String” e Tamanho de 254 bytes). Com isso, estaremos duplicando o campo [Bairro].

Copiar dados de textos a partir de um Campo existente:

A partir deste momento é que começamos a nossa conversa “pra valer”. Como primeira operação com textos através da Calculadora de Campos do gvSIG, vamos fazer uma operação básica: copiar os dados de um campo de texto para outro campo (isto é, vamos duplicar o campo). Pode parecer uma operação sem sentido, mas é muito importante quando queremos trabalhar sobre os dados de um campo, mas ao mesmo tempo precisamos preservar as informações originais.

Para iniciarmos o trabalho, sempre no modo de edição, vamos selecionar a coluna do campo [Bairro2], clicando em cima do seu nome na tabela. Em seguida, podemos acessar a Calculadora de Campos (menu Campo > Expressão). Na janela “Calcular expressão” que se abre, podemos notar no destaque da figura abaixo, que o campo [Bairro2] já vem destacado, indicando que é nele que o resultado da expressão será colocado.

Vamos copiar todos os registros que estão na coluna do campo [Bairro] para o nosso recém criado campo [Bairro2]. Para tanto, basta darmos dois cliques sobre o nome do campo desejado ([Bairro]), que o mesmo já aparecerá na expressão. Para completarmos o procedimento, basta clicar sobre o botão “Aceitar”. Podemos verificar então que todos os campos foram copiados para a outra coluna:

Se o nosso objetivo não é copiar a totalidade dos registros de um campo, o gvSIG nos permite realizar esta operação apenas sobre os registros desejados. Para testar esta modalidade, crie um novo campo na tabela (minha sugestão: [Bairro3] 🙂 ). Após criado o novo campo, retorne na tabela de atributos do nosso shape, e faça uma seleção de múltiplas linhas da tabela (dica: se você segurar a tecla “CTRL”, poderá fazer a seleção linha a linha, clicando nas linhas desejadas; se a seleção for contínua, você poderá clicar na primeira linha, pressionar a tecla “SHIFT” e clicar na última linha da seleção, que todas as linhas entre elas serão selecionadas).

Feita a seleção, clique na coluna do campo [Bairro3], que é onde colocaremos o resultado da expressão que vamos usar, abra novamente a Calculadora de Campos e repita o procedimento anterior:

Observe que agora, após clicarmos no botão “Aceitar”, o resultado da expressão só aparecerá nos registros do campo [Bairro3] que estavam selecionados antes de chamarmos a Calculadora de Campos:

Essa ferramenta pode ser utilizada em conjunto com a ferramenta filtro, o que nos ajudará muito quando estivermos trabalhando com tabelas de dados com muitos registros. Para tanto, estando no modo de edição, basta aplicarmos o filtro para fazer a seleção dos dados desejados, e depois aplicarmos a Calculadora de Campos para efetuarmos as operações desejadas.

Função Replace

A outra função que iremos testar nesta primeira parte será a função “replace”. Podemos utilizar esta função para substituirmos valores que existem em um determinado campo da tabela por outro valor. Por exemplo, para substituirmos algum valor que foi digitado errado, ou que tem que ser alterado.

A sintaxe desta função é: replace (Parâmetro1,Parâmetro2, Parâmetro3), onde:

  • Parâmetro 1: o campo onde iremos aplicar a função;
  • Parâmetro 2: a string antiga, que será substituída; e
  • Parâmetro 3: a string nova, que será colocada no lugar da antiga.

Neste exemplo, vamos substituir todas as strings “São Cristóvão” que ocorrem no campo [Bairro2], por uma nova string, “S. Cristóvão”. Para tanto, primeiramente teremos que remover a seleção que aplicamos no exemplo anterior, pois se não só obteríamos o resultado sobre os registros selecionados. Para remover a seleção, basta acessarmos o menu Camada > Limpar seleção, ou clicarmos no ícone correspondente.

Removida a seleção, selecionamos o campo sobre o qual iremos trabalhar ([Bairro2]) e abrimos a Calculadora de Campo. Para aplicarmos a função “replace”, na aba “Geral” da Calculadora de Campos, selecionamos a opção “string” para o Tipo, e na lista que aparece no lado direito da janela clicamos duas vezes em “replace”. Na parte de baixo da janela aparecerá a seguinte expressão:

replace( , "","")

Posicionamos o cursor antes da primeira vírgula e na lista de campos que aparece no lado esquerdo da janela, selecionamos o campo [Bairro2]. Ao darmos um duplo clique sobre ele, notamos que ele aparecerá na expressão:

replace( [Bairro2], "","")

Em seguida, digitamos entre a primeira sequencia de aspas a string que queremos substituir (“São Cristóvão”) e na segunda sequencia de aspas digitamos a string que irá substituir (“S. Cristóvão”). A expressão deverá ficar como a seguinte:

replace( [Bairro2], "São Cristóvão","S. Cristóvão")

Ao clicarmos em “Aceitar” veremos que a função “replace” foi aplicada sobre o campo [Bairro2], conforme solicitamos:

Um detalhe: depois de terminado não se esqueça de clicar com o botão secundário no nome do shape que estamos trabalhando, no TOC, e selecionar a opção “Finalizar a edição” no menu que se abre, e salvando (ou não) as alterações que foram feitas na tabela de dados!

Buenas… por hoje é isso, pessoal! Nos veremos em breve, com a próxima parte do artigo sobre a Calculadora de Campos no gvSIG. E, lembrem-se: #SLGeoTbFaz!

  • Ótima dica! Não sabia que era tão fácil executar as funções de texto na Calculadora de Campo do gvSIG. Certamente outras pessoas também não conhecem esse procedimentos. Essa série foi uma ótima escolha, sem sombra de dúvida!

    Jorge Santos

    • Valeu, Jorge!

      Dificilmente esta série de artigos teria se tornado realidade se você não tivesse iniciado a mesma série para o ArcGIS.

      Eliazer

  • Valeu.Eliazer…, linguagem didática e muito simples de entender. Estou querendo que os dias passem rapidamente para ver os próximos tutoriais.
    abraço

  • Obrigado pelos comentários, Giberto! Como o pessoal do podcast “Retrocomputaria” costuma falar: “Seu comentário é o nosso salário!”. E é exatamente isso. Os comentários dos usuários é que nos incentivam a continuar esse trabalho.

    Valeu!

    Eliazer

  • Valdir Ribeiro

    Muito bom, vou praticar mais vezes, obrigado.