10
  Uso de Operações em LEGAL: Opera  ções Pontuais  Opera  ções de transforma  ção  Pondere  Fatie  Reclassifique  Opera  ções booleanas  Operações matemáticas  Opera  ções Condicionais  Operações de Vizinhança  Opera  ções Zonais Veja como executar um programa em LEGAL Veja sobre LEGAL no SPRING Operações Pontuais Operações pontuais envolvem posições equivalentes, localizadas em diferentes planos de informação. A maioria dos operadores envolvidos em expressões Imagem, Numéricas e Temáticas são pontuais, a saber: Operadores matemáticos: : são os operadores aritméticos e as funções matemáticas aplicadas ponto a ponto sobre dados quantitativos; tais como as grades numéricas e as imagens Operadores de transformação : os operadores de transformação (Reclassifique, Fatie e Pondere) implementam o mapeamento entre um plano Temático, Imagem ou Numérico de entrada e um plano Temático ou Numérico de saída. O valor de cada posição de entrada é definido por uma tabela (Reclassificação, Fatiamento ou Ponderacao) previamente definida. Operadores booleanos : são definidos à partir de operadores de comparação (<, <=, ==, !=, >=, >) e dos operadores lógicos (&&, ||, !). Os operadores de comparação se baseam nas relações de ordem, aplicáveis a dados quantitativos (imagens, grades numéricas e atributos numéricos de objetos) as relações de igualdade são aplicáveis a dados tanto quantitativos qunto qualitativos (temáticos e atributos testuais de objetos). Os elementos comparados são os resultados da avaliação de operações pontuais descritas por expressões algébricas dos outros tipos descritos aqui. Os resultados podem assumir os valores VERDADEIRO ou FALSO. Operadores Condicionais : uma expressão booleana é avaliada sobre cada posição pontual para decidir qual entre duas operações alternativas, descritas por expressões de um mesmo tipo, deve ser avaliada para a determinação do resultado f inal que deve ter o mesmo tipo das expressões alternativas. Voltar ao Início Operadores Matemáticos  Página 1 de 9 SPRING - Operações em Legal 09/06/2008 file://C:\Arquivos%20de%20p rogramas\spring50Be ta4_Port\helpport\legal4.htm

ANEXO3_Operacoes

Embed Size (px)

Citation preview

Page 1: ANEXO3_Operacoes

5/13/2018 ANEXO3_Operacoes - slidepdf.com

http://slidepdf.com/reader/full/anexo3operacoes 1/9

 

 

Uso de Operações em LEGAL:

Opera

 

ções Pontuais  Opera

 

ções de transforma

 

ção  Pondere  Fatie  Reclassifique 

Operações booleanas  Operações matemáticas  Opera

 

ções Condicionais 

Operações de Vizinhança  Opera

 

ções Zonais 

Veja como executar um programa em LEGAL

Veja sobre LEGAL no SPRING 

Operações Pontuais

Operações pontuais envolvem posições equivalentes, localizadas em diferentes planos de informação. A maioria

dos operadores envolvidos em expressões Imagem, Numéricas e Temáticas são pontuais, a saber:

Operadores matemáticos: : são os operadores aritméticos e as funções matemáticas aplicadas ponto aponto sobre dados quantitativos; tais como as grades numéricas e as imagens

Operadores de transformação  : os operadores de transformação (Reclassifique, Fatie e Pondere)implementam o mapeamento entre um plano Temático, Imagem ou Numérico de entrada e um planoTemático ou Numérico de saída. O valor de cada posição de entrada é definido por uma tabela(Reclassificação, Fatiamento ou Ponderacao) previamente definida.

Operadores booleanos : são definidos à partir de operadores de comparação (<, <=, ==, !=, >=, >) edos operadores lógicos (&&, ||, !). Os operadores de comparação se baseam nas relações de ordem,

aplicáveis a dados quantitativos (imagens, grades numéricas e atributos numéricos de objetos) as relaçõesde igualdade são aplicáveis a dados tanto quantitativos qunto qualitativos (temáticos e atributos testuais deobjetos). Os elementos comparados são os resultados da avaliação de operações pontuais descritas porexpressões algébricas dos outros tipos descritos aqui. Os resultados podem assumir os valoresVERDADEIRO ou FALSO.

Operadores Condicionais  : uma expressão booleana é avaliada sobre cada posição pontual paradecidir qual entre duas operações alternativas, descritas por expressões de um mesmo tipo, deve seravaliada para a determinação do resultado final que deve ter o mesmo tipo das expressões alternativas.

Voltar ao Início 

Operadores Matemáticos

 

Página 1 de 9SPRING - Operações em Legal

09/06/2008file://C:\Arquivos%20de%20programas\spring50Beta4_Port\helpport\legal4.htm

Page 2: ANEXO3_Operacoes

5/13/2018 ANEXO3_Operacoes - slidepdf.com

http://slidepdf.com/reader/full/anexo3operacoes 2/9

q p g p g pp g 

As operações matemáticas atuam somente sobre planos de informação da categoria NUMÉRICO e IMAGEM,incluindo:

operações aritméticas: soma (+), subtração (-), multiplicação (*) e divisão (/); funções matemáticas: seno (sin), cosseno (cos), tangente (tan), arcoseno (asin), arco-cosseno (acos),

arco-tangente (atan), logaritmo (log), logaritimo base 10 (log10), exponencial (exp), raiz quadrada(sqrt), parte inteira (int), valor absoluto (abs); valor aleatório (rand)

Como exemplo de operação matemática, tome-se a figura a seguir, onde o plano da esquerda é um mapa desolos ponderado e o da direita é um mapa de declividade. Consideremos que desejamos computar um indicadorde adequação de solos como a soma do valor atribuído ao solo com o inverso da declividade. A operação a seguirpoderia ser utilizada como passo intermediário ao calcular um mapa de adequação de solos (quanto maior ovalor, mais adequado).

aptidao = solos_pond + 1/decliv

O programa em LEGAL para fazer a operação acima é mostrado a seguir.

{ // Parte 1 - DeclaraçãoNumerico solo_pond ("Solo_ponderado"),

decliv ("Declividade"),aptidao ("AdequacaoNumerico");

 // Parte 2 - Instanciaçãodecliv = Recupere(Nome = "Decliv94");solo_pond = Recupere (Nome = "Solos94");aptidao = Novo (Nome = "adequcao94", ResX=50, ResY=50,

Min=0, Max=2, Escala = 50000); // Parte 3 - Operacaoaptidao = solo_pond + 1/decliv;}

Outros exemplos de operações matemáticas são:

LS = (0.00984*(decliv ^ 1.18)*(rampa ^ 0.63));IV = (red / infrared) * 128;radAVHRR4 = 0.155 * ima + 150;tempAVHRR4 = 1.435*845.19/log(1+1.191 *10-5/radiancia);

Voltar ao Início 

Página 2 de 9SPRING - Operações em Legal

09/06/2008file://C:\Arquivos%20de%20programas\spring50Beta4_Port\helpport\legal4.htm

Page 3: ANEXO3_Operacoes

5/13/2018 ANEXO3_Operacoes - slidepdf.com

http://slidepdf.com/reader/full/anexo3operacoes 3/9

q p g p g pp g 

Operadores de Transformação

Os operadores de transformação realizam um mapeamento de valores definidos por variáveis temáticas enuméricas para valores que podem ser associados a outras variáveis numéricas ou temáticas, segundomapeamento definido por tabelas de transformação de tipo específico, que pode ser Reclassificacao,

Fatiamento e Ponderação. Tais tabelas, previamente declaradas e instanciadas atuam como argumentos paraos operadores. :Na Legal existem três tipos de operadores de transformação implementadas.

Pondere: mapeia um dado TEMÁTICO em um NUMÉRICO; Fatie: mapeia um dado NUMERICO em um TEMÁTICO; Reclassifique: mapeia um dado TEMÁTICO em outro TEMÁTICO.

Alguns exemplos de operadores de transformação:

* "Reclassificar um mapa de vegetação com as classes {Floresta Ombrófila Densa, Floresta OmbrófilaAberta, Campinarana, Floresta Estacional} em um mapa com as classes {Floresta Densa, FlorestaAberta}."* "Obter um mapa hipsométrico a partir de um mapa de altimetria com o mapeamento { (0-300m) -Planície, (300-500m) - Planalto, (>500m) - Serras}".* "Quantizar uma imagem de satélite do infravermelho termal num mapa de temperaturas a partir daequação Temp = 27*Imagem/100."

Voltar ao Início 

Ponderação

Um operador de ponderação transforma um dado temático em um numérico, segundo a sintaxe:

Pondere (variável_ temática, tabela_ponderação) 

A Figura abaixo mostra um exemplo do operador de ponderação (conversão de um mapa de solos em ummapa de solos ponderado). Neste caso, o plano de informação de entrada é um mapa de solos com asclasses { Le, Li, Ls, Aq } e o de saída é um MNT cujos valores estão entre 0.0 e 1.0 e a operação deponderação consiste na associação {(Le-0.60), (Li-0.20), (Ls-0.35), (Aq-0.10)}.

Exemplo de um operador de ponderação: se "SOLOpond" for uma variável do modelo numérico, "SOLOS"do modelo temático e "ponderaSOLO" uma tabela de ponderação, a sentença abaixo mostra sintaxe desteoperador:

SOLOpond = Pondere (SOLOS, ponderaSOLO);

Um exemplo de programa em LEGAL para realizar tal operação é mostrado a seguir.

{ // Parte 1- Declaracao

 

Página 3 de 9SPRING - Operações em Legal

09/06/2008file://C:\Arquivos%20de%20programas\spring50Beta4_Port\helpport\legal4.htm

Page 4: ANEXO3_Operacoes

5/13/2018 ANEXO3_Operacoes - slidepdf.com

http://slidepdf.com/reader/full/anexo3operacoes 4/9

q p g p g pp g 

Tematico SOLOS ("Solos");Tabela ponderaSOLO (Ponderacao);Numerico SOLOpond ("SoloPonderado");

 // Definicao da Tabela de PesosponderaSOLO = Novo (CategoriaIni = "Solos",

Le : 0.60, Li : 0.2, Ls : 0.35, Aq : 0.1); // Parte 2 - Instanciacao do mapa de solosSOLOS = Recupere (Nome = "SoloCE");

 // Criacao do novo mapa de solos ponderadoSOLOpond = Novo (Nome = "solop", ResX = 30, ResY = 30,

Escala = 100000, Min = 0, Max = 1); // Parte 3 - Operacao de PonderacaoSOLOpond = Pondera (SOLOS, ponderaSOLO);}

O programa acima opera nos seguintes passos:

1. Inicialmente, os planos de informação e a tabela de ponderação são definidos (três primeiras linhas doprograma, não considerando as linhas comentário). A tabela de ponderação é criada, sendo definidos ospesos atribuídos à cada classe;

2. A seguir, o mapa de solos a ser ponderado é recuperado, através da função Recupere. O plano deinformação de saída é criado, através do operador Novo. O novo plano será criado como uma grade regularde resolução 30 x 30 metros, na escala 1:100.000 e valores máximo e mínimo;

3. A operação de ponderação é realizada, através da função Pondere.

Voltar ao Início 

Fatiamento

A operação de fatiamento transforma um plano de informação numérico em um temático, segundo asintaxe:

Fatie (variável_ numérica, tabela_fatiamento) 

A figura abaixo mostra um exemplo de uso do operador de fatiamento no qual um mapa de declividade emgraus é convertido para um mapa de classes de declividade a partir da transformação:

Exemplo de programa em LEGAL que executaria esta operação:

{

de 0 a 5% "baixa"

de 5 a 15% "media"

maior que 15% "alta"

Página 4 de 9SPRING - Operações em Legal

09/06/2008file://C:\Arquivos%20de%20programas\spring50Beta4_Port\helpport\legal4.htm

Page 5: ANEXO3_Operacoes

5/13/2018 ANEXO3_Operacoes - slidepdf.com

http://slidepdf.com/reader/full/anexo3operacoes 5/9

q p g p g pp g 

 // Parte 1 - Declaração // Declaração de VariáveisTematico classes_decl ("Declividade");Numerico decliv_num ("Declividade_Numerica");Tabela tab_fatia (Fatiamento);

 // Definicao da tabela de fatiamentotab_fatia:= Novo ( CategoriaFim = "Declividade",

[0.0, 5.0] : "Baixa",

[5.0, 15.0]: "Media",[15.0, 45.0]: "Alta");

 // Parte 2 - Instanciação // Recuperação do PI de Declividade Numéricadecliv_num = Recupere (Nome = "Declive_SJC");

 // Geracao do PI de saidaclasses_decl = Novo (Nome = "Classes_Decl",

ResX = 50, ResY = 50, Escala = 100000); // Parte 3 - Operação // Operação de Fatiamentoclasses_decl = Fatie (decliv_num, tab_fatia);}

O programa acima opera nos seguintes passos:1. Inicialmente, os PIs e a tabela de fatiamento são declarados (três primeiras linhas do

programa, não considerando as linhas de comentário). A tabela de fatiamento é criada, afim dedefinir o mapeamento entre classes temáticas e intervalos numéricos.

2. A seguir, o mapa de declividade a ser fatiado é recuperado, através do operador Recupere.3. O PI de saída é criado, através do operador Novo. Este PI será criado como uma imagem

temática de resolução 50 x 50 metros, na escala 1:100.000.4. A operação de fatiamento é finalmente realizada, através da função Fatie, afim de atribuir

valores às posições no novo plano criado acima.

Voltar ao Início 

Reclassificação

A operação de reclassificação transforma um plano de informação temático em outro temático segundo asintaxe:

Reclasasifique (variavel_tematica, tabela_reclassificacao) 

Como exemplo, temos um mapa de cobertura do solo na Amazônia com diferentes classes {"FlorestaDensa", "Floresta Várzea", "Rebrota", "Área Desmatada", "Cerrado"}. Este mapa temático seráreclassificado para um novo mapa, apenas com as classes {"Floresta", "Desmatamento", "Cerrado"}.

Exemplo de programa em LEGAL que executaria esta operação:

{ // Parte 1 - DeclaraçãoTematico cobertura ("Floresta");Tematico desmat ("Desmatamento");Tabela tab_recl (Reclassificacao);

tab_recl= Novo(CategoriaIni = "Floresta",CategoriaFim = "Desmatamento","FlorestaDensa" : "Floresta","FlorestaVarzea" : "Floresta","Rebrota" : "Desmatamento","AreaDesmatada" : "Desmatamento",

Página 5 de 9SPRING - Operações em Legal

09/06/2008file://C:\Arquivos%20de%20programas\spring50Beta4_Port\helpport\legal4.htm

Page 6: ANEXO3_Operacoes

5/13/2018 ANEXO3_Operacoes - slidepdf.com

http://slidepdf.com/reader/full/anexo3operacoes 6/9

q p g p g pp g 

"Cerrado" : "Cerrado"); // Parte 2 - Instanciação // Recuperação da variávelcobertura = Recupere (Nome = "Uso_JiParana");

 // Criação do novo PIdesmat = Novo (Nome = "Desmat_JiParana", ResX= 30,

ResY = 30, Escala = 100000); // Parte 3 - Operação

 // Reclassificaçãodesmat= Reclassifique (cobertura, tab_recl);}

Voltar ao Início 

Operadores Booleanos

Operações booleanas são de grande utilidade em análise espacial qualitativa na geração de dados temáticos, apartir de regras aplicadas a dados de entrada de qualquer outro modelo (Temático, Numérico e Imagem).Entretanto, qualquer tipo de dado pode ser definido por expressões booleanas.

Não existe um tipo de dados previsto no modelo de dados Spring para representar explicitamente os resultadosde operações booleanas, estas são tomadas como auxiliares na determinação de campos dos diversos modelos.

No exemplo abaixo, o operador "Atribua" é usado para determinar o plano "adequação", no qual as classes"inadequado" e "adequado", em função de expressões booleanas. Cada expressão booleana compõem-se deexpressões de classe que envolvem a grade numérica de "Declividade" e o mapa temático "Solos".

Exemplo:

Como exemplo de uso de operações booleanas, considere a determinação de um mapa de aptidão agrícola, apartir dos mapas de solo, declividade, precipitação e do conjunto hipotético de regras expresso na tabela abaixo.

REGRAS PARA APTIDÃO AGRÍCOLA

Em LEGAL, é necessário especificar um conjunto de condições a serem satisfeitas para cada classe de saída,através do operador Atribua. No programa descrito a seguir, um mapa de Aptidão Agrícola é determinado, combase na topografia e tipo de solo.

{Tematico solos ("Solos"), aptidao ("Aptidao"); Numerico decliv ("Altimetria"); decliv = Recupere(Nome = "Declividade"); solos = Recupere (Nome = "Mapa de Solos"); aptidao = Novo (Nome = "AptidaoAgricola", ResX=50, ResY=50, Escala = 50000); aptidao= Atribua 

{ "Boa" : solo == "LatosoloRoxo" && decliv.>= O && decliv < 3" ), "Media" : solo == "LatosolVeAm" && decliv.>= 3 && decliv < 8" ), "Inapto" : Outros) }; 

Aptidão Agrícola Solos Declividade

Boa Latossolo Roxo 0-3%

Média Latossolo Vermelho-Amarelo 3-8%

Inapto Areia Quartzosa >8%

Página 6 de 9SPRING - Operações em Legal

09/06/2008file://C:\Arquivos%20de%20programas\spring50Beta4_Port\helpport\legal4.htm

Page 7: ANEXO3_Operacoes

5/13/2018 ANEXO3_Operacoes - slidepdf.com

http://slidepdf.com/reader/full/anexo3operacoes 7/9

q p g p g pp g 

Voltar ao Início 

Operador Condicional

Uma expressão condicional baseia-se na avaliação de uma expressão booleana para decidir entre duasexpressões alternativas de um mesmo tipo, que deve ser avaliada para obtenção do resultado final, segundo asintaxe

expressao_booleana ? expressao1 : expressão2 

Exemplo:

Restrição de uma imagem TM a uma região descrita por expressão booleana:

{ // Exemplo de como Mascarar uma ImagemImagem tm5, tm5M ("Imagens-TM");Tematico masc ("Fazendas");tm5 = Recupere(Nome = "Banda-5");masc = Recupere (Nome = "Mapa_Fazendas");tm5M = Novo(Nome="Imagem_Fazendas", ResX=100, ResY=100);

 // Operacaotm5M = masc == "Fazendas-Gado" ? tm5 : Imagem(255) ; }

O programa acima recorta (mascara) a imagem de satélite "tm5, apenas nas regiões onde existe a classe

"Fazenda-Gado" do plano de informação "Fazendas".

Como as expressões alternativas devem ser de tipo Imagem neste caso, o valor 255 deve ser "maqueado" comouma imagem. Ao ser instanciada a variável tm5M pelo operador Novo, um novo plano de informação foiefetivamente criado, contendo uma imagem "em branco", isto é, com valor 255 associado a cada um de seuspixels, isso nos oferece uma alternativa para a operação do programa acima dada pela expressão:

tm5M = ( masc == "Fazendas-Gado" ) ? tm5 : tm5M ; 

Na verdade as expressões do tipo Imagem usadas como alternativas do exemplo acima são as mais simplespossíveis, consistindo de apenas nomes de variáveis ou números. Expressões mais complexas poderiam serusadas, considere, por exemplo a obtencao não apenas de um simples recorte das regiões de fazendas de gado,mas sim de uma imagem contendo os índices de vegetação em tais imagens. A operação seria similar a:

ivdn = ( masc == "Fazendas-Gado" ) ? ( tm3 - tm4 ) / ( tm3 + tm4 ) : ivdn ; 

Novas expressões condicionais podem ser usadas também como expressões alternativas, permitindo a definiçãode uma vasta classe de operações, no exemplo acima poderíamos estar interessados em Fazendas-Gado de todosos estados da região sul e Fazendas-Agricolas da região norte do pais, representados em um mapa temático deregiões do Brasill. A operação poderia ser descrita de uma maneira similar a:

ivdn = ( masc == "Fazendas-Gado" ) ? ( tm3 - tm4 ) / ( tm3 + tm4 ) :( regiao == "Sul" ) ? Imagem ( 128 ) :  Imagem ( 255 ) ; 

Página 7 de 9SPRING - Operações em Legal

09/06/2008file://C:\Arquivos%20de%20programas\spring50Beta4_Port\helpport\legal4.htm

Page 8: ANEXO3_Operacoes

5/13/2018 ANEXO3_Operacoes - slidepdf.com

http://slidepdf.com/reader/full/anexo3operacoes 8/9

q p g p g pp g 

Voltar ao Início 

Operações de Vizinhança

Em Legal é possível realizar muitas operações com base no acesso, e envolvimento em operações, das posiçõesvizinhas à cada posição de uma representação matricial que se deseja caracterizar. São referenciadas por um parde coordenadas relativas, que indica valores de deslocamento em termos de número de linhas e colunas. Porexemplo:

variavel [i, j] 

Os índices i e j referem-se ao deslocamento relativo à cada posição numa representação matricial, em termos donumero de linhas e colunas. Podem ser aplicados a qualquer variável associada a planos matriciais envolvidosem uma expressão pontual genérica.

No exemplo abaixo uma grade numérica é gerada, e a cada posição é atribuído o valor 1, sempre que alguma,

entre as posições vizinhas (acima, abaixo, à esquerda ou à direita), numa grade numérica de Altitudes, for demaior valor.

Exemplo:

{Numerico descen, altitude ("Altimetria");altitude = Recupere (Nome = "Altitudes");descen = Novo (Nome="Descendentes", ResX=25, ResY=25, Escala=100000, Min=0, Max=255) ;descen = altitude < altitude[1,1] || altitude < altitude[1,0] || altitude < altitude[1,-1] || altitude

< altitude[0,1] ? 1 : 0 ;}

A posição de referência a cada passo da geração do resultado, corresponde à posição de índices "[0,0]", que énormalmente expressa sem índices, como pode ser observado no exemplo acima (ondel a variável "altitude"aparece sem índices).

Voltar ao Início 

Operações Zonais

Atributos de dados do modelo Objeto podem ser envolvidos em expressões da linguagem, graças ao mecanismoadotado para representar sua distribuição, baseado no conceito de mapa cadastral . Mapas cadastrais oferecemsuporte à representação de objetos em diferentes escalas, e são categorizados no ambiente Spring através domodelo Cadastral. Os elementos de um tal mapa são dados sob a forma de polígonos, linhas e pontos que podemestar associados a objetos de interesse, de uma maneira semelhante à que define um plano de informaçãoqualquer.

A principal finalidade associada às expressões envolvendo objetos cadastrais, está relacionada a seu uso junto àclasse de operadores Zonais, o operador Espacialize, o operador Atualize e o FatieAtributo, que atuam sobreatributos de Objetos.

O operador FatieAtributo mapeia, através de uma tabela de Fatiamento, os valores associados a algumatributo numérico de Objetos associados à um mapa de categoria Cadastral e cuja representação no Spring ésempre vetorial. O operador Espacialize permite a geração de mapas temáticos ou de grades numéricas a partirde atributos numéricos ou textuais de objetos cadastrais.

Os operadores Zonais efetuam sumarizações de valores resultantes da avaliação de expressões temáticas,

Página 8 de 9SPRING - Operações em Legal

09/06/2008file://C:\Arquivos%20de%20programas\spring50Beta4_Port\helpport\legal4.htm

Page 9: ANEXO3_Operacoes

5/13/2018 ANEXO3_Operacoes - slidepdf.com

http://slidepdf.com/reader/full/anexo3operacoes 9/9

q p g p g pp g 

numéricas, imagens e booleanas.envolvendo um ou mais planos de informação, sobre regiões delimitadas porzonas dadas por expressões booleanas ou por mapas cadastrais. Tais sumarizações correspondem a estatísticassimples, tais como: Maioria, Maximo, Media, Variedade etc. O operador Atualize mapeia valores resultantesde operadores zonais, em atributos de objetos cadastrais, permitindo a extração de resultados sob a forma deatributos em tabelas de bancos de dados.

No exemplo abaixo, o atributo "DECLIVE" do objeto "Quadras" é atualizado à partir de valores médios obtidosatravés de valores de declividade fornecidos pela grade numérica "Declividade", sobre as zonas definidas pelospolígonos de um mapa cadastral, associadas às instâncias do objeto.

Exemplos:

{Objeto zonas ("Quadras");Cadastral cad ("Cad_Urbano");Numerico decliv ("Altimetria");cad = Recupere (Nome = "Mapa_quadras");decliv = Recupere (Nome = "Declividade");zonas. "DECLIVE" = MediaZonal (decliv, zonas OnMap cad );

}O mesmo efeito do programa acima pode ser obtido através do operador Atualiza combinado com o deMediaZonal 

{...

zonas. "DECLIVE" = Atualize (decliv, zonas OnMap cad, MediaZonal);}

Voltar ao Início 

Página 9 de 9SPRING - Operações em Legal

09/06/2008file://C:\Arquivos%20de%20programas\spring50Beta4 Port\helpport\legal4 htm