Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
spring:legal:func [2008/11/25 15:46] jpedro |
spring:legal:func [2008/12/04 15:01] jpedro |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | === Novas Funcionalidades (versão Spring 5) === | ||
- | **Generalizações e Agregações** | + | ==== Generalização e Agregação ==== |
A lingaugem LEGAL, a partir da versão 5 do Spring permite explorar as diferenças de resolução entre dados em modelagem a partir de estatísticas básicas tais como: | A lingaugem LEGAL, a partir da versão 5 do Spring permite explorar as diferenças de resolução entre dados em modelagem a partir de estatísticas básicas tais como: | ||
- | Media, Mediana, Maioria, Minoria, Maximo e Minimo. Por exemplo, observe a expressão abaixo: | + | |
+ | Media, Mediana, Maioria, Minoria, Maximo e Minimo. | ||
+ | A figura abaixo ilustra as perdas de informação para representar um mapa a diferentes resoluções:\\ | ||
+ | |||
+ | {{spring:legal:wikleg001_.jpg|}} | ||
+ | |||
+ | Observe a expressão abaixo:\\ | ||
ndvi_20 = (nir - red)/(nir + red); | ndvi_20 = (nir - red)/(nir + red); | ||
- | Supondo que as as bandas radiometricas ("red" e "near-infrared") tem resolução 20x20m, essa equação nos dá o indice de vegetação a cada local (pixel, cela) de uma área de trabalho. Entretanto poderemos ter generalizações baseadas nesses dados de sensores a diferentes resoluções, por exemplo: | + | Supondo que as variáveis //red// e //nir// representam imagens radiometricas nas bandas do vermelho e o infra-vermelho proximo, na resolução 20x20m, a equação acima nos dá o indice de vegetação para cada local (pixel, cela) de uma área de trabalho. Entretanto pode-se ter generalizações baseadas nesses dados de sensores a diferentes resoluções, por exemplo: |
ndvi_200 = Maximo ( (nir - red)/(nir + red) ); | ndvi_200 = Maximo ( (nir - red)/(nir + red) ); | ||
Line 26: | Line 32: | ||
Dessa maneira o LEGAL pode ajudar em estudos visando a adequação de escala e resolução para integrar dados de sensores em modelagem. | Dessa maneira o LEGAL pode ajudar em estudos visando a adequação de escala e resolução para integrar dados de sensores em modelagem. | ||
+ | ==== Operações de Vizinhança ==== | ||
+ | (a partir da versão Spring 5.0.4.2) | ||
+ | |||
+ | Com o objetivo de permitir o desenho mais flexivel e explicito de operações envolvendo vizinhanças foi introduzida uma Função "Distancia" que implementa a distancia dada pelo número mínimo de celas entre cada local e o foco da vizinhança que o contém, como na figura: | ||
+ | |||
+ | {{spring:legal:legwik002.jpg|}} | ||
+ | |||
+ | A partir de operações de ordem ou igualdade pode-se então efetivamente definir vizinhanças. Por exemplo a região ressaltada na figura anterior pode ser descrita de diversas maneiras: | ||
+ | |||
+ | (Distancia()== 2) | ||
+ | (1 < Distancia() < 3) | ||
+ | (2 <=Distancia() < 3) | ||
+ | ... | ||
+ | |||
+ | Uma grande variedade de vizinhanças podem ser assim especificadas, como ilustrado na figura: | ||
+ | |||
+ | {{spring:legal:wikleg003.jpg|}} | ||
+ | |||
+ | A interação entre as vizinhanças assim definidas e os dados matriciais de uma base de dados pode entao ser modelada como o "produto" entre a região e as variáveis que representam mapas, grades e imagens, de uma base de dados, resultando em expressões tais como: | ||
+ | |||
+ | ((Distancia() < 3) * nir) | ||
+ | ((Distancia() < 3) * red) | ||
+ | |||
+ | A partir daí pode-se então extrair estatisticas simples tais como: | ||
+ | |||
+ | Media, Mediana, Maioria, Minoria, Maximo e Minimo. | ||
+ | Permitindo a descrição de diversas operações de vizinhança, como ilustrado abaixo: | ||
+ | |||
+ | nir_av = Media ((Distance() < 3) * nir)); | ||
+ | red_av = Media ((Distance() < 3) * red)); | ||
+ | ndvi_av = Media ((Distance() < 3) * ((nir - red)/(nir + red))); | ||
+ | |||
+ | Segue-se um exemplinho que descreve um método de detecção de alvos, cuja expressão matemática pode ser dada pela equação: | ||
+ | det = (m0 - m1) / s1 | ||
+ | |||
+ | Aqui, **m0** representa uma imagem com os valores médios nas vizinhanças 3x3 de cada pixel de uma imagem original, **m1** por sua vez representa outra imagem com as médias sobre vizinhanças definidas pelo conjunto diferença entre vizinhanças 9x9 e 3x3, sobre essas mesmas vizinhanças é então determinado o desvio padrão correspondente, representado pela variável **s1**. As linhas relevantes de um programa em LEGAL para implementar esse método são exemplificadas abaixo: | ||
+ | m0 = Media((Distance() <= 1) * m) ; | ||
+ | m1 = Media((1 < Distance() < 4) * m) ; | ||
+ | s1 = sqrt (Media((1<(Distance()< 4) * (m- m1)^2)) ; | ||
+ | det = (m0- m1) / s1 ; | ||
+ | |||
+ | A figura a seguir ilustra as diferentes vizinhanças envolvidas no programa acima, a imagem de entrada representada pela variável **m**, as médias e a imagem resultante associada à variável **det** | ||
+ | |||
+ | {{spring:legal:legwik004.jpg|}} | ||