dados espaciais Árvores r§ão-arvore_r.pdf · Árvore-r - inserção uma árvore-r não é única...

83
Estrutura de Dados II Jairo Francisco de Souza (baseado no material do Prof Leonardo Guerreiro/UNIRIO) Dados espaciais Árvores R

Upload: others

Post on 17-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Estrutura de Dados II

Jairo Francisco de Souza(baseado no material do Prof Leonardo Guerreiro/UNIRIO)

Dados espaciaisÁrvores R

Page 2: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Dados espaciais

Dados espaciais são dados que representam o espaço Exemplos:

2

Ponto Linha

Polígono Polilinha

Page 3: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Objetos espaciais

Objetos espaciais são objetos que descrevem localizações ou formas geométricas Exemplo: localização de um hidrante ou um poço, estradas, rios,

redes de esgotos, florestas, parques, municípios, lagos.

Os 3 tipos básicos de objetos espaciais são: Ponto, Linha e Polígono

Duas visões: Objetos no espaço Espaço em si

3

Page 4: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Cidade: Bom Jardim,População: 30.000,Localização:

Objetos no espaço

Dados espaciais geralmente são acompanhados por dados não espaciais

4

Rua: Av. Pasteur, número 380, rota:

Cidade: Berlin, População: 3.000.000Área da cidade:

Rio: Reno,Rota:

Bacia: Amazonas,Leitos dos rios:

Page 5: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Espaço

Alguma afirmação sobre cada ponto no espaço Uso da terra (mapas temáticos) Partições em cidades, estado e municípios,....

5

Page 6: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Modelagem

Devemos considerar:1. Modelagem de um único objeto2. Modelagem de coleções de objetos relacionadas espacialmente

6

Page 7: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Modelagem

Modelagem de um único objeto: Ponto

Ex: cidade Aspecto geométrico de um objeto para o qual apenas a sua localização é

relevante, e não sua extensão

Linha (polilinha) Ex: rio, cabo, estrada Movimento no espaço e conexões no espaço são relevantes

Polígono (região) Ex: floresta, lago, cidade Abstração de um objeto

com extensão é relevante

7

Page 8: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Modelagem

Modelagem de coleções de objetos relacionadas espacialmente: Partição:

Uso do solo, distritos, mapa de propriedade

Rede conectada espacialmente (grafo) Autoestradas, estradas, ferrovias, transporte público, rios, mapa de redes elétricas,

mapa de redes de telefone

8

Page 9: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Operações

9

Page 10: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Operações

10

Page 11: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Operações

11

Page 12: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Operações

12

Page 13: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Operações

13

Page 14: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Operações espaciais

14

Operações espaciais podem ser resolvidas com operadores relacionais?

Page 15: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Operações espaciais

É simples verificar a interseção entre bacia do amazonas e os municípios do Brasil?

15

Como você faria o testeComo você faria o teste ??

Page 16: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Operações espaciais

16

P1 P2

P2P1

Polígono 1 tem interseção com

polígono 2!

Polígono 1 não tem interseção

com polígono 2!

Page 17: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Operações espaciais

17

P1 P2

P2P1

??

- Como fazer o teste de interseção?- E se os polígonos tivessem milhões de pontos?- Como fazer o teste de interseção mais rapidamente?

Page 18: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Operações espaciais

Reduzindo a complexidade dos objetos Fazendo testes mais simples primeiro

18

Minimum bounding Rectangle (MBR)ouMenor Retângulo Envolvente (MBE)

Page 19: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

P1 P2

Operações espaciais

19

Comparando-se MBR podemos dizer que P1 e P2 têm interseção?

Page 20: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

P1 P2

Operações espaciais

20

Se MBRs têm interseção, em geral, não se pode inferir que objetos têm interseção.

Após o teste de MBR, é necessário testar os objetos reais.

Passo mais custoso. $$$$$$$$

Page 21: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

P1 P2

Operações espaciais

21

De outra forma, se objetos não têm interseção, então seus MBRs não têm intersecção.

Logo, não é necessário testar os objetos reais.

Page 22: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Operações espaciais

22

??Como comparar Como comparar muitos objetos de muitos objetos de forma eficienteforma eficiente

Uso de Uso de índicesíndices

Page 23: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

ÁRVORES R(R-Trees)

Page 24: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Árvore-R

Proposta por Guttman em 1984 A. Guttman, R-trees: a dynamic index structure for spatial

searching, Proceedings of the SIGMOD Conference, Boston, June, 1984, pp. 47-57.

Estrutura de dados hierárquica derivada da árvore B (Comer, 1979)

Entradas dos nós correspondem à retângulos em d-dimensão

Page 25: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Árvore-RCada entrada de nó folha:-Ponteiro para objeto real; e- MBR do objeto

Page 26: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Árvore-RCada entrada de nó folha:-Ponteiro para objeto real; e- MBR do objeto

retângulo: (x1,y1), (x2, y2)p*: aponta para polígono

(x1,y1)

(x2, y2)

Page 27: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Árvore-RCada entrada de nó interno:-Ponteiro para filho; e- MBR que engloba todas as entradas do nó filho

Page 28: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Árvore-RCada entrada de nó interno:-Ponteiro para filho; e- MBR que engloba todas as entradas do nó filho

retângulo: (x1,y1), (x2, y2)p*: aponta para nó filho

(x1,y1)

(x2, y2)

Page 29: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Árvore-R

Frequentemente, nós correspondem à páginas do disco Parâmetros definindo o número mínimo e máximo de nós se

aplicam São escolhidos a fim do menor número de nós sejam visitados

durante durante a busca.

Importante: Diferentemente da árvore B, entradas de nós diferentes podem ter

sobreposição Ou seja, retângulos das entradas podem ter sobreposição

Page 30: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Exemplo de sobreposição

Page 31: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Exemplo de sobreposição

A consulta espacial pode requerer que vários nós sejam visitados antes de garantir a presença ou ausência de um retângulo em particular.

Page 32: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Árvore-R

Regras semelhantes às da árvore-B Todos os nós folha aparecem no mesmo nível Cada entrada de um nó folha corresponde à tupla (R, O)

O é um ponteiro para o objeto real R é o menor retângulo que espacialmente contém o objeto apontado por O

Cada entrada de um nó interno corresponde à tupla (R, P) P é um ponteiro para um filho R é o menor retângulo que espacialmente contém os retângulos no filho

apontado por P.

Uma árvore-R de ordem (m, M) é tal que Cada nó contém entre m ≤ Ceiling[M/2] e M entradas, com exceção da raiz A raiz tem pelo menos 2 entradas, ao menos que ela seja nó folha

Page 33: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Árvore-R - Inserção

Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e

possivelmente removidos)

Algoritmo para inserção de um nó é análogo ao algoritmo de inserção em árvore B Novos retângulos são adicionados a nós folha O nó folha apropriado é determinado pela

Navegação na árvore iniciando no nó raiz A cada passo escolhe-se a subárvore cujo retângulo correspondente terá o

menor acréscimo de área possível Se ao inserir o nó ocorrer overflow, então executar split

M+1 registros devem ser distribuídos entre dois nós Split pode propagar até a raiz

Page 34: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Exemplo (M=3 e m=2)

A

E 3

B

1 C

D

F

Page 35: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Exemplo (M=3 e m=2)

B

C

D

F

Page 36: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Exemplo (M=3 e m=2)

B DE 3

R1 R2

R1

R2

B

C

A 1

R3D

F

C F

R4

R3 R4

R5 R6

R5

R6

Page 37: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir A

A

Page 38: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir 1

A 1

Page 39: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir E

A 1 E

Page 40: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir 3

A 1 E

Overflow!

Page 41: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir 3

A 1

Overflow!

Dividir as entradas em dois nós.

Considerar na divisão as entradas cujo MBR envolvente das mesmas tenha a menor área.

E 3

Page 42: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir 3

A 1 E 3

Overflow!

Dividir as entradas em dois nós.

Considerar na divisão as entradas cujo MBR envolvente das mesmas tenha a menor área.

Criar novo nó raiz com 2 entradas, contendo MBR para os nós folha.

Page 43: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir 3

A 1 E 3

Overflow!

Dividir as entradas em dois nós.

Considerar na divisão as entradas cujo MBR envolvente das mesmas tenha a menor área.Criar novo nó raiz com 2 entradas, contendo MBR para os nós folha.

R1

R1

Page 44: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir 3

A 1 E 3

Overflow!

Dividir as entradas em dois nós.

Considerar na divisão as entradas cujo MBR envolvente das mesmas tenha a menor área.Criar novo nó raiz com 2 entradas, contendo MBR para os nós folha.

R1 R2

R1

R2

Page 45: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir B

A 1 E 3

R1 R2

BR1

R2

Page 46: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir B

A 1 E 3

R1 R2

R1B Em qual nó folha B deve ser inserido?

Nó 1 ou Nó 2?

Nó 1 Nó 2

R2

Page 47: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir B

A 1 E 3

R1 R2

R1B Em qual nó folha B deve ser inserido?

Nó 1 ou Nó 2?

Escolher o nó que cujo MBR das entradas tem o menor acréscimo de área Nó 1

Nó 1 Nó 2

R2

Page 48: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir B

A 1 B E 3

R1 R2

R1 B Em qual nó folha B deve ser inserido?Nó 1 ou Nó 2?

Escolher o nó que cujo MBR das entradas tem o menor acréscimo de área Nó 1

Nó 1 Nó 2

R2

Page 49: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir C

A 1 B E 3

R1 R2

R1 B

Nó 1 Nó 2

C

Em qual nó folha C deve ser inserido?Nó 1 ou Nó 2?

R2

Page 50: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir C

A 1 B E 3

R1 R2

R1 B

Nó 1 Nó 2

C

Em qual nó folha C deve ser inserido?Nó 1 ou Nó 2?

O aumento de área de R1 ao inserir C no Nó 1 é menor do que o aumento de área de R2 ao inserir C no Nó 2.

R2

Page 51: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir C

A 1 B E 3

R1 R2

R1 B

Nó 1 Nó 2

C

Em qual nó folha C deve ser inserido?Nó 1 ou Nó 2?

O aumento de área de R1 ao inserir C no Nó 1 é menor do que o aumento de área de R2 ao inserir C no Nó 2.

Overflow!

C

R2

Page 52: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir C

A 1 B E 3

R1 R2

R1 B

Nó 1 Nó 2

C

Em qual nó folha C deve ser inserido?Nó 1 ou Nó 2?

O aumento de área de R1 ao inserir C no Nó 1 é menor do que o aumento de área de R2 ao inserir C no Nó 2.

Overflow! qual é a melhor forma de distribuir entradas A1BC?

C

R2

Page 53: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir C

A 1 B E 3

R1 R2

R1 B

Nó 1 Nó 2

C

Em qual nó folha C deve ser inserido?Nó 1 ou Nó 2?

O aumento de área de R1 ao inserir C no Nó 1 é menor do que o aumento de área de R2 ao inserir C no Nó 2.

Overflow! qual é a melhor forma de distribuir entradas A1BC?

Resp.: A1 e BC

C

R2

Page 54: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir C

B C E 3

R1 R2

R1 B

C

A 1

Nó com entradas A1 R1 ser atualizado

R2

Page 55: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir C

B CE 3

R1 R2 R3

R1 B

C

A 1

Nó com entradas A1 R1 ser atualizadoNó com entradas BC incluir nova entrada na folha (R3)

R3

R2

Page 56: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir D

B CE 3

R1 R2 R3

R1 B

C

A 1

Em qual nó folha D deve ser inserido?Nó 1 ou Nó 2 ou Nó 3?R3

D

Nó 1 Nó 2 Nó 3

R2

Page 57: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir D

B CE 3

R1 R2 R3

R1 B

C

A 1

Em qual nó folha D deve ser inserido?Nó 1 ou Nó 2 ou Nó 3?

R3 terá o menor acréscimo de área

R3D

Nó 1 Nó 2 Nó 3

R2

Page 58: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir D

B C DE 3

R1 R2 R3

R1 B

C

A 1

Em qual nó folha D deve ser inserido?Nó 1 ou Nó 2 ou Nó 3?

R3 terá o menor acréscimo de área

R3D

Nó 1 Nó 2 Nó 3

R2

Page 59: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir F

B C DE 3

R1 R2 R3

R1 B

C

A 1

Em qual nó folha F deve ser inserido?Nó 1 ou Nó 2 ou Nó 3?R3

D

Nó 1 Nó 2 Nó 3

F

R2

Page 60: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir F

B C DE 3

R1 R2 R3

R1 B

C

A 1

Em qual nó folha F deve ser inserido?Nó 1 ou Nó 2 ou Nó 3?

R3 terá o menor acréscimo de área.

R3D

Nó 1 Nó 2 Nó 3

F

R2

Page 61: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir F

B C DE 3

R1 R2 R3

R1 B

C

A 1

Em qual nó folha F deve ser inserido?Nó 1 ou Nó 2 ou Nó 3?

R3 terá o menor acréscimo de área.

Overflow!

R3D

Nó 1 Nó 2 Nó 3

F

F

R2

Page 62: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir F

B C DE 3

R1 R2 R3

R1 B

C

A 1

Em qual nó folha F deve ser inserido?Nó 1 ou Nó 2 ou Nó 3?

R3 terá o menor acréscimo de área.

Overflow! Qual é a melhor distribuição para BCDF?

R3D

Nó 1 Nó 2 Nó 3

F

Nó 4

F

R2

Page 63: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir F

B C DE 3

R1 R2 R3

R1 B

C

A 1

Em qual nó folha F deve ser inserido?Nó 1 ou Nó 2 ou Nó 3?

R3 terá o menor acréscimo de área.

Overflow! Qual é a melhor distribuição para BCDF?Resp.: BD e CF

R3D

Nó 1 Nó 2 Nó 3

F

Nó 4

F

R2

Page 64: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir F

B DE 3

R1 R2 R3

R1 B

C

A 1

Em qual nó folha F deve ser inserido?Nó 1 ou Nó 2 ou Nó 3?

R3 terá o menor acréscimo de área.

Overflow! Qual é a melhor distribuição para BCDF?Resp.: BD e CF

R3D

Nó 1 Nó 2 Nó 3

F

C F

Nó 4

R2

Page 65: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir F

B DE 3

R1 R2 R3

R1 B

C

A 1

Em qual nó folha F deve ser inserido?Nó 1 ou Nó 2 ou Nó 3?

R3 terá o menor acréscimo de área.

Overflow! Qual é a melhor distribuição para BCDF?Resp.: BD e CFAtualizar R3 e incluir nova entrada na raiz.

R3D

Nó 1 Nó 2 Nó 3

F

C F

Nó 4

R4

R2

Page 66: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir F

B DE 3

R1 R2 R3

R1 B

C

A 1

Em qual nó folha F deve ser inserido?Nó 1 ou Nó 2 ou Nó 3?

R3 terá o menor acréscimo de área.

Overflow! Qual é a melhor distribuição para BCDF?Resp.: BD e CFAtualizar R3 e incluir nova entrada na raiz.

R3D

Nó 1 Nó 2 Nó 3

F

C F

Nó 4

R4

R4

R2

Page 67: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir F

B DE 3

R1 R2 R3

R1 B

C

A 1

Overflow na raiz!

Criar novo nó e redistribuir entradas de acordo com a menor área dos MBR resultantes.

R3D

Nó 1 Nó 2 Nó 3

F

C F

Nó 4

R4

R4

R2

Page 68: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir F

B DE 3

R1 R2 R3

R1 B

C

A 1

Overflow na raiz!

Criar novo nó e redistribuir entradas de acordo com a menor área dos MBR resultantes.

Nó com R1 R2 e nó com R3 e R4

R3D

Nó 1 Nó 2 Nó 3

F

C F

Nó 4

R4

R4

R2

Page 69: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir F

B DE 3

R1 R2

R1 B

C

A 1

Overflow na raiz!

Criar novo nó e redistribuir entradas de acordo com a menor área dos MBR resultantes.

Nó com R1 R2 e nó com R3 e R4

R3D

Nó 1 Nó 2 Nó 3

F

C F

Nó 4

R4

R3 R4

R2

Page 70: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir F

B DE 3

R1 R2

R1 B

C

A 1

Overflow na raiz!

Criar novo nó e redistribuir entradas de acordo com a menor área dos MBR resultantes.

Nó com R1 R2 e nó com R3 e R4

R3D

Nó 1 Nó 2 Nó 3

F

C F

Nó 4

R4

R3 R4

R5

R5

R2

Page 71: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Inserir F

B DE 3

R1 R2

R1 B

C

A 1

Overflow na raiz!

Criar novo nó e redistribuir entradas de acordo com a menor área dos MBR resultantes.

Nó com R1 R2 e nó com R3 e R4

R3D

Nó 1 Nó 2 Nó 3

F

C F

Nó 4

R4

R3 R4

R5 R6

R5

R6

R2

Page 72: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Nível 1

B DE 3

R1 R2

A 1

Nó 1 Nó 2 Nó 3

C F

Nó 4

R3 R4

R5 R6

R5

R6

Page 73: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Nível 2

B DE 3

R1 R2

R1

A 1

R3

Nó 1 Nó 2 Nó 3

C F

Nó 4

R4

R3 R4

R5 R6

R2

Page 74: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Nível 3

B DE 3

R1 R2

B

C

A 1

D

Nó 1 Nó 2 Nó 3

F

C F

Nó 4

R3 R4

R5 R6

Page 75: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Níveis 1, 2 e 3.

B DE 3

R1 R2

R1 B

C

A 1

R3D

Nó 1 Nó 2 Nó 3

F

C F

Nó 4

R4

R3 R4

R5 R6

R5

R6

R2

Page 76: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Árvore R - Busca A busca em uma árvore-R é semelhante à busca em árvore-B Problema:

Uma grande quantidade de nós pode ter que ser examinada, pois um retângulo pode estar contido nos retângulos envolventes de muitos nós Mas o seu registro está contido em apenas um nó folha.

Exemplo: Retângulo 1 está contido nos retâgulos:o R1o R2o R3o R5

R3

R4

R5

R6R1

R2

Page 77: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Árvore R - Busca

A 1 E 3 B C D 2 F G

R3 R4 R5 R6

R1 R2

R3

R4

R5

R6R1

R2Qual seria o caminho percorrido na árvore R a seguir para encontrar o ponto Q?Q

Page 78: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Árvore R - Busca

A 1 E 3 B C D 2 F G

R3 R4 R5 R6

R1 R2

R1

R2Qual seria o caminho percorrido na árvore R a seguir para encontrar o ponto Q?1)Raiz (√R1 e √R2)Q

Page 79: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Árvore R - Busca

A 1 E 3 B C D 2 F G

R3 R4 R5 R6

R1 R2

R3

R4

R5

R6

Q

Qual seria o caminho percorrido na árvore R a seguir para encontrar o ponto Q?1)Raiz (√R1 e √R2)2)Segundo nível (√R3, ØR4, √R5, ØR6)

Page 80: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Árvore R - Busca

A 1 E 3 B C D 2 F G

R3 R4 R5 R6

R1 R2

Q

Qual seria o caminho percorrido na árvore R a seguir para encontrar o ponto Q?1)Raiz (√R1 e √R2)2)Segundo nível (√R3, ØR4, √R5, ØR6)3)Terceiro nível (ØA, Ø1, ØB, ØC, √D)

Page 81: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Árvore-R - Remoção

Remover retângulo R de uma Árvore-R Localizar nó folha L que contém R e remover R de L. Ajustar os retângulos envolventes no caminho de L até a raiz

Todos os nós onde ocorrer underflow são armazenados em um conjunto U.

Quando a raiz é alcançada Se ela tem apenas um único filho, então o filho se torna a nova raiz

Os nós onde ocorreu Underflow são reinseridos na árvore Entradas de U que correspondem a nós folha são incluídas em nós folha Outros nós, têm suas entradas posicionadas no nível que faça com que seus nós

folha continuem no mesmo nível dos demais.

Page 82: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Remoção: Árvore-R x Árvore-B

Na árvore B nós sofrem merge com nós adjacentes ou é feita redistribuição

Na árvore-R nós são reinseridos Árvore-R

Não existe conceito de adjacência Merge de nós e redistribuição poderiam ser feitas. Entretanto,

Reinserção permite que a árvore dinamicamente reflita a mudança de estrutura espacial ao invés de gradualmente sofrer degradações o que poderia ocorrer mantendo parentesco durante o ciclo de vida da árvore.

Page 83: Dados espaciais Árvores R§ão-Arvore_R.pdf · Árvore-R - Inserção Uma árvore-R não é única Ela depende da ordem em que os retângulos são inseridos (e possivelmente removidos)

Aplicações

CREATE VIRTUAL TABLE demo_index USING rtree( id, -- Integer primary key minX, maxX, -- Minimum and maximum X coordinate minY, maxY -- Minimum and maximum Y coordinate);SELECT id FROM demo_index WHERE minX>=-81.08 AND maxX<=-80.58 AND minY>=35.00 AND maxY<=35.44;

Mais direta: banco de dados geográficos Consultas por faixa de valores

SQLite: http://www.sqlite.org/rtree.html