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) 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: