Revisão/Padronização
PRODES 1997-2003
Marisa da Motta
Dalton Valeriano
INPE – DPI/DSR
Motivação: Recuperar Informação
223/62-2000
2
223/62-2001
Motivação: Padronizar Legendas
3
LEGAL




Linguagem Espacial de Geo-Processamento
Algébrico
Ferramenta para modelagem espacial no
ambiente SPRING
Implementada com base na categorização de
dados segundo o Modelo de Dados SPRING
Dados Espaciais – associados aos tipos:





4
Temático
Numérico
Imagem
Cadastral/Objetos
Rede/Objetos
Álgebra de Mapas x Álgebra Matemática
Constantes e Variáveis




Mapas Temáticos
Grades Numéricas
Imagens de Satélite
Mapas Cadastrais
Operações e Funções




Locais (pixel – valor)
Vizinhança (media/maioria...)
Zonais (estatísticas – áreas
extensas)
Comparação e Lógicos
Expressões Similares
5
Constantes e Variáveis




Representam Números
inteiro
real
float
Operações e Funções



Matemáticos +,-,*,/, sen,tan...
Comparação <, >,<=, >=, ==, !=
Lógicos &&,||, !, ~
Expressões Algébricas
Matemáticas
Classes da Categoria “nuvens” 2003
nv_01 nuvem2003 (observada em 2003)
nv_02 nuvem2003_nv2002
nv_03 nuvem2003_nv2002_nv2001
nv_04 nuvem2003_nv2002_nv2001_nv2000
nv_05 Não ocorre porque 99/98 não foi processado
nv_06 nuvem2003_nv2002_nv2001_nv2000_(nv99;98)
nv_07 nuvem2003_nv2002_nv2001_nv2000_(nv99;98)_nv1997
Mapa de cruzamento de nuvens de 1997-2003
6
Categoria: Cartatema_NOVO (2004)
7
floresta
Classificacao/mapeamento
nao_floresta
Classificacao/mapeamento
nao_floresta2
Classificacao/mapeamento
hidrografia
Classificacao/mapeamento
nuvem
Classificacao/mapeamento
problema
Via legal
desmatamento_total
Via legal
desmatamento
Classificacao/Mapeamento
dsf_nv_01
Via legal –dsf sobre nuvens por 1 ano (nuvens ano anterior)
dsf_nv_02
Via legal –dsf sobre nuvens por 2 anos (nuvens ano anterior)
dsf_nv_03
Via legal –dsf sobre nuvens por 3 anos (nuvens ano anterior
dsf_nv_04
Via legal –dsf sobre nuvens por 4 anos (nuvens ano anterior)
dsf_nv_05
Via legal –dsf sobre nuvens por 5 anos (nuvens ano anterior)
dsf_nv_06
Via legal –dsf sobre nuvens por 6 anos (nuvens ano anterior)
dsf_nv_07
Via legal –dsf sobre nuvens por 7 anos (nuvens ano anterior)
Categorias: extensão_NOVO
Floresta_total
Total observado
nao_floresta_total
Total observado
nao_floresta2_total
Total observado
Hidrografia_total
Total observado
Area_nao_sensoriada
Total observado
desmatamento_total
Total acumulado até o ano
Hidrografia
Nao_floresta
Máscara
Mascara a imagem do ano seguinte
Desmatamento
Segmentação/Classificação
8
Fase de Recuperação 1997-2003
1.
Remapea para o conjunto de classes definidas
Legal  comando Atribua
2.
Recupera Hidrografia/Não-Floresta/Desmatamento
do ano anterior
Legal cruza 2 mapas – Atribua
3.
Diferenças evidenciadas – auditor verifica/edita
Legal (se expressão true) ? expressao1) : (expressao2)
sim
4.
9
não
Geração: Cartatema/nuvens/extensão/mascara
Legais padronizados executados na sequência
Sequencia de PI´s: Recuperação








10
Classif1997
Classif2000
Classif2001 – ?
Classif_2001_Recuperado
Diferença – evidenciada p/ auditor
Classif2002 - ?
Classif_2002_recuperado
Diferença – evidenciada p/ auditor
1997
11
2000
12
2001
13
2001_recuperado
14
Diferença_2001
15
2002
16
2002_recuperado
17
Diferença_2002
18
Metodologia PRODES





19
Geo-referenciamento
Processamento de Imagens
contraste, Modelo Linear de Mistura
Espectral, Segmentação e Classificação
Mapeamento  foto-interprete associa
classificação às classes temáticas – edição
Cruzamento com ano anterior  processo de
modelagem baseado em Álgebra de Mapas
Regras de cruzamento são definidas 
transformadas em programas LEGAL
PRODES - Regras de Cruzamento
Resultado do cruzamento do PI classif_final2004 com extensão_2003 e nuvens2003
extensão_2003 
floresta_tot desmat-total Area_não_
Hidrografia_total Não_floresta
Sensoriada
_total
Nãofloresta2_total
classif_final2004 
desmatamento
A
E
D (dsf_...) * E
E
E
desmatamento_total
-
-
-
-
-
-
floresta
E
E
A
E
E
E
não_floresta
E
E
(Problema) E
E
E
não_floresta2
A
E
A
E
E
E
hidrografia
A
A
A
E
A
A
nuvem
A
E
D (nv_...)** E
E
E
Distribui desmatamento sobre nuvens 2003 e acumula nuvem sobre nuvens2003 – gerando nuvens2004
PI= nuvens2003 
nv_01
nv_02
nv_03
nv_04
nv_05
nv_06
desmatamento *
dsf_nv_01
dsf_nv_02
dsf_nv_03
dsf_nv_04
dsf_nv_05
dsf_nv_06
nv_02
nv_03
nv_04
nv_05
nv_06
nv_07
nuvem ** (2004)
nv_01
A – aceita E – extensão_anterior
20
D - Distribui
Classif_final2004
21
2004 x Extensao2003 x Nuvens2003
22
Extensao2003
23
Nuvens2003
24
Nuvens2003
25
Nuvens2003 – simuladas
26
Classif_final2004 (com desmat simulado)
27
Nuvens2003- acoplada ao classif_final2004
28
Classif_2004_FIM - pós cruzamento
29
Resumo...
1
Classificacao2004_final
Classificacao2004_FIM
Extensao_2004
3
Extensao_2003
Extensao_2003
nuvens2004
nuvens_2003
nuvens2003
2
MASCARA
Dematamento_total
Hidrografia_total
Não_floresta_total
2005
30
4
Programas LEGAL -sequencia
1.
2.
3.
4.
31
CartatemaANO
NuvensANO
extensaoANO
mascaraANO
Legal 1_Cartatema2003 1/3
{
Tematico classif,saida ("cartatema");
Tematico nuvens ("nuvens");
Tematico extn ("extensao");
Declaração
classif = Recupere (Nome="classificacao_final2004");
nuvens = Recupere (Nome="nuvens2003");
extn = Recupere (Nome="extensao_2003");
saida = Novo (Nome = "classificacao_final2004_FIM", ResX = 60, ResY=60, Escala =120000);
saida = Atribua (CategoriaFim ="cartatema")
{
"hidrografia" : (extn.Classe=="hidrografia_total") ,
Instanciacão
Operações
"hidrografia" : (classif.Classe=="hidrografia"),
"nao_floresta" : (extn.Classe=="nao_floresta_total"),
"nao_floresta2" : (extn.Classe=="nao_floresta2_total") ,
"nao_floresta2" : (classif.Classe=="nao_floresta2") &&
((extn.Classe=="area_nao_sensoriada") || (extn.Classe=="floresta_total")),
"desmatamento_total" : (extn.Classe=="desmatamento_total"),
"problema": (classif.Classe=="nao_floresta") && (extn.Classe=="area_nao_sensoriada") ,
32
Legal 1_Cartatema2004 – 2/3
"floresta" : ((extn.Classe=="floresta_total") || (extn.Classe=="area_nao_sensoriada")) &&
((classif.Classe!="desmatamento") && ( classif.Classe!="nuvem")),
"dsf_nv_07" : (classif.Classe=="desmatamento") &&
(nuvens.Classe=="nv_07") &&
(extn.Classe!="desmatamento_total"),
"dsf_nv_06" : (classif.Classe=="desmatamento") &&
(nuvens.Classe=="nv_06") &&
(extn.Classe!="desmatamento_total"),
"dsf_nv_05" : (classif.Classe=="desmatamento") &&
(nuvens.Classe=="nv_05") &&
(extn.Classe!="desmatamento_total"),
"dsf_nv_04" : (classif.Classe=="desmatamento") &&
(nuvens.Classe=="nv_04") &&
(extn.Classe!="desmatamento_total"),
"dsf_nv_03" :
(classif.Classe=="desmatamento") &&
(nuvens.Classe=="nv_03") &&
(extn.Classe!="desmatamento_total"),
"dsf_nv_02" : (classif.Classe=="desmatamento") &&
(nuvens.Classe=="nv_02") &&
(extn.Classe!="desmatamento_total"),
33
"dsf_nv_01" : (classif.Classe=="desmatamento") &&
(nuvens.Classe=="nv_01") &&
(extn.Classe!="desmatamento_total"),
Legal 1_cartatema2004 – 3/3
"desmatamento" : (classif.Classe=="desmatamento") && (extn.Classe=="floresta_total"),
"nuvem" : (classif.Classe=="nuvem") &&
((extn.Classe=="floresta_total") || (extn.Classe=="area_nao_sensoriada"))
};
}
34
Cruzamento de nuvens 2004 x 2003
2_NUVEM_2004.alg
{
Tematico nuvemAcum, saida("nuvens");
Tematico classif (“Cartatema_NOVO");
classif = Recupere (Nome="classificacao_final2004_FIM");
nuvemAcum = Recupere (Nome="nuvens2003");
saida = Novo (Nome = "nuvens2004", ResX = 60, ResY=60, Escala =120000);
saida = Atribua (CategoriaFim ="nuvens")
{
35
}
"nv_08" : (classif.Classe =="nuvem") && (nuvemAcum.Classe=="nv_07"),
//04/03/02/01/00/(99/98)/97
"nv_07" : (classif.Classe =="nuvem") && (nuvemAcum.Classe=="nv_06"),
//04/03/02/01/00/(99/98)
"nv_06" : (classif.Classe =="nuvem") && (nuvemAcum.Classe=="nv_05"),
//04/03/02/01/00/(99/??)
"nv_05" : (classif.Classe =="nuvem") && (nuvemAcum.Classe=="nv_04"),
//04/03/02/01/00
"nv_04" : (classif.Classe =="nuvem") && (nuvemAcum.Classe=="nv_03"),
//04/03/02/01
"nv_03" : (classif.Classe =="nuvem") && (nuvemAcum.Classe=="nv_02"),
//04/03/02
“nv_02" : (classif.Classe =="nuvem") && (nuvemAcum.Classe==“nv_01"),
//04/03
"nv_01" : (classif.Classe =="nuvem")
};
//04
Em 2005: criar a classe nv_09 e inserir a linha
em vermelho gera nuvens2005
{
Tematico nuvemAcum, saida("nuvens");
Tematico classif (“Cartatema_NOVO");
classif = Recupere (Nome="classificacao_final2005_FIM");
nuvemAcum = Recupere (Nome="nuvens2004");
saida = Novo (Nome = "nuvens2005", ResX = 60, ResY=60, Escala =120000);
saida = Atribua (CategoriaFim ="nuvens")
{
"nv_09" : (classif.Classe =="nuvem") && (nuvemAcum.Classe=="nv_08"),
36
}
//05/04/03/02/01/00/(99/98)/97
"nv_08" : (classif.Classe =="nuvem") && (nuvemAcum.Classe=="nv_07"),
//05/04/03/02/01/00/(99/98)
"nv_07" : (classif.Classe =="nuvem") && (nuvemAcum.Classe=="nv_06"),
//05/04/03/02/01/00/(99/??)
"nv_06" : (classif.Classe =="nuvem") && (nuvemAcum.Classe=="nv_05"),
//05/04/03/02/01/00
"nv_05" : (classif.Classe =="nuvem") && (nuvemAcum.Classe=="nv_04"),
//05/04/03/02/01
"nv_04" : (classif.Classe =="nuvem") && (nuvemAcum.Classe=="nv_03"),
//05/04/03/02
"nv_03" : (classif.Classe =="nuvem") && (nuvemAcum.Classe=="nv_02"),
//05/04/03
“nv_02" : (classif.Classe =="nuvem") && (nuvemAcum.Classe==“nv_01"),
//05/04
"nv_01" : (classif.Classe =="nuvem")
};
//05
3_Padroniza-Extensao2004.alg
{
Tematico classif ("cartatema");
Tematico extensao, saida ("extensao");
Tematico nuvens ("nuvens");
classif = Recupere (Nome="classificacao_final2004_FIM");
nuvens = Recupere (Nome="nuvens2004");
extensao = Recupere (Nome="extensao_2003");
saida = Novo (Nome = "extensao_2004", ResX = 60, ResY=60, Escala = 120000);
saida = Atribua (CategoriaFim ="extensao")
{
"area_nao_sensoriada" : (classif.Classe==“nuvem"),
"desmatamento_total" : (classif.Classe=="desmatamento_total") ||
(extensao.Classe =="desmatamento_total") ||
(classif.Classe=="desmatamento") ||
(classif.Classe=="dsf_nv_01") ||
(classif.Classe=="dsf_nv_02") ||
(classif.Classe=="dsf_nv_05") ||
(classif.Classe=="dsf_nv_06"),
"hidrografia_total"
: (classif.Classe =="hidrografia") || (extensao.Classe=="hidrografia_total"),
"nao_floresta2_total" : (classif.Classe =="nao_floresta2") || (extensao.Classe=="nao_floresta2_ total”);
"nao_floresta_total" : (classif.Classe =="nao_floresta") || (extensao.Classe=="nao_floresta_total"),
37
"floresta_total"
};
}
: (classif.Classe =="floresta") || (extensao.Classe=="floresta_total")
4_Criar_Mascara2004.alg
{
Tematico extn ( "extensao" );
Tematico saiMasc ( "extensao" );
extn
= Recupere ( Nome = "extensao_2004");
saiMasc = Novo (Nome = "mascara_2004", ResX = 60, ResY=60, Escala = 120000);
saiMasc = Atribua ( CategoriaFim = "extensao" )
{
"mascara" : (extn.Classe == "nao_floresta_total") ||
(extn.Classe == "nao_floresta2_total") ||
(extn.Classe == "desmatamento_total") ||
(extn.Classe == "hidrografia_total")
};
}
38
Exemplo de Scripts em LEGAL
{
Tematico classif, RIOS, differ ("Cartatema_NOVO");
classif = Recupere (Nome = "classif_final2000");
RIOS = Recupere (Nome = "classif_final2000_Rios");
differ = Novo (Nome = "diff_classif2000_Rios", ResX = 60, ResY=60,
Escala =120000);
differ = RIOS == classif ? differ: RIOS;
}
diferenca.alg
{
Tematico classif, RIOS, differ (“$0");
classif = Recupere (Nome = “$1");
RIOS = Recupere (Nome = “$2");
differ = Novo (Nome = “$3“, ResX = 60, ResY=60, Escala =120000);
differ = RIOS == classif ? differ: RIOS;
}
39
diferenca_nam.alg
Cartatema_NOVO
Classif_final2000
Classif_final2000_Rios
diff_classif2000_Rios
$0
$1
$2
$3
Conclusões
Vantagens padronização/roteiro
 Diminui o número de classes criadas
40

Nome do mapa carrega o ANO em estudo.
Ex: classificacao_final2004, nuvens2003

Nome de classes/categorias mais genéricos Modelo de Dados do SPRING

Programas linguagem Legal – documentação
da metodologia - cruzamento
Resultados da Revisão/Padronização

Cenas usadas em 2004 – foram revisadas
118 cenas x (1997,2000,2001,2002,2003)

Classes de Desmatamento/Hidrografia/Não-Floresta
recuperadas

Metodologia garante que o Desmatamento é
computado uma única vez

2004 – usou os dados com o mesmo procedimento
Tabelas com cálculo de área geradas

entrada para o cálculo das
Taxas de Desmatamento 2004

41
? Depois 
42
Download

Revisão dos bancos de dados do PRODES 2003/2004 - INPE