[Gvsig_br] Strings e Calculadora de Campo no gvSIG

Joaquin del Cerro jjdelcerro.gvsig em gmail.com
Terça Agosto 21 13:25:40 PDT 2012


El 21/08/12 20:29, Eliazer Kosciuk escribió:
> Buenas, pessoal!
> 
> Por favor, leiam esse email até o fim. Sei que é comprido, mas creio
> ser do interesse de todos os usuários de gvSIG:
> 
> Estou retomando a série de artigos que eu havia começado antes da
> minha "parada", e estou tentando aprofundar um pouco o estudo sobre o
> uso da Calculadora de Campos no gvSIG. No momento, estou estudando a
> parte de manipulação de strings. Estou usando como base a série de
> artigos que o Jorge Santos publicou sobre o assunto, mas voltado ao
> ArcGIS. Os dois artigos que estou me baseando para este artigo são os
> seguintes: http://www.processamentodigital.com.br/2012/02/22/2-arcgis-calculadora-de-campo-operacoes-com-texto-1/
> e http://www.processamentodigital.com.br/2012/02/24/3-arcgis-calculadora-de-campo-operacoes-com-texto-2/
> 
> Estou conseguindo reproduzir todos os comandos do ArcGIS, com excessão
> das Expressões lógicas com VBScript que, obviamente, não estão
> presentes no gvSIG. Um resumo das equivalências que encontrei, no
> formato ArcGIS -> gvSIG:
> 
> - Replace ( ) -> replace ( )
> - LCase -> toLowerCase
> - UCase -> toUpperCase
> 
> Funções do ArcGIS que não encontrei equivalentes no gvSIG:
> 
> - Left : Copia caracteres à esquerda do campo indicado e adiciona o
> resultado no novo campo.
> - Right: Copia caracteres à direita do campo indicado e adiciona o
> resultado no novo campo.
> - StrConv: Converte qualquer sequência de caracteres para Caixa Alta,
> Caixa Baixa.
> 
> Funções do gvSIG que não encontrei equivalentes no ArcGIS (ao menos,
> não no tutorial do Jorge):
> - Operador:  <>
> Retornar: Valor booleano
> Descrição: Returns true if the objects are diferents.
> 
> - Operador:  endsWith(Parâmetro1,Parâmetro2)
> Parâmetro1: Valor String
> Parâmetro2: Valor String
> Retornar: Valor booleano
> Descrição: Tests if this parameter1 ends with the specified parameter2.
> 
> - Operador:   ==
> Retornar: Valor booleano
> Descrição: Returns true if the first object value is equals than the
> second value.
> 
> - Operador:  equals(Parâmetro1,Parâmetro2)
> Parâmetro1: Parâmetro2: Retornar: Valor booleano
> Descrição: Compares the parameter1 to the parameter2. The result is
> true if and only if the arguments are not null and represents the same
> object.
> 
> - Operador:  indexOf(Parâmetro1,Parâmetro2)
> Parâmetro1: Valor String
> Parâmetro2: Valor String
> Retornar: Valor inteiro
> Descrição: Returns the index within parameter1 of the first occurrence
> of the parameter2.
> 
> - Operador:  isNumber(Parâmetro)
> Parâmetro: Valor String
> Retornar: Valor booleano
> Descrição: Returns true if the string parameter is a number.
> 
> - Operador:  lastIndexOf(Parâmetro1,Parâmetro2)
> Parâmetro1: Valor String
> Parâmetro2: Valor String
> Retornar: Valor booleano
> Descrição: Returns the index within parameter1 of the last occurrence
> of the parameter2 character.
> 
> - Operador:  length(Parâmetro)
> Parâmetro: Valor String
> Retornar: Valor numérico
> Descrição: Returns the length of string parameter.
> 
> - Operador:  +
> Retornar: Valor numérico
> Descrição: Returns the result of sum.
> 
> - Operador:  startsWith(Parâmetro1,Parâmetro2)
> Parâmetro1: Valor String
> Parâmetro2: Valor String
> Retornar: Valor booleano
> Descrição: Tests if this parameter1 starts with the specified parameter2.
> 
> - Operador:  subString(Parâmetro1,Parâmetro2, Parâmetro3)
> Parâmetro1: Valor String
> Parâmetro2: Valor numérico
> Parâmetro3: Valor numérico
> Retornar: Valor String
> Descrição: Returns a new string that is a substring of parameter1.
> The substring begins at the specified parameter2 and extends to the
> character at index parameter3 - 1.
> Thus the length of the substring is endIndex-beginIndex.
> 
> - Operador:  trim(Parâmetro)
> Parâmetro: Valor String
> Retornar: Valor String
> Descrição: Returns a copy of the string, with leading and trailing
> whitespace omitted.
> 
> As perguntas (entre muitas outras):
> - Existe alguma forma de emular as funções do ArcGIS que não estão
> disponíveis no gvSIG?
> - Todos estes operadores do gvSIG parecem ser disponibilizados para o
> uso com expressões mais complexas, mas não encontrei nenhuma
> documentação sobre isso (nem documentações sobre cada uma destas
> funçoes). Alguém usa essas funções do gvSIG no dia-a-dia? Conhecem
> alguma literatura sobre o assunto? Alguém pode ajudar a distrinchar
> estas funções?
> Até tenho outras questões mas, se essas duas forem respondidas, eu
> deixo por isso mesmo, por enquanto ;)
> 
> [ ]s,

Hola Eliazer,
lo primero disculpas por contestar en español.

Muchos detalles no recuerdo de la calculadora de campos, pero uno muy
importante si. Usa un evaluador de expresiones basado en Jython al que
se le han añadido algunas funciones mas.

Así que en realidad tienes todos los operadores y funciones de jython
a tu disposición.

Sobre manejo de cadenas de caracteres puedes ver la documentacion de python
directamente en:

http://docs.python.org/tutorial/introduction.html#strings
http://docs.python.org/library/stdtypes.html#string-methods

Algunos ejemplos de expresiones con strings :

(VBScript+-)          Jython
left("hola",2)   -->  "hola"[:2]  --> "ho"
right("hola",2)  -->  "hola"[2:]  --> "la"
mid("hola",????) -->  "hola"[1:3] --> "ol"
                 -->  len("hola") --> 4
StrConv¿?        -->  "HOLA".lower() --> "hola"
StrConv¿?        -->  "hola".upper() --> "HOLA"

Espero que te sirva para entender algo mas la calculadora de campos.

Si te puedo ayudar con alguna expresión en concreto ya me lo dices.

Un saludo
Joaquin





> 
> Eliazer Kosciuk
> _______________________________________________
> Gvsig_br mailing list
> Gvsig_br em lists.gvsig.org
> 
> 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
> 


-- 
--------------------------------------
Joaquin Jose del Cerro
Development and software arquitecture manager.
jjdelcerro em gvsig.com
gvSIG Association
www.gvsig.com
www.gvsig.org



More information about the Gvsig_br mailing list