Calculadora de campos no gvSIG – um exemplo rápido

Buenas, pessoal!

Uma dica rápida hoje, que surgiu a partir de uma dúvida que apareceu na Lista Internacional de Usuários de gvSIG: como fazer a rotulagem das feições de um mapa a partir de dois campos da tabela de um shape. Por exemplo, se temos um determinado shape de municípios, e em sua tabela de atributos temos armazenado em um campo o nome do município, e em outro campo o número de casos de um determinado evento que estamos monitorando, e queremos mostrar em nosso mapa essas informações em um único rótulo, no formato “Nome do Município (Número de casos)“.

Para resolvermos esta situação de um modo rápido, vamos lançar mão da Calculadora de Campos do gvSIG, uma ferramenta poderosa que serve para efetuarmos operações com os valores dos campos das tabelas no gvSIG, e que pode facilitar nossa vida em muitos momentos!

Considerando NOM_MUN a coluna de nome dos municípios, NUM_CAS a de número de casos, e ROT_M_C o novo campo para rotulagem, que deveremos criar como do tipo string e com comprimento suficiente para conter todos os caracteres do campo NOM_MUM mais o número de caracteres do campo NUM_CAS (que é numérico, e cujo tamanho portanto vai variar conforme o número máximo de casos – ex.: se forem na ordem de 1.000.000 de casos, você teria que reservar no mínimo 7 caracteres para esse campo). Entre no modo de edição, clique no nome da coluna ROT_M_C, clique no ícone da Calculadora de Campos (ou em menu Tabela > Calculadora de Campos),e você poderá usar a seguinte expressão:

[NOM_MUN] + " (" + toString([NUM_CAS]) + ")"

O que estamos utilizando nessa expressão? Estamos concatenando no campo ROT_M_C, o nome do município, que está armazenado em [NOM_MUN], com a string ” (“, mais o número de casos, armazenado em [NUM_CAS], que estava no formato numérico e está sendo convertido para o formato de string pela função toString(), e, finalmente, acrescentamos a string “)”, que encerra nosso rótulo. Com isso, se tivermos em NOM_MUN o valor São Borja e em NUM_CAS o valor 429, obteremos em ROT_M_C o valor São Borja (429), com o qual poderemos fazer a rotulagem do nosso mapa como proposto no início deste artigo.

Lembrando que deveremos remover qualquer seleção antes de aplicar a expressão da Calculadora de Campos, ou a mesma será aplicada apenas aos elementos selecionados. Como os números foram convertidos para string, não haverá formatação de separador de milhares; para tanto, seria necessário criar uma máscara, mas isso já complica as coisas e foge do escopo desse microtutorial…

Se você quiser saber mais sobre a Calculadora de Campos do gvSIG, pode acessar os artigos anteriores, onde já falamos sobre essa importante ferramenta:

Em breve estaremos publicando mais tutoriais sobre este assunto.