Modelagem din - PowerPoint PPT Presentation

About This Presentation
Title:

Modelagem din

Description:

Title: Slide 1 Last modified by: Tiago Document presentation format: On-screen Show (4:3) Other titles: Arial Lucida Sans Unicode Times New Roman ZapfHumnst BT ... – PowerPoint PPT presentation

Number of Views:68
Avg rating:3.0/5.0
Slides: 57
Provided by: inp71
Category:
Tags: din | modelagem

less

Transcript and Presenter's Notes

Title: Modelagem din


1
Modelagem dinâmica espacialmente-explicíta em
TerraME
  • Dr. Tiago Garcia de Senna Carneiro
  • TerraLAB - Laboratório INPE/UFOP para Simulação
    e Modelagem dos Sistemas Terrestres
  • Fevereiro de 2010

2
Introdução ao TerraME
  • modelos dinâmicos espacialmente-explicito

3
Ambiente de Modelagem TerraME
4
TerraME Arquitetura de Software
RondôniaModel
dynamicaModel
RICKSModel
CLUEModel
TerraML Language
TerraMLCompiler
TerraML Virtual Machine
TerraLib
5
Integração com SIG
6
Plugin FillCell para TerraView 3.2.0
  • aquisição de dados

7
Motivação homogenização de dados em formatos
distintos
8
Instale o plugin FillCelle crie Espaços
Celulares Regulares
  • Instalação do plugin FillCell copie o arquivo
    celulas.dll para o diretorio c\Arquivos de
    Programas\TerraView3.2.0\plugins.
  • Crie a grade de células na resolução desejada

9
Preencha os atributos das células
  • Escolha os dados de entrada
  • Escolha o dado de saída

10
Estratégias de preenchimento disponiveis no
plugin FillCell
11
PRATICA Criando Espaço Celulares Regulares em
TerraView 3.2.0
  • Parque Nacional das Emas, GO, Brasil

12
Aquisição dados emTerraView 3.2.0
  • Crie o banco de dados bdEmas
  • Importe os dados contidos no diretório Dados
    Geograficos, usando o sistema de coordenadas UTM
    para a zona 22 e datum SAD69
  • Shape files Limite_pol.shp, Aceiros_lin.shp,
    Drenagem_lin.shp
  • Imagens GeoTIFF Nov94-Mai00.tif
  • Crie uma vista chamada dados entrada
  • Nesta vista crie um tema para cada plano de
    informação importado.

drenagem
acumulo
limite
aceiro




13
Crie Espaço Celulares Regulares em TerraView 3.2.0
  • Crie um espaço celular regular de resolução igual
    a 1000 x 1000.
  • Crie um tema para o espaço celular recém criado.
  • Preencha os atributos das células usando o
    plugin fillCell.
  • rio a partir de drenagem ? estratégia presença
  • aceiro a partir de aceiros ? estratégia presença
  • acumlo a partir de imagem classificada ?
    estratégia classe majoritária, default 0
  • Crie o atributo foco 0 ?inerte, 1? queimando
  • Gere uma legenda usando o atributo acumulo e o
    operador valor único

14
O Espaço Geográfico em TerraME
15
Espaços Celulares Irregulares
Espaços Celulares Irregulares (1) células
quadradas de 25 X 25 km2 (2) Cada polígono
representando um estado brasileiro é uma célula
(3) Cada rodovia é uma célula
16
Motivação Modelagem Multi-escala
  • Desvantagens dos Espaços Celulares Regulares
  • Escolha de uma resolução
  • Efeitos de borda
  • Agregação de atributos as células, dependendo da
    resolução
  • Falta de abstração para representar objetos em
    movimento ou redes geográficas.

17
Multi-escala um estudo de caso
  • O uso de múltiplas representações computacionais
    do espaço para o desenvolvimento de um modelo de
    desflorestamento da Amazônia Brasileira em
    multiplas escalas.
  • Banco de dados amazônia.mdb contém
  • Plano de informação 1 Estados brasileiros que
    compõem a Amazônia Legal (polígonos)?
  • Plano de informação 2 Rodovias brasileiras
    (linhas)?
  • Plano de informação 3 uma grade esparsa de
    células (células quadradas de 25x25m2)?

18
Multi-escala um estudo de caso
  • 2 Submodelos (2 escalas diferentes)
  • Modelo de demanda ? controla a quantidade de
    mudanças (questão Quanto?). Utiliza 2 espaços
    celulares
  • Estados brasileiros que compõem a Amazônia Legal
  • Rodovias brasileiras que estão localizadas nos
    estados da Amazônia Legal
  • Modelo de alocação ? determina onde ocorrerão as
    mudanças (questão Onde?).
  • Utiliza o espaço celular composto por uma grade
    esparsa de células.

19
Multi-escala um estudo de caso
  • Resultados do modelo de desflorestamento.

20
Multi-escala um estudo de caso
  • Resultados do modelo de pavimentação

21
Carregamento de dados em TerraME
  • -- Loads the TerraLib cellular space
  • csAmazonia CellularSpace
  • database "Amazonia",
  • theme "cells",
  • csAmazoniaload()
  • csAmazonialoadNeighbourhood(GPM_Amazônia")

22
Como declarar espaços celulares persistentes
  • myCellSpace CellularSpace
  • dbType "MySQL",
  • host "localhost",
  • database "CabecaDeBoi ",
  • user "",
  • password "",
  • layer "cells90x90",
  • theme "cells",
  • select height", capInf" ,
  • where "mask ltgt noData

23
Como criar espaços celulares voláteis
  • myCellSpace CellularSpace database "", theme
    "
  • for i 1, 2, 1 do
  • for j 1, 2, 1 do
  • c Cell soilType latosolo
  • c.x i
  • c.y j
  • myCellSpace add( c )
  • end
  • end

24
Gerenciamento do Banco de Dados Geográfico
  • -- Load cellular space from TerraLib database
  • myCellSpaceload()
  • -- Save cellular spaces to TerraLib database
  • myCellSpacesave( time, themeName", cover,
    soilType)
  • -- or
  • myCellSpacesave( time, themeName", )

25
Referenciando células
  • -- c is the seventh cell in the cellular space
  • c myCellSpace.cells 7
  • -- updating the attribute infcap from the
    seventh
  • -- cell
  • c.infcap 0
  • myCellSpace.cells7.infCap 0

26
Acessando os atributos das células
  • -- regra para regenerar a floresta
  • if( cell.cover "abandoned" and cell.latency gt
    10 ) then
  • cell.cover "secFor"
  • end
  • -- regra para simular a chuva
  • -- LEIA NO PASSADO e ESCREVA NO PRESENTE
  • cell.water cell.past.water 2
  • A cell value has two special attributes latency
    and past.
  • The latency attribute registers the period of
    time since the last change in a cell attribute
    value.
  • The past attribute is a copy of all cell
    attribute values in the instant of the last
    change.

27
Como percorrer um espaço celular
  • -- regra para simular a chuva em uma região
  • ForEachCell(
  • myCellSpace,
  • function(i,cell)
  • cell.soilWater cell.past.soilWater 2
  • return true
  • end
  • )
  • ForEachCell(cs, function(i, cell)...end)

28
Trajetórias das mudanças imprimindo padrões
espaciais
  • Iteradores Espaciais são funções definidas pelo
    modelador que mapeiam indices (atributos) dos
    objetos geográficos em referências a eles.

it Trajectory myCellSpace, function(cell)
return cell.cover "forest" end, function(
c1, c2 ) return c1.dist_roads lt
c2.dist_roads end
it Trajectory myCellSpace, function(cell)
return cell.cover "forest" end, function(
c1, c2 ) return c1.dist_urban lt
c2.dist_urban end
29
Como percorrer um espaço celular
  • -- regra para simular a chuva em uma subregião
  • ForEachCell(
  • myTrajectory,
  • function(i,cell)
  • cell.soilWater cell.past.soilWater 2
  • return true
  • end
  • )
  • ForEachCell( myTrajectory, function(i,
    cell)...end)

myTrajectory Trajectory myCellSpace, functi
on(cell) return cell.estado
Pará end, function( c1, c2 ) return
(c1.altimetria) lt (c2.altimetria) end
30
Demo 3 Desflorestamento na Amazônia
  • Banco de dados c\\TerraME\\Database\\amazonia.md
    b
  • Modelo c\\TerraME\\Modelos\\demo3_desflorestamen
    to_save.lua

31
Vizinhança em Espaços Celulares
Von Neumann Neighborhood
Moore Neighborhood
32
Distâncias no Espaço Próximo
Which objects are NEAR each other?
33
Quais objetos são mais proximos?
Which objects are NEAR each other?
34
Using Generalized Proximity Matrices (GPM)
Consolidated area
Emergent area
35
Vizinanças TerraME são redes (grafos ponderados)
Euclidean space
Open network
Closed network
Aguiar et al., 2003
36
Crie ou carregue vizinhaças
  • -- Create a Moore neighborhood
  • CreateMooreNeighborhood( myCellSpace, neighName
    )
  • -- Create a 3x3 neighborhood
  • Create3x3Neighborhood(myCellSpace, filterF() ,
    weightF(), name )
  • -- Create a MxN neighborhood
  • CreateMxNNeighborhood( M, N, myCellSpace,filterF()
    , weightF(), name )
  • -- Load neighborhood from TerraLib database
  • myCellSpace loadTerraLibGPM(myGPM")
  • -- Load neighborhood from TerraLib GAL files
  • myCellSpaceloadGALNeighborhood("c\\myNeigh.gal")

37
Crie vizinhaças entre espaços celulares
  • SpatialCouppling( M, N, cs1,cs2, filterF,
    weightF, name )
  • filterF(cell, neigh) ? Boolean
  • wheighF(cell, neigh) ? Real

38
Exemplo vizinhança para simular drenagem da água
da chuva
  • -- Creates a 3x3 Neighborhood based on the cell
    "slope"
  • -- only lower neighbors are considered
  • -- Creates a 3x3 Neighborhood based on the cell
    "slope"
  • Create3x3Neighborhood(
  • csQ,
  • function(cell,neigh)
  • return neigh.altimetria lt cell.altimetria
  • end,
  • function(cell, neigh)
  • return (cell.altimetria - neigh.altimetria)/
  • (cell.altimetria neigh.altimetria)
  • end,
  • "slope"
  • )

39
Como percorrer uma vizinhança
  • ForEachNeighbor(
  • myCell,
  • function( cell, neigh, weight)
  • print( weight )
  • return true
  • end,
  • myNeigh
  • )
  • ForEachNeighbor(cell, function(), index)

40
Como percorrer vizinhanças do espaço
  • ForEachCell(
  • myCellSpace,
  • function(i, cell)
  • ForEachNeighbor(
  • cell,
  • function( cell, neigh, weight )
  • -- insert the code
  • end,
  • índex
  • )
  • end
  • )

41
Gravando espaços celulares regulares de TerraLib
como imagens
  • -- atributo utilizado para gerar a figura
  • attr_name "estado"
  • -- valores que o atributo pode assumir
  • attr_value 0,1,2
  • -- paleta de cores
  • attr_color 0,255,0,255,0,0,0,0,0
  • -- diretorio onde as imagens serao salvas
  • path "c\\TerraME\\Results
  • -- tamanho da celula na imagem (em pixels)
  • cellSize 2
  • .........................
  • -- carrega o espaco celular do banco de dados
    TerraLib
  • myCellSpace LoadCellularSpace("ADO","localhost",
    "c\\db_teoria.mdb, layerName",themeName","Co
    l","Lin","estado")
  • .........................
  • for t 1, 100 do
  • .............
  • CStoPNG(myCellSpace ,attr_name,t,path,cellSize,at
    tr_value,attr_color)
  • end

42
Demo 5 Propagação de Fogo
  • Banco de dados c\\TerraME\\Database\\db_teoria.m
    db
  • Modelo c\\TerraME\\Modelos\\demo5_SimpleFireSpre
    adModel.lua.lua

CA 1 CA 2 CA 3 CA 4 CA 5
CA 1 0.100 0.250 0.261 0.273 0.285
CA 2 0.113 0.253 0.264 0.276 0.288
CA 3 0.116 0.256 0.267 0.279 0.291
CA 4 0.119 0.259 0.270 0.282 0.294
CA 5 0.122 0.262 0.273 0.285 0.297
-- estado do celula inerte 0 queimando
1 queimado 2
43
Demo 6 Propagação de Fogo
  • Banco de dados c\\TerraME\\Database\\db_emas.mdb
  • Modelo c\\TerraME\\Modelos\\demo6_FireSpreadMode
    l.lua

CA 1 CA 2 CA 3 CA 4 CA 5
CA 1 0.100 0.250 0.261 0.273 0.285
CA 2 0.113 0.253 0.264 0.276 0.288
CA 3 0.116 0.256 0.267 0.279 0.291
CA 4 0.119 0.259 0.270 0.282 0.294
CA 5 0.122 0.262 0.273 0.285 0.297
44
Neighborhood based rules Time
Ver demo18 antes e seus resultados
Rule if ( all neighbors 1 ) then 0
General rule form cell.soilWater cell.
soilWater 2
cell.soilWater cell.past.soilWater 2
one copy of the cellular space
OK
OK
past
2º step
1º step
present
45
Runtime Rule Activity
Ver demo18 antes
rule
count 0
ForEachCell(myCellSpace, function(cell) end)
if ( cell.past.cover forest ) then
cell.cover deforested count count 1
end
?
myCellSpacesynchronize( )
print(Number of deforested cells .. count)
46
Time Synchronization Schemes
Ver demo 20 antes
Sequential Processes rules1() synchronise() rul
es2() synchronise()
Parallel Processes rules1() rules2() synchronis
e()
47
Nested-CA Model of Computation
Agent or Automaton
Space function is non-homogeneous
48
TerraME automata
49
TerraME Synchronization Schemes
50
Demo 4 e 7 Rain Drenage Model
  • Banco de dados c\\TerraME\\Database\\CabecadeBoi
    .mdb
  • Modelo c\\TerraME\\Modelos\\demo4_chuva_geoBD.lu
    a
  • Modelo c\\TerraME\\Modelos\\demo7_chuva_geoBD.lu
    a

51
O tempo em TerraME
  • escalonadores de evento discreto

52
Relógios são escalonadores de eventos discretos
(DEVS)
53
Timers, Events and Messages
Event time 1985, period 1, priority -1
clock Timer Pair Event ... , Message
... , Pair Event ... , Message ...
, ... Pair Event ... , Message ...
  • Message
  • function( event )
  • print( eventgetTime() )
  • rainexecute( event )
  • print("Rained")
  • return false
  • end

54
Demo 8 Multiplas Resoluções Temporais
  • clock Timer
  • Pair
  • Event time 0, period 1 ,
  • Message function(event) print(eventgetTime(),
    "SOL") end
  • ,
  • Pair
  • Event time 2, period 0.5 ,
  • Message function(event) print(eventgetTime(),
    "CHUVA") end
  • ,
  • Pair
  • Event time 0, period 2 ,
  • Message function(event) print(eventgetTime(),
    "DESMATAMENTO") end
  • clockexecute(10)

55
Demos em TerraME
  • Explicit space representation demos 14 to 16
  • Geographic database integration demos 17 to 20

56
Obrigado
  • Perguntas?
  • Mais informações em
  • www.terralab.ufop.br
  • www.terrame.org
Write a Comment
User Comments (0)
About PowerShow.com