banco de dados espaciais · linha em que os pontos não estão dispostos de forma retilínea cada...

48
Banco de Dados Espaciais Disciplina BD Não Convencionais Prof. Ricardo Rodrigues Ciferri São Carlos, 20 de Agosto de 2010

Upload: others

Post on 22-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Banco de Dados Espaciais

Disciplina BD Não Convencionais

Prof. Ricardo Rodrigues Ciferri

São Carlos, 20 de Agosto de 2010

Page 2: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Sumário

  Tipos de Dados Espaciais

  Representação dos Dados

  Processamento de Consultas Espaciais

  Filtragem

  Refinamento

  Tipos de Consulta Espacial

  Exemplos de MAM

2

Page 3: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Dados Espaciais

3

Page 4: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Dados Espaciais

4

  Ponto (0-dimensional)   Menor unidade possível para representar um

objeto espacial   Um objeto espacial representado por um ponto

não possui extensão   Usado para representar localizações discretas.

Ex: cidade em um mapa

Page 5: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Dados Espaciais

  Linha (1-dimensional)   Sequência de pontos conectados retilinearmente

  Linha poligonal (1-dimensional)   Linha em que os pontos não estão dispostos de forma

retilínea

  Cada par de pontos conectados corresponde a um segmento de linha

  Usadas para representar objetos espaciais lineares. Ex: rios, estradas, ferrovias e redes de infra-estrutura

5

Page 6: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Dados Espaciais

  Polígono (2-dimensional)   Sequência fechada de linhas ou linhas poligonais   Funcionalmente equivalente a uma linha poligonal

fechada   Polígonos complexos podem permitir buracos ou

consistir de diversas partes disjuntas   Usado para representar objetos bidimensionais.

Ex: área ocupada por um bairro

6

Page 7: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Dados Espaciais

  Poliedro (3-dimensional)   Limitado por quatro ou mais polígonos,

denominados faces   Interseção das faces formam as arestas   Interseção das arestas formam os vértices   Usado para representar sólidos no espaço. Ex:

peça mecânica ou membro humano

7

Page 8: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Dados Espaciais

Os principais tipos espaciais oferecidos pelo PostGIS:   POINT: define um Ponto com as dimensões fornecidas;   POINTM: define um Ponto com duas dimensões (X e Y) e mais

uma dimensão M, que tem semântica livre, podendo ser temporal;   LINESTRING: define uma linha utilizando uma coleção de pontos

de mesma dimensão;   MULTILINESTRING: define uma coleção de linhas;   POLYGON: Define um polígono, composto por uma LINESTRING

fechada;   MULTIPOINT: coleção de Pontos de mesma dimensão;   MULTILINESTRING: coleção de LINESTRINGs;   MULTIPOLYGON: coleção de polígonos;   GEOMETRYCOLLECTION: coleção de geometrias diversas;

8

Page 9: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Dados Espaciais

9

Page 10: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Representação

  Matricial

10

Page 11: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Representação

  Vetorial

11

Page 12: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Exemplos

  Dados temáticos   Podem ser

representados de forma matricial ou vetorial

12

Page 13: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Exemplos

  Imagens   Armazenadas em

representação matricial

13

Page 14: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Exemplos

  Modelos numéricos de terreno   Armazenadas em grades regulares (matricial), grades

triangulares (vetorial), ou isolinhas (representação vetorial sem topologia)

14

Page 15: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Exemplos

  Redes   Sua parte gráfica é armazenada em forma de coordenadas

vetoriais, e seus atributos não gráficos são guardados em um banco de dados

15

Page 16: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Representação dos Dados no MAM   Utilização de abstrações (aproximações)

para representar a geometria do objeto espacial   Diminuição de requisitos de armazenamento   Redução do custo para se determinar a satisfação

de relacionamentos métricos, topológicos e direcionais

  Aproximação deve ser conservativa

16

Page 17: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Representação dos Dados no MAM

17

Page 18: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Processamento de Consultas Espaciais

  Recuperação de um falso candidato (dead space)

18

Page 19: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Processamento de Consultas Espaciais

19

Page 20: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Processamento de Consultas Espaciais   Aproximação progressiva

  Aproximação de um objeto é um subconjunto de seus pontos

  Deve ser utilizada antes da fase de refinamento   Recuperação de candidatos verdadeiros   Seu cálculo é mais custoso se comparado com a

aproximação conservativa

20

Page 21: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Consultas Espaciais

  Exact Match Query   Dado um objeto o’ com atributo espacial o’.G  ⊆  Ed,

encontre todos os objetos o que possuam as mesmas coordenadas que o’, ou seja, que possuam a mesma extensão e localização no espaço

EMQ  (o’,  dataset)  =  {  o  |  o  ∈  dataset  ∧  o.G  =  o’.G  }    

21

Page 22: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Consultas Espaciais   Partial Match Query

  Dado um objeto o’ com atributo espacial o’.G  ⊆  Ed, encontre todos os objetos o que possuam, em uma dada dimensão, a mesma extensão e localização no espaço que o’  

22

Page 23: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Consultas Espaciais   Point Query

  Dado um ponto p  ∈  Ed, encontre todos os objetos o que sobrepõem p  

23

Page 24: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Consultas Espaciais

  Range Query   Intersection Range Query: dado um retângulo d-­‐

dimensional iso-­‐oriented R  ⊆  Ed, encontre todos os objetos o que tenham pelo menos um ponto em comum com R  

24

Page 25: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Consultas Espaciais

  Range Query   Containment Range Query: dado um retângulo d-­‐

dimensional iso-­‐oriented R  ⊆  Ed, encontre todos os objetos o contidos em R  

25

Page 26: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Consultas Espaciais

  Range Query   Enclosure Range Query: dado um retângulo d-­‐

dimensional iso-­‐oriented R  ⊆  Ed, encontre todos os objetos o englobam R  

26

Page 27: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Consultas Espaciais

  Region Query   É uma versão mais genérica de Range Query,

permitindo que a área de pesquisa tenha orientação e formatos arbitrários

  Intersection / Containment / Enclosure Region Query: similar à definição utilizada para Range Query, substituindo-se somente o retângulo d-­‐dimensional  iso-­‐oriented  R  por um objeto o’ com atributo espacial o’.G  ⊆  Ed  

27

Page 28: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Consultas Espaciais

  Adjacency Query   Dado um objeto o’ com atributo espacial o’.G  ⊆  Ed,

encontre todos os objetos o que são adjacentes a o’  

28

Page 29: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Consultas Espaciais

  Nearest Neighbor Query   One-Nearest Neighbor Query: dado um objeto o’ com

atributo espacial o’.G  ⊆  Ed, encontre todos os objetos o que tenham a distância mínima de o’  

29

Page 30: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Consultas Espaciais

  Nearest Neighbor Query   k-Nearest Neighbor Query: dado um objeto o’ com

atributo espacial o’.G  ⊆  Ed, encontre os k objetos o mais próximos de o’  

30

Page 31: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Consultas Espaciais

  Direction Query   Dado um objeto espacial o’ com atributo espacial o’.G  ⊆  Ed, encontre todos os objetos o posicionados na direção s com relação ao objeto o’  

  Valores válidos para a direção s incluem: ao  norte  de, ao  sul  de, a  leste  de, a  oeste  de, a  nordeste  de, a  sudeste  de, a  noroeste  de, e a  sudoeste  de  

31

Page 32: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Consultas Espaciais

  Distance Query   Dado um objeto o’ com atributo espacial o’.G  ⊆  Ed,

encontre todos os objetos o cuja distância com relação ao o’ seja no máximo q  

DTQ  (o’,  dataset,  q)  =  {  o  |  o  ∈  dataset  ∧  dist  (o.G,  o’.G)  ≤  q  }    

≡    IReQ  (o’’,  dataset)  onde  o’’  =  região  formada  por  o’.G  e  

distância  q  

32

Page 33: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Consultas Espaciais

  Spatial Join   Para dois conjuntos de objetos espaciais A e B e um

predicado espacial θ, determine todos os pares de objetos (o,  o’)  ∈ A  x  B  onde θ  (o.G,  o’.G)  é verdadeiro

  O predicado espacial pode ser definido a partir de um relacionamento topológico, métrico ou direcional

  Nomenclatura de alguns subtipos de Spatial Join: Intersection / Containment / Enclosure / Adjacency / Exact Match / Nearest Neighbor / Distance Minor / Direction North Spatial Join

33

Page 34: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Tipos de Consultas Espaciais

34

Nearest Neighbor Spatial Join

  Spatial Join – exemplos

Direction North Spatial Join

Intersection Spatial Join

Page 35: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Exemplos de MAM

  R-tree   Mecanismo de indexação espacial estruturado

hierarquicamente na forma de uma árvore balanceada   Similar a B-tree   Suporte dinâmico para a manipulação de objetos de

dimensão não-zero no espaço multidimensional   R*-tree

  Mecanismo de indexação espacial derivado da R-tree   Proporciona um bom desempenho na recuperação

destes objetos através da utilização dos critérios de coverage, overlap, margin e storage

35

Page 36: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

R-tree

36

P1

P2 P3

P4

P5

P6 L1

L2

L3 L4

L5

L6

r1

r2

r3

r4

r5

0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95

100

0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95 100

R3

r6

R4

R1 R7

R6

R5

R8

R2

  Extensão e localização dos objetos no espaço

Page 37: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

R-tree

37

  Estrutura de dados

Page 38: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Pesquisa na R-tree

  Ramificação do percurso pela sobreposição entre os MBB das entradas de um nó interno

38

E1

E2

E3

janela  de  consulta

Page 39: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Pesquisa na R-tree

  Ramificação do percurso causado pelo armazenamento de MBB grandes

39

E3 E1

E2

Entradas  (MBB)

Extent

Janela  de  Consulta JC

Page 40: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Pesquisa na R-tree

  Ramificação do percurso causado pela escolha de uma janela de consulta abrangente

40

E3 E1

E2

Entradas  (MBB)

Extent

Janela  de  Consulta

JC

Page 41: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Pesquisa na R-tree

  Relacionamento de inclusão (está contido) e relacionamento de interseção

41

janela de consulta

MBB da entrada de um nó interno

obj2

obj1 obj3 janela de consulta

MBB da entrada de um nó interno

obj1

obj2

obj3

Page 42: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Pesquisa na R-tree

  Existência do relacionamento de inclusão (contém) do MBB de um objeto espacial com relação à janela de consulta

42

JC

(a)

(c)

(b)

  (a) engloba a JC e também possui um MBB de objeto espacial que contém a JC

  (b) não possui nenhum MBB de objeto espacial que contém a JC, apesar da entrada englobar a JC

  (c) não engloba a JC e portanto não possui nenhum MBB de objeto espacial que possa conter a JC

Page 43: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Pesquisa na R-tree

  Candidatos falsos e influência da área de dead space na determinação dos relacionamentos topológicos de (a) Interseção e (b) Inclusão (contém)

43

Área de Dead Space

Entrada (MBB) Janela  de  Consulta Objeto Espacial

(a) (b)

Page 44: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Representando incerteza

  Fuzzy Minimum Bounding Rectangle (FMBR) CR Retângulo Circunscrito

44

Page 45: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Representando incerteza

  Fuzzy Minimum Bounding Rectangle (FMBR) IR Retângulo Inscrito

45

Page 46: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Representando incerteza

  Fuzzy Minimum Bounding Rectangle (FMBR)

Regiões vagas

Dentro de IR: =1

Fora de IR: valor decrescente

46

Page 47: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Representando Incerteza

  Egg-Yolk

47

Page 48: Banco de Dados Espaciais · Linha em que os pontos não estão dispostos de forma retilínea Cada par de pontos conectados corresponde a um segmento de linha Usadas para representar

Perguntas

Ricardo Rodrigues Ciferri [email protected]

48