A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas de Informações Geográficas Unidade 3.2: Estrutura de Dados Espaciais Prof. Cláudio Baptista 2003.1.

Apresentações semelhantes


Apresentação em tema: "Sistemas de Informações Geográficas Unidade 3.2: Estrutura de Dados Espaciais Prof. Cláudio Baptista 2003.1."— Transcrição da apresentação:

1 Sistemas de Informações Geográficas Unidade 3.2: Estrutura de Dados Espaciais Prof. Cláudio Baptista

2 3.2 Estrutura de Dados Espaciais §Necessidade de indexação dos dados espaciais de modo a reduzir o tempo de acesso aos mesmos §Métodos de indexação tradicionais não são indicados para dados espaciais l Hash: não atende a consultas de faixa (range queries) l B-Tree: trata apenas uma dimensão

3 3.2 Estrutura de Dados Espaciais §Operação comum com dados espaciais é a pesquisa de objetos que estão numa determinada área l Ex.: Encontre todos os hospitais que estão a no máximo 20Km deste ponto

4 3.2 Estrutura de Dados Espaciais §Algumas estruturas de dados propostas: l Grid l quad-trees l k-d-tree l r-tree

5 3.2.1 Quad trees §Acelera o acesso a dados num plano 2d §Técnica bastante simples §O espaço de busca é recursivamente decomposto em quadrantes até que o número de retângulos sobrepondo cada quadrante é menor do que a capacidade da página. §Os quadrantes são nomeados: Noroeste, Nordeste, Sudeste e Sudoeste

6 3.2.1 Quad trees §O índice é representado como uma árvore quaternária (cada nó interno tem 4 filhos, um por quadrante) §Cada folha é associada a uma página de disco §Cada retângulo aparece em todos os quadrantes folhas que o sobrepõem

7 3.2.1 Quad trees xya tz b c d R a [8,11,12,13] [3,4,7] d [9,10,13] b c d [1,2,5,6] [5,6,14] [2,3,6] [6] xy zt

8 3.2.1 Quad tree §Consulta de ponto (point query) é simples em quad tree. §Um único path (caminho) é percorrido da raiz até a folha §Em cada nível, é escolhido um dos quadrantes que contém o ponto da consulta

9 3.2.1 Quad trees xya tz b c d R a [8,11,12,13] [3,4,7] d [9,10,13] b c d [1,2,5,6] [5,6,14] [2,3,6] [6] xy zt P Exemplo de Consulta Ponto P

10 3.2.1 Quad trees §Inserção em quadtrees l um retângulo será inserido em cada quadrante folha que o sobrepõe l então todos os caminhos para as folhas que sobrepõem o retângulo a ser inserido são percorridos l a página P associada com cada folha é lida l Se P não está cheio, então insere o novo retângulo

11 3.2.1 Quad trees §Inserção em quadtrees (cont) l Se P estiver cheio, O quadrante deve ser dividido em quatro quadrantes e 3 novas páginas são alocadas l As entradas da página antiga mais a página nova são divididas nas quatro páginas l Uma entrada E é adicionada a toda página cujo quadrante intercepta E.MBR (Minimum Bounding Rectangle)

12 3.2.1 Quad trees xya tz b c d Inserção em Quadtree mn p q Como ficará a árvore após as inserções de 15 e 16?

13 3.2.2 k-d tree §Usada para representar pontos árvore kd particiona o espaço em células §é uma árvore de busca binária, reside em memória principal, de forma que os nós interiores em cada nível contêm valores referentes a um único eixo, X ou Y, alternadamente §as folhas apontam para páginas físicas §várias folhas podem apontar para a mesma página física

14 3.2.2 k-d tree o valor armazenado na raiz divide o espaço em dois subespaços através de uma reta perpendicular ao eixo dos X, digamos; o valor armazenado no filho à esquerda (ou direita) por sua vez divide o subespaço à esquerda (ou direita) em dois subespaços através de uma reta perpendicular ao eixo dos Y ; e assim por diante, alternando as dimensões.

15 3.2.2 K-D-Tree

16 A B C D Árvore para figura anterior

17 3.2.2 K-d Tree §Outro Exemplo §Sejam as cidades com coordenadas

18 3.2.2 K-d Tree Monteiro Campina Grande João Pessoa Natal Mossoró

19 3.2.2 K-d Tree §Inserção de Mossoró §Inserção de Natal Mossoró (19,45) Natal (40,50)

20 3.2.2 K-d Tree Monteiro Campina Grande João Pessoa Natal Mossoró

21 3.2.2 K-d Tree Monteiro Campina Grande João Pessoa Natal Mossoró

22 3.2.2 K-d Tree §Inserção de Campina Campina (38,38) Mossoró (19,45) Natal (40,50)

23 3.2.2 K-d Tree Monteiro Campina Grande João Pessoa Natal Mossoró

24 3.2.2 K-d Tree §Inserção de João Pessoa: Campina(38,38) Mossoró (19,45) Natal (40,50) JP(54,40)

25 3.2.2 K-d Tree Monteiro Campina Grande João Pessoa Natal Mossoró

26 3.2.2 K-d Tree §Inserção de Monteiro: Campina(38,38) Mossoró (19,45) Natal (40,50) JP(54,40) Monteiro(4,4)

27 3.2.2 K-d Tree Monteiro Campina Grande João Pessoa Natal Mossoró

28 3.2.3 R-Tree §É uma árvore similar a uma B+-tree, com índices para dados nas folhas §Nós correspondem à páginas de disco §A estrutura é projetada de forma que uma pesquisa espacial requer visitar um número pequeno de nós §Um BD espacial consiste de tuplas representando objetos espaciais, onde cada tupla possui um identificador

29 3.2.3 R-Tree § Nós folhas contêm entradas da forma: l (R, TId) l Onde: R contém o retângulo que encobre a área da tupla identificada por TId. l Este retângulo é conhecido por Minimum Bounding Box ou Minimum Bounding Rectangle l Ex.

30 3.2.3 R-Tree § Nós não-folhas contêm entradas da forma: l (R, Filho) l Onde R é o retângulo que envolve todos os retângulos dos descendentes deste nó e Filho é o endereço do nó filho

31 3.2.3 R-Tree § Definição: Sejam M e m o número máximo e mínimo de entradas de um nó respectivamente, tal que m <= M/2 l Uma R-tree satisfaz às seguintes propriedades: l P1. Cada nó contém entre M e m entradas, exceto a raiz l P2. Para cada nó folha (R, TId), R é o menor retângulo que espacialmente contém os objetos espaciais n-dimensionais representados pela tupla TId

32 3.2.3 R-Tree § Definição (cont) l P3. Para cada entrada (R, filho) num nó não folha, T é o menor retângulo que espacialmente contém os retângulos descendentes l P4. O nó raiz tem pelo menos dois filhos a menos que seja um nó folha l P5. Todas as folhas aparecem num mesmo nível

33 3.2.3 R-Tree

34

35 PointQuery (consulta ponto)

36

37 Inserção l A árvore é percorrida top-down, a partir da raiz. Em cada nível, verifica-se qual mbb contém o mbb do objeto a ser inserido e desce naquela sub-árvore l Caso não exista nenhum nó não folha que contenha o objeto a ser inserido, então um nó é escolhido para ter seu mbb estendido de forma a conter o objeto a ser inserido. O nó escolhido será aquele que precisa crescer menos seu mbb. l O processo é repetido até se encontrar um nó folha.

38 Inserção l Se o nó folha não estiver cheio, uma nova entrada [mbb, oid] é adicionada à página associada com a folha. Observação: se houver crescimento no mbb da folha, este deve se progagar para cima na árvore. l Se o nó folha f estiver cheio, uma divisão de nó ocorrerá: uma nova folha f é criada, e M+1 entradas são distribuidas entre f e f.

39 Inserção

40 l A função EscolherSubÁrvore(node, e) pega a entrada do node cujo node.mbb contém e.mbb ou precisa de menor crescimento l A função AjustarCaminho(node) propaga o crecimento do mbb para cima na árvore. Este processo pára quando não precisar mais fazer crescimento ou se alcançar a raiz. Esta função está descrita a seguir.

41 Inserção

42

43 §A função AjustarEntrada(pai, filho) compara pai.mbb e filho.mbb. Se for preciso o pai.mbb é estendido e a função retorna TRUE, caso contrário retorna FALSE

44 3.2.3 R-Tree §Divisão de Nó l Para adicionar uma nova entrada a um nó cheio é necessário dividir as entradas em dois nós l A divisão deve ser feita de modo que seja improvável que ambos nós sejam examinados em pesquisas subsequentes l Uma vez que a decisão de visitar um nó depende se seu retângulo sobrepõe a área sendo pesquisada, a área total dos dois retângulos deve ser minimizada

45 3.2.3 R-Tree Veja que a área do Bad Split é muito maior do que a área de Good Split

46 Remoção §A remoção é feita em 3 passos: l Encontrar o nodo folha F que contém a entrada e l Remover e de F l Reorganizar a árvore se houver underflow. l Obs.: Uma abordagem simples na reorganização é remover o nodo inteiro e re- inserir as m-1 entradas restantes.

47 Remoção

48


Carregar ppt "Sistemas de Informações Geográficas Unidade 3.2: Estrutura de Dados Espaciais Prof. Cláudio Baptista 2003.1."

Apresentações semelhantes


Anúncios Google