spring:legal:func
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
| Ambos lados da revisão anteriorRevisão anteriorPróxima revisão | Revisão anterior | ||
| spring:legal:func [2008/11/25 17:46] – jpedro | spring:legal:func [2008/12/05 18:40] (atual) – jpedro | ||
|---|---|---|---|
| Linha 1: | Linha 1: | ||
| - | === Novas Funcionalidades (versão Spring 5) === | ||
| - | **Generalizações | + | ==== Generalizaçã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. | + | |
| + | | ||
| + | A figura abaixo ilustra as perdas de informação para representar um mapa a diferentes resoluções: | ||
| + | |||
| + | {{spring: | ||
| + | |||
| + | Observe | ||
| ndvi_20 = (nir - red)/(nir + red); | ndvi_20 = (nir - red)/(nir + red); | ||
| - | Supondo que as as bandas radiometricas ("red" | + | Supondo que as variáveis //red// e //nir// representam imagens radiometricas nas bandas do vermelho e o infra-vermelho proximo, na resolução 20x20m, |
| ndvi_200 = Maximo ( (nir - red)/(nir + red) ); | ndvi_200 = Maximo ( (nir - red)/(nir + red) ); | ||
| Linha 26: | Linha 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 " | ||
| + | |||
| + | {{spring: | ||
| + | |||
| + | 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 < | ||
| + | ... | ||
| + | |||
| + | Uma grande variedade de vizinhanças podem ser assim especificadas, | ||
| + | |||
| + | {{spring: | ||
| + | |||
| + | A interação entre as vizinhanças assim definidas e os dados matriciais de uma base de dados pode entao ser modelada como o " | ||
| + | |||
| + | ((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, | ||
| + | |||
| + | 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, | ||
| + | m0 = Media((Distance() <= 1) * m) ; | ||
| + | m1 = Media((1 < Distance() < 4) * m) ; | ||
| + | s1 = sqrt (Media((1< | ||
| + | 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: | ||
| + | |||
| + | As mesmas considerações discutidas até agora são tambem válidas para outra função distancia, tambem implementada, | ||
| + | D(p0, p1) = |y0 - y1| + |x0 - x1| | ||
| + | |||
| + | Um circulo de raio 2 segundo essa medida de distancia teria a forma como indica a figua abaixo: | ||
| + | |||
| + | {{spring: | ||
| + | |||
| + | A partir daí todas as operações discutidas anteriormente podem fazer uso da distancia cityblock, bastando para isso substituir nas expressões, | ||
| + | |||
| + | (Cityblock()== 20) | ||
| + | (10 < Cityblock() < 30) | ||
| + | (20 < | ||
| + | ... | ||
| + | Vale ainda observar que as distancias e valores envolvidos nas expressoes correspondem a escalas metricas convencionais, | ||
| + | Na sintaxe das funções distancia discutidas, a ausencia de parametros indicada pelo " | ||
spring/legal/func.1227635187.txt.gz · Última modificação: 2008/11/25 17:46 por jpedro
