Table Of ContentMIRELLA ANTUNES DE MAGALHˆES
ALGORITMO EFICIENTE PARA C`LCULO DE MAPAS DE
VISIBILIDADE EM TERRENOS ARMAZENADOS EM
MEM(cid:211)RIA EXTERNA
Disserta(cid:231)ªo apresentada (cid:224) Univer-
sidade Federal de Vi(cid:231)osa, como
parte das exigŒncias do Programa
de P(cid:243)s-Gradua(cid:231)ªo em CiŒncia da
Computa(cid:231)ªo, para obten(cid:231)ªo do t(cid:237)-
tulo de Magister Scientiae.
VI˙OSA
MINAS GERAIS - BRASIL
2009
MIRELLA ANTUNES DE MAGALHˆES
ALGORITMO EFICIENTE PARA C`LCULO DE MAPAS DE
VISIBILIDADE EM TERRENOS ARMAZENADOS EM
MEM(cid:211)RIA EXTERNA
Disserta(cid:231)ªo apresentada (cid:224) Universidade
Federal de Vi(cid:231)osa, como parte das exigŒn-
ciasdoProgramadeP(cid:243)s-Gradua(cid:231)ªoemCi-
Œncia da Computa(cid:231)ªo, para obten(cid:231)ªo do t(cid:237)-
tulo de Magister Scientiae.
Aprovada em 24 de abril de 2009
Vladimir Oliveira Di Iorio Carlos A. Alvares Soares Ribeiro
(Co-Orientador) (Co-Orientador)
AndrØ Gustavo dos Santos Clodoveu Augusto Davis Junior
Marcus Vin(cid:237)cius Alvim Andrade
(Orientador)
Agradecimentos
(cid:17)Nothing we achieve in this world is achieved alone. It is always achieved with others
teaching us along the way.(cid:17)
Lee J. Colan
Tenhomuitoorgulhodeescreveressesagradecimentos. OrgulhoessequeadvØm
da minha cren(cid:231)a de que sozinhos nªo chegamos muito longe, e poder agradecer me
faz lembrar que essa Ø mais uma vit(cid:243)ria que alcan(cid:231)o ao lado daqueles que amo.
Come(cid:231)o agradecendo a Deus por me prover dire(cid:231)ªo todos os momentos da
minha vida. PorØm o que mais devo a Ele Ø ter me proporcionado conviver com
pessoas maravilhosas para as quais continuo esses agradecimentos.
Agrade(cid:231)o aos meus pais, Jeder e Mariana, por serem meu alicerce e terem
me dado a oportunidade dessa conquista me ensinando o valor e a grati(cid:28)ca(cid:231)ªo do
conhecimento. Agrade(cid:231)o tambØm (cid:224) toda a minha fam(cid:237)lia - irmªos, mªes (Soninha e
Edilza), av(cid:243)s, tios, primos e amigos - que sempre me apoiaram, me enviaram boas
energias e comemoraram, de perto ou de longe, minhas vit(cid:243)rias.
Tenho muito a agradecer ao meu marido, Isaac. Nunca poderei esquecer de seu
incentivo inicial, quando ainda Øramos amigos, seus conselhos me ajudaram a estar
onde estou. TambØm nªo posso esquecer de seu carinho e compreensªo durante todo
o tempo dedicado ao mestrado, principalmente durante as noites, madrugadas e (cid:28)ns
de semana dedicados ao estudo.
Agrade(cid:231)o tambØm aos amigos e companheiros de trabalho da ATAN por terem
entendido a import(cid:226)ncia e grandiosidade desse momento.
Fa(cid:231)oumagradecimentoespecialaomeucompanheironesseprojeto, Salles, sem
ele certamente este trabalho nªo teria tido tamanha propor(cid:231)ªo.
Agrade(cid:231)otambØmespecialmenteaomeuorientadorProf. Marcus. Nªopoderia
deixar de demonstrar minha gratidªo a esse mestre que me acompanhou durante a
gradua(cid:231)ªo e acreditou mim para a realiza(cid:231)ªo do mestrado, mesmo eu nªo dedicando
tempo integral (cid:224) leitura de livros e artigos, ao desenvolvimento do trabalho e (cid:224) escrita
dessa disserta(cid:231)ªo. Com seu estilo de ensinar e pesquisar, ele me apontou a dire(cid:231)ªo
certa. A ele meu muito obrigada!
En(cid:28)m, agrade(cid:231)o(cid:224)umarecenteemaravilhosarealiza(cid:231)ªo: meubebŒ. Apresen(cid:231)a
dessa pedacinho de vida em meu ventre me deu energia e for(cid:231)a para a conclusªo
deste trabalho. Nesse momento, mais do que nunca, posso dizer que nªo obtive essa
conquista sozinha!
ii
˝ndice
˝ndice de Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
˝ndice de Figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
˝ndice de C(cid:243)digos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
Introdu(cid:231)ªo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Cap(cid:237)tulo 1 Referencial Te(cid:243)rico . . . . . . . . . . . . . . . . . . . . . . 7
1.1 Representa(cid:231)ªo de superf(cid:237)cies de terreno . . . . . . . . . . . . . . . . . . 7
1.2 Visibilidade em Terrenos . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.1 Estruturas de Visibilidade . . . . . . . . . . . . . . . . . . . . . 12
1.2.2 Determina(cid:231)ªo de Visibilidade . . . . . . . . . . . . . . . . . . . 14
1.3 Algoritmos e(cid:28)cientes em mem(cid:243)ria externa . . . . . . . . . . . . . . . . 17
1.3.1 Modelo e avalia(cid:231)ªo de algoritmos em mem(cid:243)ria externa . . . . . 17
1.3.2 Ambientes para projeto de algoritmos em mem(cid:243)ria externa . . . 19
Cap(cid:237)tulo 2 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . 23
2.1 Visibilidade em Terrenos . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2 Algoritmos em mem(cid:243)ria externa . . . . . . . . . . . . . . . . . . . . . . 29
Cap(cid:237)tulo 3 Algoritmo para CÆlculo do Viewshed em terrenos ar-
mazenados em mem(cid:243)ria externa . . . . . . . . . . . . . . . . . . . . 32
3.1 O mØtodo de Franklin e Ray . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2 Algoritmo em Mem(cid:243)ria Externa - EMVS . . . . . . . . . . . . . . . . . 35
3.2.1 Implementa(cid:231)ªo . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.2 Complexidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Cap(cid:237)tulo 4 Avalia(cid:231)ªo de E(cid:28)ciŒncia . . . . . . . . . . . . . . . . . . . . 55
4.1 O algoritmo de Haverkort et al. . . . . . . . . . . . . . . . . . . . . . . 55
4.2 Experimentos e avalia(cid:231)ªo de e(cid:28)ciŒncia . . . . . . . . . . . . . . . . . . 57
4.2.1 Resultados experimentais . . . . . . . . . . . . . . . . . . . . . 57
iii
4.2.2 Compara(cid:231)ªo com Franklin e Ray . . . . . . . . . . . . . . . . . 60
4.2.3 Compara(cid:231)ªo com Haverkort et al. . . . . . . . . . . . . . . . . . 64
Conclusıes Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
ApŒndice A O Algoritmo de Haverkort et al. . . . . . . . . . . . . . 71
ReferŒncias BibliogrÆ(cid:28)cas . . . . . . . . . . . . . . . . . . . . . . . . . . 75
iv
˝ndice de Tabelas
1 Tempo de execu(cid:231)ªo do algoritmo de Van Kreveld . . . . . . . . . . . . 3
3.1 Par(cid:226)metros de con(cid:28)gura(cid:231)ªo do stxxl::vector . . . . . . . . . . . . . . . . 42
3.2 EstratØgias de sinaliza(cid:231)ªo em discos paralelos suportadas pela STXXL . 44
3.3 EstratØgias de pagina(cid:231)ªo suportadas pela STXXL . . . . . . . . . . . . 44
3.4 Membros do tipo stxxl:vector usados pelo EMVS . . . . . . . . . . . . . 44
4.1 Tempo mØdio de execu(cid:231)ªo do EMVS (em segundos) utilizando 1 GB
e 256 MB em por(cid:231)ıes do terreno do Brasil com diferentes tamanhos
e diferentes posicionamentos do observador e variando a altura do ob-
servador acima do terreno (gerando viewshed com nœmero diferente de
pontos vis(cid:237)veis - mostrado na coluna # Pts Vis.). Em todos os casos,
o raio de interesse cobre todo o terreno. . . . . . . . . . . . . . . . . . . 59
4.2 Compara(cid:231)ªo do tempo de execu(cid:231)ªo do EMVS e do WRF_VS usando
1GB de RAM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
v
˝ndice de Figuras
1 Imagem do Rio Amazonas tirada por astronauta em agosto de 2008. . . 2
2 Imagem da Cratera da Serra da Cangalha localizada no Tocantins. . . . 2
1.1 Etapas do processo de desenvolvimento de um MDT . . . . . . . . . . . 8
1.2 Classes de modelos digitais de terreno: (a) TIN; (b) MDE; (c) Mapa
de Curvas de N(cid:237)vel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Interpola(cid:231)ªo bilinear . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4 Viewshed - Terreno do lago Champlain West - Divisa EUA-CanadÆ . . 12
1.5 q e q sªo horizontes locais, q Ø um horizonte global; k Ø o o(cid:27)set local
1 2 2 1
de s e h Ø seu o(cid:27)set global, o mesmo ocorre para s ; s nªo Ø vis(cid:237)vel
1 1 2 1
por p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.6 Visibilidade de pontos: p e p sªo vis(cid:237)veis a partir de p ; p e p nªo
1 4 0 2 3
sªo vis(cid:237)veis a partir de p . . . . . . . . . . . . . . . . . . . . . . . . . . 15
0
1.7 Rasteriza(cid:231)ªo de linha: cØlulas mais escuras sªo a representa(cid:231)ªo raster
da linha que passa por elas . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.8 Sistema de coordenadas esfØricas . . . . . . . . . . . . . . . . . . . . . 17
1.9 Visibilidade em TIN: ponto q nªo Ø vis(cid:237)vel por p devido a f e o ponto
1 1
q Ø vis(cid:237)vel por p. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2
1.10 Modelo de mem(cid:243)ria hierÆrquico t(cid:237)pico de sistemas uniprocessados, in-
cluindo registradores, cache de instru(cid:231)ıes, cache de dados, cache n(cid:237)vel
2 (L2), mem(cid:243)ria interna e discos . . . . . . . . . . . . . . . . . . . . . . 18
1.11 Estrutura da STXXL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1 Viewshed de p em uma TIN no plano xy e projetado em xz como o
plano de visªo de p. `reas escuras nªo sªo vis(cid:237)veis por p. Arestas
mais grossas marcam o horizonte no plano xy e as arestas superiores
no plano xz. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2 Lados mais distantes (linhas espessas) de uma regiªo alvo, e as linhas
de visada do observador p para uma das regiıes . . . . . . . . . . . . . 27
3.1 CÆlculo do viewshed: linhas de visada com suas respectivas rasteriza(cid:231)ıes 33
3.2 Pontos escuros mostram a rasteriza(cid:231)ªo das linhas apresentadas na Fi-
gura : (a) incrementando x e calculando y e (b) incrementando y e
calculando x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.3 CØlula interceptada por mais de uma LOS. CØlula c Ø intereceptada
pelas linhas 3 e 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
vi
3.4 Numera(cid:231)ªodaslinhasdevisadacomin(cid:237)cionoobservadorpemsentindo
anti-horÆrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.5 Linhas de visªo interceptando uma cØlula . . . . . . . . . . . . . . . . . 37
3.6 Proje(cid:231)ªo de LOS e cÆlculo dos (cid:237)ndices de uma cØlula . . . . . . . . . . 38
3.7 Esquema do stxxl::vector . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1 Algoritmo de varredura no plando de Van Kreveld: (a) Cada cØlula Ø
marcada com seus trŒs eventos; (b) CØlulas ativas . . . . . . . . . . . . 56
4.2 Imagem de satØlite do terreno usado para os testes: (a) visªo geral do
terreno e (b) separa(cid:231)ªo das regiıes de diferentes tamanhos . . . . . . . 60
4.3 O tempo de processamento interno e externo usando 256 MB e 1 GB
de RAM em terrenos de 311 MB. . . . . . . . . . . . . . . . . . . . . . 61
4.4 O tempo de processamento interno e externo usando 256 MB e 1 GB
de RAM em terrenos de 1122 MB. . . . . . . . . . . . . . . . . . . . . . 61
4.5 O tempo de processamento interno e externo usando 256 MB e 1 GB
de RAM em terrenos de 4264 MB. . . . . . . . . . . . . . . . . . . . . . 62
4.6 O tempo de processamento interno e externo usando 256 MB e 1 GB
de RAM em terrenos de 6103 MB. . . . . . . . . . . . . . . . . . . . . . 62
4.7 Terreno do Hava(cid:237) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.8 Terreno do lago Champlain West - Divisa EUA-CanadÆ . . . . . . . . . 64
4.9 Compara(cid:231)ªo do tempo de execu(cid:231)ªo do EMVS e do WRF_VS usando
1GB de RAM em terrenos de 1.45 GB e 2 GB. . . . . . . . . . . . . . . 66
4.10 Compara(cid:231)ªo do tempo de execu(cid:231)ªo do EMVS e do IO_VS usando 1
GB e 256 MB de RAM. . . . . . . . . . . . . . . . . . . . . . . . . . . 67
A.1 Varredura por distribui(cid:231)ªo. A matriz Ø dividida em M/B setores radi-
ais; cØlulas podem cruzar zero, um ou mais limites dos setores . . . . . 72
A.2 Segmentos correspondem a cØlulas (a) narrow e (b) wide . . . . . . . . 73
vii
˝ndice de C(cid:243)digos
3.1 Estruturas utilizadas na implementa(cid:231)ªo do EMVS . . . . . . . . . . . . 43
3.2 Prot(cid:243)tipo do mØtodo stxxl:sort . . . . . . . . . . . . . . . . . . . . . . . 44
3.3 Estruturas utilizadas para comparar elementos do tipo CelulaIndice e
ParOrdenado pelo mØtodo stxxl:sort . . . . . . . . . . . . . . . . . . . . . 45
3.4 Gera(cid:231)ªo da lista de varredura . . . . . . . . . . . . . . . . . . . . . . . 46
3.5 Determina(cid:231)ªo dos (cid:237)ndices de uma cØlula . . . . . . . . . . . . . . . . . 47
3.6 Determina(cid:231)ªo da cØlula da borda do quadrado de varredura que passa
por uma determinada LOS . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.7 Determina(cid:231)ªo da visibilidade da cØlula . . . . . . . . . . . . . . . . . . 49
3.8 Gera(cid:231)ªo da matriz de viewshed . . . . . . . . . . . . . . . . . . . . . . 51
viii
Resumo
MAGALHˆES, Mirella Antunes de, M.Sc., Universidade Federal de Vi(cid:231)osa, Abril
de 2009. Algoritmo e(cid:28)ciente para cÆlculo de mapas de visibilidade em
terrenos armazenados em mem(cid:243)ria externa. Orientador: Marcus Vin(cid:237)cius
Alvim Andrade. Co-Orientadores: Vladimir Oliveira Di Iorio e Carlos A. Alvares
Soares Ribeiro.
Com a maior disponibilidade de dados detalhados de terrenos, muitas aplica-
(cid:231)ıes precisam processar grandes Æreas geogrÆ(cid:28)cas em alta resolu(cid:231)ªo. Oprocessamento
massivo de dados envolvido em tais aplica(cid:231)ıes criou grandes desa(cid:28)os para os SIGs e
necessita de algoritmos otimizados tanto para processamento interno quanto para
transferŒncia de dados. Uma dessas aplica(cid:231)ıes Ø o cÆlculo de mapas de visibilidade ou
viewshed, que consiste em obter o conjunto de pontos vis(cid:237)veis a partir de um ponto p.
Nesse trabalho, n(cid:243)s apresentamos um estudo e como resultado um algoritmo e(cid:28)ciente
para calcular o viewshed em terrenos armazenados em mem(cid:243)ria externa. A comple-
xidade do algoritmo Ø uma fun(cid:231)ªo do nœmero de opera(cid:231)ıes de entrada e sa(cid:237)da gastas
para calcular a visibilidade e, como mostram os resultados, o algoritmo proposto
possui desempenho melhor que os algoritmos conhecidos descritos em literatura.
ix
Description:Capítulo 3 Algoritmo para Cálculo do Viewshed em terrenos ar- terna: orientação a acesso, orientação a vetor e orientação a frameworks (Vitter,.