banco de dados espaciais - ufscar database group...

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

Upload: phungdang

Post on 29-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Banco de Dados Espaciais

Disciplina BD Não Convencionais

Prof. Ricardo Rodrigues Ciferri

São Carlos, 20 de Agosto de 2010

Sumário

  Tipos de Dados Espaciais

  Representação dos Dados

  Processamento de Consultas Espaciais

  Filtragem

  Refinamento

  Tipos de Consulta Espacial

  Exemplos de MAM

2

Tipos de Dados Espaciais

3

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

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

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

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

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

Tipos de Dados Espaciais

9

Tipos de Representação

  Matricial

10

Tipos de Representação

  Vetorial

11

Exemplos

  Dados temáticos   Podem ser

representados de forma matricial ou vetorial

12

Exemplos

  Imagens   Armazenadas em

representação matricial

13

Exemplos

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

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

14

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

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

Representação dos Dados no MAM

17

Processamento de Consultas Espaciais

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

18

Processamento de Consultas Espaciais

19

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

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

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

Tipos de Consultas Espaciais   Point Query

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

23

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

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

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

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

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

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

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

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

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

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

Tipos de Consultas Espaciais

34

Nearest Neighbor Spatial Join

  Spatial Join – exemplos

Direction North Spatial Join

Intersection Spatial Join

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

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

R-tree

37

  Estrutura de dados

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

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

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

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

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

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)

Representando incerteza

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

44

Representando incerteza

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

45

Representando incerteza

  Fuzzy Minimum Bounding Rectangle (FMBR)

Regiões vagas

Dentro de IR: =1

Fora de IR: valor decrescente

46

Representando Incerteza

  Egg-Yolk

47

Perguntas

Ricardo Rodrigues Ciferri [email protected]

48