Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Álgebra de Mapas
LEGAL
Linguagem Espacial de Geoprocessamento Algébrico
João Pedro
Álgebra (essencial)
• Domínio- oferece um conjunto de valores,
• Relações - selecionam valores,
• Operações - produzem valores,
• Expressões - descrevem as operações e relações,
seguindo regras gramaticais
Relações
Equivalencia
• Dividem o domínio em vários subconjuntos – igualdade, semelhança, congruencia etc.
a ~ b |3 a = n * 3 + k, b = m * 3 + k
m, n Z , k { 0, 1, 2}
Ordem
• Dividem o domínio em dois subconjuntos a partir de comparadores relacionais
<, <=, >, >=, ==, !=.
, , , , ,
Operações
Aritméticas
• Produzem números a partir de números, variáveis e operadores aritméticos
{ =, +, -, *, / }
Booleanas
• Produzem valores binários {0, 1} , {T, F}, {sim, não} …
a partir de comparadores relacionais ( .<, <=, >, >=, ==, !=.).
e operadores lógicos { ||, &&, !}
– Exemplos
(nir – red) / (nir + red)
A < B && (B >= C || C < 10)
A > B || ( D != F && F == “floresta” )
• Descrevem relações e operações a partir de regras
gramaticais
<expressão> : : <valor> |
<variável> |
<expressão> ‘+’ <expressão> |
<expressão> ‘*’ <expressão> |
<expressão> ‘==‘ <expressão> |
<expressão> ‘>= ‘ <expressão> |
<expressão> ‘<=‘ <expressão> |
( <expressão> )
Expressões
• Descrevem relações e operações a partir de regras
gramaticais
Alti + 200 : : 200 |
Alti |
Alti ‘+’ 200 |
<expressão> ‘*’ <expressão> |
<expressão> ‘==‘ <expressão> |
<expressão> ‘>= ‘ <expressão> |
<expressão> ‘<=‘ <expressão> |
( <expressão> )
Expressões
Modelagem Cartográfica
– Combina camadas de mapas
georeferenciados em um mesmo
sistema cartográfico.
– Realiza operações conhecidas
como “overlay de mapas”
‘Intercessão’, ‘união’, ‘complemento’, ‘merge’,
‘clipping’, ‘clump’ …
Modelagem Cartográfica
– Combina camadas de mapas
georeferenciados em um mesmo
sistema cartográfico.
– Realiza operações conhecidas
como “overlay de mapas”
‘Intercessão’, ‘união’, ‘complemento’, ‘merge’,
‘clipping’, ‘clump’ …
Álgebra de Mapas
– Área de estudo é representada por camadas
de mapas (planos de informção)
– Associados a variáveis nas expressões da
linguagem;
– Novos planos resultam de operações sobre
planos existentes;
Álgebra de Mapas
– Conjuntos de um ou mais valores locais são selecionados de um ou mais planos envolvidos numa operação
– Dependendo da maneira como é feita essa seleção, as operações podem ser classificadas em:
Locais, Vizinhanças e Zonais
Operações Locais.
O valor de cada local, depende dos valores
associados ao mesmo local pelos planos
envolvidos
Red Near Infrared Vegetation Index
Green
Leaves
Yellow
Leaf
NDVI = (NIR - RED) / (NIR + RED)
NIR: propriedades estruturais da folha;
RED: absorção de radiação pela clorofila.
Operações Locais.
Aritméticas
Cálculo de Indices de Vegetação
{
//Declarações de variáveis
//Inicializações
//Operações
}
Estrutura de programa em LEGAL
{
//Declarações de variáveis
Imagem red, nir ("Imagens");
Numerico ndvi (“Grades");
//Inicializações
red= Recupere(Nome="TM_3");
nir= Recupere(Nome="TM_4");
ndvi= Novo(Nome="NDVI", ResX=30, ResY=30);
//Operações
ndvi = (nir - red)/(nir + red);
}
Índices de vegetação em LEGAL
{
//Declarações
Imagem red, nir, ndvi ("Imagens");
//Inicializações
red= Recupere(Nome="TM_3");
nir= Recupere(Nome="TM_4");
ndvi= Novo(Nome="NDVI", ResX=30, ResY=30);
//Operações
ndvi = 127 * (nir - red)/(nir + red) + 128;
}
Índices de vegetação em LEGAL
Editando em Legal - NDVI
Editando em Legal - NDVI
Editando em Legal - NDVI
Editando em Legal - NDVI
Editando em Legal - NDVI
Editando em Legal - NDVI
Editando em Legal - NDVI
Editando em Legal - NDVI
Editando em Legal - NDVI
Atribuição Condicional
• Sintaxe:
resultado = <booleana> ? <caso_sim> : <caso_não> ;
D A B C
D = A==B && B != C ? C : D;
A avaliação de uma expressão booleana define a operação usada para determinar a variável resultado.
Operações Condicionais
Atribuição Condicional
Comando Atribua
• Sintaxe:
resultado = Atribua
{
“classe_tematica_1” : <booleana_1>,
“classe_tematica_2” : <booleana_2>,
“classe_tematica_3” : <booleana_3>,
...
“classe_tematica_n” : <booleana_n>;
}
A avaliação alternativa de expressões booleanas define a classe temática da variável resultado.
Operações Condicionais
Comando Atribua
Comando Atribua
Comando Atribua
Comando Atribua
Comando Atribua
Agregação
• Pequenas diferenças de resolução entre mapas são compatibilizadas em LEGAL através de interpolação:
Vizinho mais próximo, Bilinear
• Mas tambem podem ser exploradas atraves de agregação a partir de estatísticas simples como:
Maioria, Media, Mediana, Maximo …
Agregação
{ …
Imagem red, nir, myi (“Imagem_ETM”);
red = Recupere (Nome=“B3”);
nir = Recupere (Nome=“B4”);
myi = Novo (Nome=“MYVI”, ResX=300, ResY=300);
myi = 127 * ((Maioria) nir – (Maioria) red) /
((Maioria) nir + (Maioria) red) +128;
}
Agregação
{ …
Imagem red, nir, myi (“Imagem_ETM”);
red = Recupere (Nome=“B3”);
nir = Recupere (Nome=“B4”);
myi = Novo (Nome=“MYVI”, ResX=300, ResY=300);
myi = 127 * (Maioria) (nir – red) / (nir + red) +128;
}
Agregação
Agregação
{ …
inicial= Recupere (Nome=“523_GRT"); //resoluçao 30x30
maio= Novo (Nome=“Maioria“, ResX=150, ResY=150);
mino= Novo (Nome=“MinoriaI", ResX=150, ResY=150);
final= Novo (Nome=“Resultado", ResX=30, ResY=30);
maio = (Maioria)inicial;
mino = (Minoria)inicial;
final = inicial != “pinus” ? Inicial : maio != “pinus” ? maio :
inicial
}
Agregação – ruídos
Agregação – ruídos
Agregação – ruídos
Agregação – ruídos
Vizinhança 3x3
Quando as resoluções envolvidas forem identicas, a “Agregação” assume as vizinhança 3x3 de cada local como argumento para estatisticas simples como: Media, Maioria, Maximo etc..
{
/* O uso repetido da expressão a seguir permite a
recomposição de areas tomadas como ruidosas*/
final = final == “pinus” ?
(Minoria) final == “pinus” ? (Maioria) final : final } ;
}
Vizinhança 3x3
Quando as resoluções envolvidas forem identicas, a “Agregação” assume as vizinhança 3x3 de cada local como argumento para estatisticas simples como: Media, Maioria, Maximo etc..
{
n = 0
While (n <=2)
{
final = final == “pinus” ?
(Minoria) final == “pinus” ? (Maioria) final : final } ;
n = n +1;
}
Comando Interativo While
• Sintaxe:
While <expressão_booleana> {
<expressão-1> ;
<expressão-2> ;
...
}
Vizinhança 3x3 – ruídos
Vizinhança 3x3 – ruídos
Operações de Vizinhança
– Resultados locais dependem dos valores
selecionados dos locais vizinhos
3x3, 5x5, 7x7 …
– Depois são sumarizados através de
estatísticas simples como::
Maioria, Media, Mediana, Maximo …
• Uma maneira de realizar operações de
vizinhança é através do envolvimento direto
de cada local vizinho, como nas operações
locais.
• Os vizinhos de um local são expressos em
têrmos do número de linhas e colunas que
de distância a esse local.
Vizinhanças em LEGAL
i - 2
i - 1
i
i + 1
i + 2
j - 3 j - 2 j - 1 j j + 1
[0,0]
Operacao envolvendo locais vizinhos
segundo uma certa configuracao.
grd [-2, -2] +
grd [-1, -2] + grd [-1, -1] +
grd [ 0, -2] + grd [ 0, -1] + grd [0, 0] +
grd [+1, -2] + grd [+1, -1] +
grd [+2, -2]
Vizinhanças em LEGAL
[0,-1]
[-1,-1]
[1,-1]
Mapa
Selelção Vizinhanças
NovoMapa = Maioria (Mapa * Vizinhanças);
Vizinhanças em LEGAL
2
tabuleiro quarteirao
Maioria (mapa * (Distancia() < 3))
Maioria (mapa * (1 < Distancia() < 3))
2
Interação vizinhança-mapa
Vizinhanças em LEGAL
Vizinhanças em LEGAL
med3 = Media((Distancia() < 1) * img);
med93 = Media((1 < Distancia() < 4) * img);
dev93 = (Media((1<(Distancia()< 4) * (img - med93)^2));
Det93 = log(dev93/dev3)+(dev3/dev93)+(med3-med93)^2/dev93;
imagem
media
desvio
desvio
desvio media
media
media media media
ex: deteção de alvos
Vizinhanças em LEGAL
• Variáveis do tipo Regiao
• Sintaxe:
Regiao var;
ex: ...
var = [-1,-1] [-1, 0] [-1, 1]
[0, 0] [ 0,-1] [ 0, 1]
[ 1,-1] [ 1, 0] [ 1, 1] ;
ou
var = Distancia() < 3;
...
resultado = Mediana ( var * <expressao> )
Vizinhanças em LEGAL
Vizinhanças em LEGAL
Operações Zonais
zonas referencia
resultado = Sumario (referencia,
zonas)
Operações Zonais
– Caracterizam cada local com base em regiões que os contém unicamente, as zonas.
– Valores selecionados por zona são então sumariizados por estatísticas básicas como:
Maioria, Média, Máximo, Mediana …
– Uma operação zonal envolve dois argumentos:
• Conjunto de zonas (partição)
• Valores associados aos locais de uma área de estudo.
Operações Zonais
– Existem duas maneiras de definir um conjunto
de zonas:
• lista de expressões Booleanas envolvendo
representação em formato raster,
• lista de poligonos, linhas ou pontos de mapas
do modelo Cadastral, associados a objetos
geográficos, representados em tabelas de
Bancos de Dados.
• Sintaxe:
<resultado> = <operação> ( <referência>, <zonas> ) ;
– O resultado é uma variável do modelo Tematico,
Numérico ou Imagem; ou um atributo de variável
do tipo Objeto cadastral.
– A operação é uma estatistica simples (média,
maioria, mediana …)
– A referência é uma expressão para determinar os
valores a serem processados;
– As zonas são expressões para a seleção de
locais que pertencem a cada uma delas.
Operações Zonais
Operações Zonais, Exemplos:
• Os resultados podem ser mapas ou atributos de objetos cadastrais.
A média dos valores de indices de vegetação por classe de pedologia;
Media (ndvi, solo==“A”, solo==“B”, …);
A exposição predominante em cada quadra do Plano Piloto em Brasília.
Maioria (aspecto, quadra NoMapa quadras);
Operações Zonais, Exemplos:
Operações Zonais, Exemplos:
Operações “Zonais” sobre Pontos
Espacialização de Atributos
• Geobjetos (objetos cadastrais) associados a
representação vetorial podem ser transformados em
representações Matriciais, dos modelos Tematico,
Numerico e Imagem que temos no SPRING.
– Sintaxe:
var = Espacialze (obj.”atributo” NoMapa cad);
Espacialização de Atributos
Espacialização de Atributos
Espacialização de Atributos
Espacialização de Atributos
• Pontos associados a objetos podem ser
contabilizados junto a seus atributos
escalares.
– Sintaxe:
var = PontosPorCela (obj NoMapa cad);
var = AtributoPorCela (obj.”atributo” NoMapa cad);
Aqui, cada local é visto como uma cela que contém
pontos associados a atributos.
Pontos/Atributos por Cela
Pontos/Atributos por Cela
Pontos/Atributos por Cela
Pontos/Atributos por Cela
Desenvolvimentos futuros: Propagação e Difusão
• Aqui a noção de distancia ao “foco” é uma
consequencia do movimento de propagação de um
fenomeno..
• Exemplos típicos são, o comportamento do fogo em
incendios ou queimadas, o movimento de um
processo de contaminação, a hidrologia etc.
Desenvolvimentos futuros: Conexidade
• Mede o grau a que as feições de um mapa
estão conectadas.
– Por exemplo, existe área de floresta, grande o
suficiente para garantir o habitat de uma certa
espécie?
– Ou larga o suficiente (corredores) para
garantir o deslocamento de indivíduos de uma
espécie?
Barreira
Floresta
Floresta Mista
Campos
Análise de Conexidade
Raster-vector topology
Querying vector-raster objects
SELECT pressure, forecast FROM ImageTable
WHERE pressure.Name ==“Pressure” and forecast.Name == “Forecast” ;
SELECT object from ObjectTable
WHERE object .Geometry() TOUCHES (pressure >= 1200 and forecast > 100) ;
Alternatively
flood = pressure >= 1200 and forecast > 100 ;
SELECT object from Table T
WHERE object .Geometry() TOUCHES (flood) ;
...then
SELECT* from Bombeiros B
WHERE distance (B.Geometry(), flood) < 100 ;
Considerações finais
• Essencialmente existem tres momentos na análise através da álgebra de mapas:
– Definir as regiões envolvidas no problema, por criterios que podem envolver representações matriciais ou vetoriais
– Definir maneiras de selecionar valores através das regiões definidas;
– Definir maneiras de sumarizar novos valores locais com base nos valores selecionados por região;
Referencias Basicas:
TOMLIM, C.D. Geographic information systems and cartographic modeling.
Englewood Cliffs: Prentice Hall, 1990.
BERRY, J.K. Cartographic modeling: the analytical capabilities of GIS. In:
GOODCHILD, M.; O’PARKS, B.; STEYAERT, L. Environmental modeling
with GIS, p. 58-74, 1993.
BERRY, J.K. Map analysis: procedures and applications in GIS modeling.
2004. Available Online: <www.innovativegis.com/basis>. 20/10/2010.
SHAPIRO, M. et al. MAPCALC: an algebra for GIS and image processing.
Champaign: U.S.Army Construction Engineering Research Laboratory, 1992.
WESSELING, C.G. Et al. Integrating dynamic environmental models in gis:
the development of a dynamic modelling language. Transactions in GIS, v. 1,
p. 40-48, 1996.
Referencias INPE:
CAMARA, G. et al. Towards an algebra of geographical fields. In: SIMPÓSIO
BRASILEIRO DE COMPUTAÇÃO GRÁFICA E PROESSAMENTO DE
IMAGENS, 7., 1994, Campinas.
CORDEIRO, J. P.; AMARAL, S.; FREITAS, U. M.; CAMARA, G. Álgebra de
Campos e suas aplicações. In: SIMPÓSIO BRASILEIRO DE
SENSOREAMENTO REMOTO, 8., 1996, Salvador.
CORDEIRO, J.P. Et al. Algebraic formalism over maps. In: BRAZILIAN
SYMPOSIUM IN GEOINFORMATICS. 7., 2005, Campos do Jordão.
CORDEIRO, J.P. Et al. Yet another map algebra. Geoinformatica, v. 13, p.
183-202, 2009.
BARBOSA, C.C. et al. Integração do Dominio de Objetos e Campos em Algebra
de Mapas. In: GIS BRASIL, 1999, Salvador, BA.
Referencias de Uso:
AMORIM, R.F.; SILVA, F.M. Modelagem do processo de vulnerabilidade
e erosão do solo utilizando o SIG Spring. In: SIMPÓSIO BRASILEIRO DE
SENSOREAMENTO REMOTO, 5., 2009, Natal. Anais.
ANDERSON, L.O. et al. Influence of landscape heterogeneity on spatial
patterns of wood productivity, wood specific density and above ground
biomass. Amazonia, Biogeosciences, v. 6, p. 1883-1902, 2009.
BERKA, L.M.S.; RUDORFF, B.F.T. Sistema de informação geográfica no
acompanhamento da safra de soja através de modelo agrometeorológico.
Goiânia: INPE, 2005. p.33-40.
CÂNDIDO, A.K.A.; SANTOS, J.W.M. Mapeamento das áreas com solos com
alto potencial de erosão na área da bacia do Rio Manso – MT. In: SIMPÓSIO
DE GEOTECNOLOGIAS NO PANTANAL, 2., 2009.
Referencias de Uso:
MOTA, M. et al. Using LEGAL: map algebra - as a tool to support estimation of
amazonian deforestation. In: SIMPOSIO LATINOAMERICANO SÔBRE
PERCEPCION REMOTA Y SISTEMAS DE INFORMACION ESPACIAL, 11.
2004, Santiago, Chile.
MOTA, M. et al. Integração de dados ambientais através de álgebra de mapas –
caso de estudo: geração da vulnerabilidade ambiental do municipio Assis Brasil –
Acre. In: GIS-Brasil 1999, Salvador.
SILVA, M.S.D. Avaliação de aspectos da fragilidade ambiental para o
ecoturismo no entorno da represa do 29 São Carlos (SP). 2007. Dissertação
(Mestrado em Engenharia Urbana) - Universidade de São Paulo, São Carlos.
SOARES-FILHO, B.S. Et al. Dinamica: a stochastic cellular automata model
designed to simulate landscape dynamics in an amazonian colonization frontier.
Ecological Modelling, v. 154, p. 217–235, 2002.
Extents
Comando Interativo While
Declividade e Exposição
Declividade e Exposição
Declividade e Exposição
Declividade e Exposição
Exercício: Para obter uma imagem de refletância, deve-se primeiro transformar o número digital (ND) em radiância, utilizando parâmetros de calibração de pré-lançamento. A transformação de ND para radiância é feita através da fórmula:
RAD = Lmin + (Lmax - Lmin) * ND / 255
onde: RAD = radiância espectral (mW cm-2 sr-1 μm-1); Lmin = radiância espectral do ND mínimo; Lmax = radiância espectral do ND máximo;
Posteriormente, os valores de radiância são utilizados para calcular as refletâncias aparentes pela equação abaixo:
π L d2 / Esol cos(θ) onde: RAP= refletância aparente; L= radiância espectral no detector (mW cm-2 sr-1 μm-1); d = distância Terra-Sol, em unidades astronômicas; ESol = irradiância solar topo da atmosfera (mW cm-2 m-1); θ = ângulo solar zenital, em graus.
Essa transformação de radiância para refletância analisa as diferenças entre os ângulos de elevação solar, normalizando-as sob este aspecto, mas não considera as diferenças topográficas nem atmosféricas