Buenas pessoal! Agradeço a todos pelas respostas. Certamente teremos muito para aprender nos próximos dias. Por enquanto, fica aqui a primeira parte do tutorial sobre a manipulação de strings com a calculadora de campos do gvSIG: http://geo.ideaplus.com.br/calculadora-de-campos-no-gvsig-operacoes-com-textos-parte-1/
Em breve a continuação... [ ]s, Eliazer Kosciuk http://geo.ideaplus.com.br Em 25/08/2012 09:55, "Marco Aurélio P. Marsitch" <[email protected]> escreveu: > Eliazer e amigos listeiros, anteriormente havia enviado algumas figuras > para exemplificar duas funções que faço comumente: toNumber (ou toString) e > SubString, além das que outras funções que também faço e que já falei em > outro e-mail. Porém, creio que as figuras não chegaram até vocês; por isso, > farei a explicação aqui no corpo de texto mesmo...**** > > ** ** > > Como trabalho normalmente com dados censitários, faço esta sequência:**** > > ** ** > > *Passo 01:* Criação de duas variáveis, uma alfanumérica (CODMUN_T) e > outra Numérica Inteiro Longo (CODMUN). Estas variáveis correspondem ao > Código de Município do IBGE, correspondente aos sete primeiros caracteres > do Código de Setor Censitário, variável esta já existente na tabela e > chamada de CODSETOR (caractere 15);**** > > ** ** > > *Passo 02*: Populando a variável CODMUN_T, com a seguinte função: > *SubString([CODSETOR], > 0, 7)*;**** > > ** ** > > *Passo 03*: Populando a variável numérica CODMUN através de uma substring > vinda de uma variável caractere, com a seguinte função: > *toNumber(SubString([CODSETOR], > 0, 7))*;**** > > ** ** > > Semelhantemente ao ArcGIS, caso os registros estejam selecionados, as > atualizações da calculadora de funções só populam resultados nestes > registros selecionados.**** > > ** ** > > Creio que o maior empecilho é ficar salvando as atualizações no DBF > (shapefile) em cada etapa, pois não fazendo isso, a memória da máquina vai > pras cucuias e o gvSIG fecha sozinho.**** > > ** ** > > Não sei se fui longo ou prolixo, mas espero ter ajudado.**** > > ** ** > > Grandes abraços!**** > > ** ** > > Marco Aurélio Painelli Marsitch**** > > ** ** > > ** ** > > -----Mensagem original----- > De: [email protected] > [mailto:[email protected]] Em nome de Eliazer Kosciuk > Enviada em: quarta-feira, 22 de agosto de 2012 17:45 > Para: Lista de emails da Comunidade gvSIG-BR > Assunto: Re: [Gvsig_br] Strings e Calculadora de Campo no gvSIG**** > > ** ** > > Marcos, você poderia postar por aqui alguns exemplos de expressões, > principalmente quanto ao uso de combinações?**** > > ** ** > > Grato,**** > > ** ** > > Eliazer Kosciuk**** > > ** ** > > Em 22 de agosto de 2012 11:27, Marco Aurélio P. Marsitch < > [email protected]> escreveu:**** > > > Bom dia a todos. Costumo usar algumas funções como substring, Upper e ** > ** > > > Lower Case, conversão de formatos (toNumber e toString), combinando **** > > > ambas etc. Não trabalhei com consultas lógicas ainda. Das funções que ** > ** > > > eu usei, normalmente em milhares de registros, nunca deu problema, ele > funciona direitinho.**** > > > Abraços**** > > >** ** > > > Enviado por Samsung Galaxy S Mobile**** > > >** ** > > >** ** > > > Eliazer Kosciuk <[email protected]> escreveu:**** > > >** ** > > >** ** > > >** ** > > > Pois é, Gilberto. Teremos que aguardar algum colega que faça uso desta * > *** > > > ferramenta no seu dia-a-dia, pois é uma característica do gvSIG que **** > > > não está documentada adequadamente. Através do vídeo 24 do Edugvsig**** > > > (http://edugvsig.blogspot.com.br/2012/03/video-24-uso-de-la-calculador** > ** > > > a-de.html) confirmei algo que eu já imaginava: o operador "+" serve **** > > > para concatenar os campos de strings (ex.: se temos os campos **** > > > [endereço1] e [endereço2], podemos usar a calculadora de campos para *** > * > > > obter um campo com os dois campos concatenados, tipo a expressão: **** > > > [endereço] = [endereço1]+", "[endereço2]).Mas os demais operadores **** > > > permanecem como incógnitas, principalmente pela falta de documentação.** > ** > > >** ** > > > O que mais me intriga são os operadores booleanos. A função deles é **** > > > retornar "verdadeiro (1)" ou "falso (0)" para uma determinada **** > > > expressão. Por exemplo, o operador isNumber([Campo1]) irá testar o **** > > > [Campo1] e retornar o valor 1 (verdadeiro) se a string que está lá for * > *** > > > um número, ou 0 (falso) se a string não for um número. Aparentemente *** > * > > > isso só faz sentido se esses operadores possam ser utilizados para **** > > > montar expressões complexas, do tipo "SE a string do Campo1 NÃO for um * > *** > > > número ENTÃO faça a operação1, SENÃO, faça a operação2". No ArcGIS, **** > > > isso é obtido através do uso de scripts em VisualBasic ou em Python, *** > * > > > mas não encontrei nada comentando sobre essa possibilidade no gvSIG.**** > > >** ** > > > Por sinal, se clicarmos na aba "Avançado" da calculadora de campos, **** > > > abre a possibilidade de executarmos scripts externos, o que abriria a ** > ** > > > possibilidade de expandirmos a calculadora de campos. No manual do **** > > > gvSIG**** > > > (http://www.gvsig.org/web/projects/gvsig-desktop/docs/user/gvsig-deskt** > ** > > > op-1-11-manual-de-usuario/gvsig-desktop-1-11-manual-de-usuario-pt-br/g** > ** > > > vsig_freemind_toc_view?doc=Manual%20usuario%20gvSIG-1.11/Edi%C3%A7%C3%** > ** > > > A3o/Edi%C3%A7%C3%A3o%20alfanum%C3%A9rica%20(Tabelas)/Calculadora%20de%** > ** > > > 20campos/Descri%C3%A7%C3%A3o%20da%20calculadora%20de%20campos/Aba%20Ge** > ** > > > ral/Avan%C3%A7ada) fala que o arquivo de expressão deverá estar **** > > > escrito na linguagem Python, mas, novamente, não há nenhum exemplo **** > > > disponível.**** > > >** ** > > > Ficamos no aguardo de algum colega que tenha experiência na área...**** > > > Valenty? Carlos? Mais alguém?**** > > >** ** > > > Creio que temos uma ferramenta poderosa de manipulação de dados, mas *** > * > > > precisamos aprender a usá-la, e documentá-la um pouco melhor...**** > > >** ** > > > [ ]s,**** > > >** ** > > > Eliazer Kosciuk**** > > > _______________________________________________**** > > > Gvsig_br mailing list**** > > > [email protected]**** > > >** ** > > > Para ver histórico de mensagens, editar preferências de usuário ou **** > > > excluir seu nome da lista, acesse:**** > > >** ** > > > https://gvsig.org/lists/mailman/listinfo/gvsig_br**** > > >** ** > > > _______________________________________________**** > > > Gvsig_br mailing list**** > > > [email protected]**** > > >** ** > > > Para ver histórico de mensagens, editar preferências de usuário ou **** > > > excluir seu nome da lista, acesse:**** > > >** ** > > > https://gvsig.org/lists/mailman/listinfo/gvsig_br**** > > >** ** > > _______________________________________________**** > > Gvsig_br mailing list**** > > [email protected]**** > > ** ** > > Para ver histórico de mensagens, editar preferências de usuário ou excluir > seu nome da lista, acesse: **** > > ** ** > > https://gvsig.org/lists/mailman/listinfo/gvsig_br**** > > _______________________________________________ > Gvsig_br mailing list > [email protected] > > Para ver histórico de mensagens, editar preferências de usuário ou > excluir seu nome da lista, acesse: > > https://gvsig.org/lists/mailman/listinfo/gvsig_br > >
_______________________________________________ Gvsig_br mailing list [email protected] Para ver histórico de mensagens, editar preferências de usuário ou excluir seu nome da lista, acesse: https://gvsig.org/lists/mailman/listinfo/gvsig_br
