120
Árvore R Luiz Olmes Carvalho SCC 5789 Base de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Árvore R

Luiz Olmes Carvalho

SCC 5789 – Base de Dados

Profa. Dra. Cristina Dutra de Aguiar Ciferri

Page 2: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Apresentação

• Conceitos introdutórios.

• Estrutura da Árvore R.

• Consulta.

• Inserção.

• Split.

• Variações da Árvore R.

• Demonstração: applet.

2

Page 3: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Conceitos Introdutórios

Árvore R

3

Page 4: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Tipos de dados espaciais

• Ponto: unidade mínima representativa de um objeto espacial.

• Linha: sequência de pontos retilíneos.

• Linha poligonal: sequência de pontos não retilíneos.

• Polígono: sequência fechada de linhas ou linhas poligonais.

• Polígono complexo: polígono com buracos e/ou partes disjuntas.

• Poliedro: sólido composto por um número finito de faces.

4

Page 5: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Tipos de dados espaciais

5

polígono complexo com

ilha

polígono complexo com

buraco e ilha polígono complexo com

buraco

polígono (simples) poliedro (cubo)

linha

ponto

linha poligonal

segmentos de linha

Page 6: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Representação dos dados

6

Page 7: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Representação dos dados

7

Page 8: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Mininum Bounding Rectangle – MBR

8

Page 9: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Mininum Bounding Rectangle – MBR

9

Page 10: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Outras representações conservativas

10

retângulo envolvente mínimo

retângulo envolvente mínimo

rotacionado

círculo envolvente mínimo

elipse envolvente mínima polígono envolvente mínimo

com 6 vértices casco convexo

Page 11: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Estrutura da Árvore R

Árvore R

11

Page 12: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Árvore R

• Antonin Guttman.

• 1984.

12

Page 13: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Árvore R – Aplicações

• Sistemas de Informações Geográficas (GIS).

• Sistemas CAD.

• Arquiteturas VLSI.

• Sistemas P2P, Bioinformática, Data Streams.

13

Page 14: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Árvore R

• Dinâmica

• Permite novas inserções e remoções.

• Hierárquica

• Nós folhas e nós índices.

• Armazenamento Secundário

• Nós são páginas de disco de tamanho fixo.

• Construção Bottom-Up

• Todos os objetos são inseridos nas folhas.

• Balanceada

• Folhas no mesmo nível.

14

Page 15: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Estrutura

• Árvore R de ordem (m, M).

• Número máximo de entradas por nó: M

• Número mínimo de entradas por nó: 𝑚 ≤𝑀

2

• Altura máxima da árvore: ℎ𝑚𝑎𝑥 = log𝑚 𝑁 − 1

• N: número de objetos inseridos.

15

Page 16: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Estrutura

• O número mínimo de entradas permitido na raiz é 2,

a menos que a raiz seja uma folha. Nesse caso, ela

pode conter apenas uma ou nenhuma entrada.

• Todas as folhas estão no mesmo nível.

16

Page 17: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Estrutura dos nós

• Folha: <mbr, oid>

• mbr: retângulo n-dimensional que delimita o objeto

indexado.

• oid: valor de identificador de objeto.

• Índice: <mbr, ptr>

• ptr: referência ao nó do nível imediatamente inferior.

• mbr: <d0, d1, d2, ..., dn–1> di = [a, b]

17

Page 18: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Exemplo: Árvore R(2, 4)

1 2 3

A B C D E F G H I J

B

A G

F

J H

I

D

C

E

1

2

3

18

Page 19: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Representação dos nós

1 2 3

A B C D E F G H I J

B

A G

F

J H

I

D

C

E

1

2

3

Index b4 32 9 39 49 28 0 36 7 0 15 34 45 esp. livre b2 b1

Leaf espaço livre 28 0 35 3 30 4 36 7 β α

19

Page 20: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Representação dos nós

1 2 3

A B C D E F G H I J

B

A G

F

J H

I

D

C

E

1

2

3

Index b4 32 9 39 49 28 0 36 7 0 15 34 45 esp. livre b2 b1

Leaf espaço livre 28 0 35 3 30 4 36 7 β α

MBR

OID

20

Page 21: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Representação dos nós

1 2 3

A B C D E F G H I J

B

A G

F

J H

I

D

C

E

1

2

3

Index b4 32 9 39 49 28 0 36 7 0 15 34 45 esp. livre b2 b1

Leaf espaço livre 28 0 35 3 30 4 36 7 β α

MBR PTR

21

Page 22: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Representação dos nós

1 2 3

A B C D E F G H I J

B

A G

F

J H

I

D

C

E

1

2

3

L α β γ δ D C B A

I b1 b2 b4 3 2 1

H b3 512

L ε δ F E

L ε ζ μ ω J I H G

B0

B2

B4

B1

B3

B1

B3

B2 B4

22

Page 23: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consultas

Árvore R

23

Page 24: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consultas espaciais

24

Point Query Window Query

Region Query Adjacency Query

Page 25: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Operadores de Consulta

• Topológicos: encontra todos os objetos que interceptam um dado objeto.

• Direcionais: encontra todos os objetos que, por exemplo, estão ao norte de um dado objeto.

• Distância: encontra todos os objetos que estão a menos que uma distância d de um dado objeto (range query) ou os k objetos mais próximos de um dado objeto (k-nearest-neighbors query).

25

Page 26: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consulta – Algoritmo (Range Query)

• Encontra todos os objetos interceptados pelo retângulo de busca Q. Devolve um conjunto S de objetos candidatos.

• Para todas as entradas de um nó índice, a partir da raiz:

Verifica se existe sobreposição.

– Se sim, verifica a respectiva sub-árvore.

• Se é um nó folha: Verifica todas as entradas que interceptam Q.

– Adiciona no conjunto resposta S.

26

Page 27: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consulta – Exemplo

27

a

b c

d

e

f

g

h

i

j l

m A

C

B

D

E F

G

F G

A B C D E

a b c d e f g h i j l m

Page 28: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consulta – Exemplo 1

28

a

b c

d

e

f

g

h

i

j l

m A

C

B

D

E F

G

F G

A B C D E

a b c d e f g h i j l m

Buscar o

objeto "e"

Page 29: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consulta – Exemplo 1

29

a

b c

d

e

f

g

h

i

j l

m A

C

B

D

E F

G

F G

A B C D E

a b c d e f g h i j l m

"F" intercepta "e".

Então verifica

sub-árvore.

Page 30: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consulta – Exemplo 1

30

a

b c

d

e

f

g

h

i

j l

m A

C

B

D

E F

G

F G

A B C D E

a b c d e f g h i j l m

"G" intercepta "e".

Então verifica

sub-árvore.

Page 31: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consulta – Exemplo 1

31

a

b c

d

e

f

g

h

i

j l

m A

C

B

D

E F

G

F G

A B C D E

a b c d e f g h i j l m

"A" não intercepta

"e". Então não

verifica sub-

árvore.

Page 32: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consulta – Exemplo 1

32

a

b c

d

e

f

g

h

i

j l

m A

C

B

D

E F

G

F G

A B C D E

a b c d e f g h i j l m

"B" intercepta "e".

Então verifica

sub-árvore.

Page 33: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consulta – Exemplo 1

33

a

b c

d

e

f

g

h

i

j l

m A

C

B

D

E F

G

F G

A B C D E

a b c d e f g h i j l m

"C" não intercepta

"e". Então não

verifica sub-

árvore.

Page 34: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consulta – Exemplo 1

34

a

b c

d

e

f

g

h

i

j l

m A

C

B

D

E F

G

F G

A B C D E

a b c d e f g h i j l m

"D" não intercepta

"e". Então não

verifica sub-

árvore.

Page 35: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consulta – Exemplo 1

35

a

b c

d

e

f

g

h

i

j l

m A

C

B

D

E F

G

F G

A B C D E

a b c d e f g h i j l m

"E" não intercepta

"e". Então não

verifica sub-

árvore.

Page 36: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consulta – Exemplo 1

36

a

b c

d

e

f

g

h

i

j l

m A

C

B

D

E F

G

F G

A B C D E

a b c d e f g h i j l m

Verifica cada

objeto armazenado

na folha.

Page 37: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consulta – Exemplo 1

37

a

b c

d

e

f

g

h

i

j l

m A

C

B

D

E F

G

F G

A B C D E

a b c d e f g h i j l m

Encontra o objeto

procurado ("e").

Page 38: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consulta – Exemplo

38

a

b c

d

e

f

g

h

i

j l

m A

C

B

D

E F

G

F G

A B C D E

a b c d e f g h i j l m

Page 39: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consulta – Exemplo 2

39

a

b c

d

e

f

g

h

i

j l

m A

C

B

D

E F

G

F G

A B C D E

a b c d e f g h i j l m

w

Devolver os

objetos que estão

na região de

busca w.

Page 40: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consulta – Exemplo 2

40

a

b c

d

e

f

g

h

i

j l

m A

C

B

D

E F

G

F G

A B C D E

a b c d e f g h i j l m

w

"F" não intercepta

"w". Então não

verifica sub-

árvore.

Page 41: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consulta – Exemplo 2

41

a

b c

d

e

f

g

h

i

j l

m A

C

B

D

E F

G

F G

A B C D E

a b c d e f g h i j l m

w

"G" intercepta "w".

Então verifica sub-

árvore.

Page 42: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consulta – Exemplo 2

42

a

b c

d

e

f

g

h

i

j l

m A

C

B

D

E F

G

F G

A B C D E

a b c d e f g h i j l m

w

"D" não intercepta

"w", mas E sim.

Então verifica a

sub-árvore de E.

Page 43: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Consulta – Exemplo 2

43

a

b c

d

e

f

g

h

i

j l

m A

C

B

D

E F

G

F G

A B C D E

a b c d e f g h i j l m

w "j" não intercepta "w",

mas "l" e "m" sim.

Então devolve "l" e

"m" como resposta da

consulta.

Page 44: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Filtragem e Refinamento

44

Consulta

Índice

Espacial

Resposta da

consulta

Conjunto de

candidatos

Filtragem (menor custo)

Page 45: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Filtragem e Refinamento

45

Consulta

Índice

Espacial

Resposta da

consulta

Conjunto de

candidatos

Acesso à geometria

exata do objeto

Teste da

geometria

do objeto.

Falsos

positivos Acertos

Filtragem (menor custo) Refinamento (maior custo)

Page 46: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Filtragem e Refinamento

46

Page 47: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Filtragem e Refinamento

47

Page 48: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Filtragem e Refinamento

48

São Carlos

Page 49: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção

Árvore R

49

Page 50: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Algoritmo

• Percorrer a árvore, a partir do nó raiz, até o nó folha F mais apropriado.

• A cada nível, escolher a entrada cujo MBR necessita do menor aumento de área. Resolver empates selecionando o de menor área.

• Se o nó folha F contém espaço suficiente, inserir a nova entrada em F e parar o processo de inserção. Caso contrário, dividir a folha F em F1 e F2.

• Ajustar a entrada de F no seu nó pai P de modo que seu MBR cubra apenas F1.

• Adicionar uma entrada em P para F2. Este passo pode fazer o nó P pode splitar recursivamente.

• Propagar as alterações para os níveis superiores.

50

Page 51: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B C D E F G H I J

1

2

3

4

51

Page 52: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B C D E F G H I J

1

2

3

4

L

Novo

objeto

52

Page 53: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B C D E F G H I J

1

2

3

4

L

escolher a entrada

cujo MBR necessita

do menor aumento

de área

53

Page 54: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B C D E F G H I J

1

2

3

4

L

escolhe a entrada 1,

pois seu MBR

necessita do menor

aumento de área: 0

54

Page 55: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L C D E F G H I J

1

2

3

4

L

como a folha

contém espaço,

insere a nova

entrada e pára.

55

Page 56: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L C D E F G H I J

1

2

3

4

L

56

Page 57: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L C D E F G H I J

1

2

3

4

L

M

Novo

objeto

57

Page 58: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L C D E F G H I J

1

2

3

4

L

M

escolher a entrada

cujo MBR necessita

do menor aumento

de área

58

Page 59: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L C D E F G H I J

1

2

3

4

L

M

Ganho de

área de 1

59

Page 60: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L C D E F G H I J

1

2

3

4

L

M Ganho de

área de 2

60

Page 61: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L C D E F G H I J

1

2

3

4

L

Ganho de

área de 3

M

61

Page 62: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L C D E F G H I J

1

2

3

4

L

Ganho de

área de 4

M

62

Page 63: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L C D E F G H I J

1

2

3

4

L

M escolhe a entrada 2,

pois seu MBR

necessita do menor

aumento de área

63

Page 64: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L C D E F G H I J

1

2

3

4

L

M

aumenta a área de 2

de modo a cobrir a

nova entrada.

64

Page 65: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L C D E M F G H I J

1

2

3

4

L

M

como a folha

contém espaço,

insere a nova

entrada e pára.

65

Page 66: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L C D E M F G H I J

1

2

3

4

L

M

66

Page 67: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L C D E M F G H I J

1

2

3

4

L

M Novo

objeto

N

67

Page 68: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L C D E M F G H I J

1

2

3

4

L

M

N

os MBRs 1 e 2 têm

o mesmo aumento

de área: zero

68

Page 69: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L N C D E M F G H I J

1

2

3

4

L

M

N

escolhe o MBR de

menor área, que é o

MBR 1

69

Page 70: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L N C D E M F G H I J

1

2

3

4

L

M

N

e se os dois MBRs

tivessem também a

mesma área??

70

Page 71: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L N C D E M F G H I J

1

2

3

4

L

M

N

e se os dois MBRs

tivessem também a

mesma área??

escolhe aquele com o

menor número de

entradas. Se empatar

novamente, escolhe

qualquer um deles.

71

Page 72: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L N C D E M F G H I J

1

2

3

4

L

M

N

72

Page 73: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L N C D E M F G H I J

1

2

3

4

L

M

N

A ordem de inserção

afeta a disposição dos

MBRs na árvore R.

73

Page 74: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Inserção – Exemplo: R(2, 4)

B

A

G F

H

I

D

C E

J

1 2 3 4

A B L N C D E M F G H I J

1

2

3

4

L

M

N

Qualquer nova

entrada inserida nos

MBRs 1 e 2 causará

divisão do nó (split).

74

Page 75: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split

Árvore R

75

Page 76: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split

• Distribui as M entradas de um nó mais a nova entrada em dois nós.

• Reduzir a área de cobertura.

• Seleção dos primeiros objetos de cada grupo: seeds. Na árvore R, dois objetos são promovidos ao nó índice.

• Distribuição dos objetos restantes.

• Algoritmos: quadrático, linear, exaustivo.

76

Page 77: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Quadrático

Parte 1: Seleção das seeds.

• Selecionar dois objetos como seeds de modo que esses objetos, se

colocados juntos, criam o maior dead space possível. Dead space

é a área restante no MBR se as áreas das seeds forem ignoradas.

Complexidade de tempo: O(M2)

Parte 2: Redistribuição das M – 1 entradas.

• Até que não reste mais entradas (O(M)), selecionar a entrada E

cuja diferença de dead space para cada um dos dois nós N1 e N2

seja máxima (O(M2)).

• Inserir E no nó que requer o menor aumento de seu MBR (O(1)).

Complexidade total de tempo: O(M2 + M + M2 + 1) = O(M2)

77

Page 78: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Quadrático – Exemplo

C

A

B

D

Suponha uma

árvore R (1, 3).

78

Page 79: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Quadrático – Exemplo

C

A

B

D

Primeiro passo

Seleção das seeds:

dois objetos com o

maior dead space.

79

Page 80: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Quadrático – Exemplo

C

A

B

D Computando os

MBRs A e B.

Primeiro passo

Seleção das seeds:

dois objetos com o

maior dead space.

80

Page 81: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Quadrático – Exemplo

C

D

Dead space (A, B) =

Área(MBR(A, B)) –

Área(A) – Área(B)

A

B

Computando os

MBRs A e B.

81

Page 82: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Quadrático – Exemplo

B

D Computando os

MBRs A e C.

C

A

Dead space (A, C) =

Área(MBR(A, C)) –

Área(A) – Área(C)

82

Page 83: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Quadrático – Exemplo

A

B

Após computar

todos os pares,

acha C e D como

resposta (maior

dead space).

C

D

Dead space (C, D) =

Área(MBR(C, D)) –

Área(C) – Área(D)

83

Page 84: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Quadrático – Exemplo

C

A

B

D os MBRs C e D são

as seeds.

84

Page 85: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Quadrático – Exemplo

C

A

B

D Segundo passo

Redistribuição ordenada

das M – 1 entradas.

85

Page 86: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Quadrático – Exemplo

B

Ordenação: maior

diferença de dead space

com os dois novos nós. D

A

C

Dead space (A, nó(C))

Dead space (A, nó(D))

86

Page 87: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Quadrático – Exemplo

D

A

C B

Dead space (B, nó(C))

Dead space

(B, nó(D))

Ordenação: maior

diferença de dead space

com os dois novos nós.

87

Page 88: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Quadrático – Exemplo

C

A

B

D

Pela ordenação,

primeiro aloca o

a entrada A.

88

Page 89: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Quadrático – Exemplo

C B

entre os nós de C

e D, A vai para o

nó de C, que é o

que sofre menor

aumento.

D

A

89

Page 90: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Quadrático – Exemplo

C B

D

A

entre os nós de C e D,

B também vai para o

nó de C, que é o que

sofre menor aumento

(zero).

90

Page 91: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Quadrático – Exemplo

C B

D

A

D, que é seed,

fica sozinho em

seu nó.

91

Page 92: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Quadrático – Exemplo

C B

D

A

C A B D

1 2

92

Page 93: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Linear

Parte 1: Seleção das seeds.

• Along each dimension, find the entry whose rectangle has the highest low side, and the one with the lowest high side. Record the separation. Complexidade de tempo: O(M * d) d = nº dimensões

• Normalize the separations by divinding the width of the entire set along the corresponding dimension (O(d)).

• Choose the pair with the greatest normalized separation along any dimension (O(d)).

Parte 2: Redistribuição das M – 1 entradas.

• Até que não reste mais entradas (O(1)), selecionar uma entrada E e inserir no nó que requer o menor aumento de seu MBR (O(M)). Complexidade total de tempo: O(M * d)

93

Page 94: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Linear – Exemplo

C

A

B

D Suponha uma

árvore R (1, 3).

94

Page 95: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Linear – Exemplo

C

A

B

D

95

Low Side

High Side

Legenda:

Page 96: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Linear – Exemplo

C

A

B

D

Em X:

Highest

Low side

Em X:

Lowest

High side

96

Page 97: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Linear – Exemplo

C

A

B

D Em X:

A e C são os

extremos

97

Page 98: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Linear – Exemplo

C

A

B

D

Distância de separação (DSX)

Distância total (DTX)

Dist. Normalizada em X:

DNX = DSX / DTX

98

Page 99: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Linear – Exemplo

C

A

B

D

99

Low Side

High Side

Legenda:

Page 100: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Linear – Exemplo

C

A

B

D

Em Y:

Highest

Low side

Em Y:

Lowest

High side

100

Page 101: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Linear – Exemplo

C

A

B

D Em Y:

C e D são

os extremos

101

Page 102: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Linear – Exemplo

C

A

B

D Dist. Normalizada em Y:

DNY = DSY / DTY

Dist. de separação (DSY) Distância total (DTY)

102

Page 103: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

B

Split: Algoritmo Linear – Exemplo

C

A

D

Sendo DNX a maior

Dist. Normalizada,

escolhe A e C como

seeds.

103

Page 104: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

B

Split: Algoritmo Linear – Exemplo

C

A

D Redistribui as

entradas B e D.

104

Page 105: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

B

Split: Algoritmo Linear – Exemplo

C

A

D

B vai para o nó de

C, que é o que

sofre menor

aumento.

105

Page 106: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

B

Split: Algoritmo Linear – Exemplo

C

A

D

D vai para o nó de

A, que é o que

sofre menor

aumento.

106

Page 107: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

B

Split: Algoritmo Linear – Exemplo

C

A

D

A D C B

1 2

107

Page 108: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Split: Algoritmo Exaustivo

• Testa todos os agrupamentos possíveis com relação

ao menor aumento de MBRs e área de sobreposição.

• Complexidade temporal: O(2M – 1).

• Fins de comparação.

108

Page 109: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Variações: R+, R*

Árvore R

109

Page 110: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Árvore R+ (1987)

110

Timos Sellis Nick Roussopoulos Christos Faloustos

Page 111: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Árvore R+

• Motivação:

• Uma consulta pontual na Árvore R pode percorrer vários caminhos, da raiz até as folhas.

• Alguns MBRs grandes podem aumentar o grau de sobreposição significativamente, devido ao dead space.

• Estas características causam uma degradação de desempenho das consultas, especialmente quando a sobreposição dos MBRs é significativa.

• Solução: a Árvore R+ não permite sobreposição de MBRs no mesmo nível: técnica de clipping.

111

Page 112: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Árvore R+

112

A

B

C

D

G

E

1

2

1 2

A B C D E F G

F

Page 113: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Árvore R+

113

A

B

C

D

F

E

1

2

1 2

A B C D E F G

F

Região de

sobreposição no

mesmo nível.

Page 114: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Árvore R+

114

A

B

C

D

F

E

1

2

1 2

A B C D E F G D

Duplica a entrada

D nas folhas e

elimina a

sobreposição.

F

Page 115: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Árvore R+

• Considerações:

• Busca: deve eliminar as duplicatas.

• Inserção: maior complexidade em relação à árvore R.

• Remoção: deve eliminar o objeto de todas as folhas em que aparece.

• Consumo de espaço físico: é problema?

115

Page 116: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Árvore R* (1990)

116

Norbert Beckmann Hans-Peter Kriegel

Ralf Schneider Bernhard Seeger

Page 117: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Árvore R*

• A árvore R é baseada na minimização de área de seus MBRs.

• A árvore R* considera minimizar:

• área dos MBRs.

• área de sobreposição entre MBRs.

• margens dos MBRs: deixar os MBRs mais "quadrados" ajusta melhor o espaço nos níveis superiores.

• Principal alteração em relação à árvore R original:

• inserção.

• reinserção.

• parâmetro: cerca de 30% da capacidade do nó.

117

Page 118: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Referências

• GUTTMAN, A. R-trees: A dynamic index structure for spatial searching. ACM SIGMOD Record, ACM, New York, NY, USA, v. 14, n. 2, p. 47-57, jun. 1984.

• SELLIS, T. K.; ROUSSOPOULOS, N.; FALOUTSOS, C. The R+-tree: A dynamic index for multi-dimensional objects. In: Proceedings of 13th International Conference on Very Large Data Bases. Brighton, England: Morgan Kaufmann Publishers Inc., 1987. (VLDB '87), p. 507-518.

• BECKMANN, N.; KRIEGEL, H.-P.; SCHNEIDER, R.; SEEGER, B. The R*-tree: An efficient and robust access method for points and rectangles. ACM SIGMOD Record, ACM, New York, NY, USA, v. 19, n. 2, p. 322-331, maio 1990.

118

Page 119: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Referências

• MANOLOPOULOS, Y.; NANOPOULOS, A.; PAPADOPOULOS, A.

N.; THEODORIDIS, Y. R-Trees: Theory and Applications. Springer,

2006.

• LIU, L; ÖZSU, M. T. Encyclopedia of Database Systems. Springer,

2009.

• SHEKHAR, S.; XIONG, H. Encyclopedia of GIS, Springer, 2008.

• KAO, M.-Y. Encyclopedia of Algorithms. Springer, 2008.

119

Page 120: Árvore R - USPwiki.icmc.usp.br/images/c/cb/SCC578920131-Rtree.pdf · Conceitos Introdutórios Árvore R 3 / 120 Tipos de dados espaciais •Ponto: unidade mínima representativa

/ 120

Demonstração

• http://gis.umb.no/gis/applets/rtree2/jdk1.1/

120