Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco...

35
Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor: Guilherme Tavares de Assis

Transcript of Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco...

Page 1: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Seminário de Banco de Dados II

Banco de Dados Espaciais

Alunos:Bráulio Miranda Veloso

Vítor Mangaravite

Professor:Guilherme Tavares de Assis

Page 2: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Sumário

● Introdução● SGBDs Espaciais● Aplicações● Tipos de Dados● Representação dos Dados● Tipos de Consultas Espaciais● Representação Interna dos Dados● Aplicações SGBDs Espaciais

Page 3: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Introdução

● O que é um SGBD Espacial– Sistema que gerencia, além dos dados

convencionais, os dados espaciais (localização, forma e relações topológicas);

– Armazena e provê operações para a manipulação dos dados espaciais diretamente.

Page 4: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Introdução

● O que são dados espaciais– Atributos espaciais: localização e

representação de um objeto geométrico em um determinado sistema de referência;

– Relacionamento espacial: relacionamentos de vizinhança (topologia, distância e ordem)

– Podem ser agregados a mais informações não espaciais, que descreve qualitativamente ou quantitativamente a entidade espacial.

Page 5: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

SGBDs Espaciais

Page 6: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Aplicações

● Antes dos SGBD Espacial

Page 7: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Aplicações

● Com SGBD Espacial

Page 8: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Tipos de Dados

Page 9: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Representação dos Dados

● Matricial

● Vetorial

Page 10: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Ponto

● Menor unidade possível para representar um objeto espacial

● Definição no PostgresSQL:– point(double x, double y);

– ex.: point(23.4, -44.5).

Page 11: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Segmento de Reta

● Linha unida entre dois pontos.

● Definição no PostgresSQL:– lseg(point, point);

– ex.: lseg(point '(-1,0)', point '(1,0)').

Page 12: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Caminho

● Sequência aberta ou fechada de linhas

● Definição no PostgresSQL:– path ( [point, …, point] );

● Aberto

– path ( (point, …, point) ); ● Fechado

– ex.: path( [(0,0), (0,1), (2,2), (3,2)] ).

Page 13: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Polígono

● Sequência fechada de linhas

● Definição no PostgresSQL:– polygon ( (point, … , point) );

– ex.: point((0,0), (0,1), (2,2), (3,2), (0,0)).

Page 14: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Caixa

● Polígono retangular, definido por dois vértices opostos

● Definição no PostgresSQL:– box ( point, point );

– ex.: box( (0,0), (1,1) ).

Page 15: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Circulo

● Polígono circular, definido pelo ponto central e um raio

● Definição no PostgresSQL:– circle ( < ( point, point ), r > );

– ex.: circle( < ( 0, 0 ), 2 >) ).

Page 16: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Exemplo de Dados Espaciais

Municípios como polígonosRios como caminhos e Escolas como pontos

Page 17: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Tipos de Consultas Espaciais

● Consultas espaciais usando SQL:– Relacionamentos espaciais:

● de distância;● de ordem;● Topológicos.

– Operações espaciais:● área (area)● comprimento (length)● intersecção (intersection)● união (union)

Page 18: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

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 }

Page 19: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

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’

Page 20: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Tipos de Consultas Espaciais

● Point Query– Dado um ponto p Ed, encontre todos ∈

os objetos o que sobrepõem p

● O objeto contem o ponto?– SELECT circle '((0,0),2)' @> point '(3,3)';

● O ponto está no objeto?– SELECT point '(1,1)' <@ circle '((0,0),2)';

Page 21: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

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

– SELECT lseg '((-1,0),(1,0))' ?# box '((-2,-2),(2,2))';

Page 22: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Tipos de Consultas Espaciais

● Range Query– Containment Range Query: dado um

retângulo d-dimensional iso-oriented ⊆Ed, encontre todos os objetos contidos em R

– O objeto1 está dentro do objeto2?

– SELECT box '((0,0),(10,10))' @> box '((0,0),(2,2))';

Page 23: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Tipos de Consultas Espaciais

● Range Query– Enclosure Range Query: dado um

retângulo d--dimensional iso--oriented R Ed, encontre todos os objetos que o ⊆

englobam R

– O objeto2 está dentro do objeto1?

– SELECT box '((0,0),(10,10))' <@ box '((0,0),(2,2))';

Page 24: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

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’

– Está horizontalmente alinhado?● SELECT point '(1,0)' ?- point '(0,0)';

– Está verticalmente alinhado?● SELECT point '(0,1)' ?| point '(0,0)';

Page 25: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

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’

– SELECT ps.p FROM points AS ps ORDER BY ps.p <-> p_analisado LIMIT k;

Page 26: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

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 e a oeste de.

Page 27: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Tipos de Consultas Espaciais● Direction Query

– Está estritamente a esquerda?● SELECT circle '((0,0),1)' << circle '((5,0),1)';

– Está estritamente a direita?● SELECT circle '((5,0),1)' >> circle '((0,0),1)';

– Não se estende acima?● SELECT box '((0,0),(1,1))' &<| box '((0,0),

(2,2))';

– Não se estende abaixo?● SELECT box '((0,0),(3,3))' |&> box '((0,0),

(2,2))';

Page 28: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Tipos de Consultas Espaciais● Direction Query

– Está estritamente a esquerda?● SELECT circle '((0,0),1)' << circle '((5,0),1)';

– Está estritamente a direita?● SELECT circle '((5,0),1)' >> circle '((0,0),1)';

– Não se estende acima?● SELECT box '((0,0),(1,1))' &<| box '((0,0),

(2,2))';

– Não se estende abaixo?● SELECT box '((0,0),(3,3))' |&> box '((0,0),

(2,2))';

Page 29: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

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

– SELECT cs.circle FROM objects AS cs WHERE cs.circle <-> circulo_analisado <= q;

Page 30: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Representação Interna dos Dados

● Árvores Balanceadas● R-tree● Quad-tree● Grid

Page 31: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Representação Interna dos Dados

● Quad-tree– Divisão de quadrantes até obter quadros

com somente um ponto.

Page 32: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Aplicações SGBDs Espaciais

● SIG – Sistema de Informação Geográfica;● Serviços de Mapas na Web;● Mineração de Dados / Registros

Multidimensionais;● Very-large-scale-integration (VLSI);● CAD - Computer Aided Design (desenho

auxiliado por computador);● CAM-Computer Aided Manufacturing

(Fabricação Assistida por Computador).

Page 33: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Aplicações SGBDs Espaciais

Page 34: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Aplicações SGBDs Espaciais

Page 35: Seminário de Banco de Dados II Banco de Dados Espaciais · Seminário de Banco de Dados II Banco de Dados Espaciais Alunos: Bráulio Miranda Veloso Vítor Mangaravite Professor:

Bibliografia● Marco Casanova, Gilberto Câmara, Clodoveu Davis,

Lúbia Vinhas, Gilberto Ribeiro de Queiroz. Bancos de Dados Geográficos. MundoGEO, 2005. (disponível em http://www.dpi.inpe.br/gilberto/livro/bdados/capitulos.html)

● Ricardo Rodrigues Ciferri. Banco de Dados Espacias, 2010.

● Lúbia Vinhas. Banco de Dados Geográficos - 2013

● The PostgresSQL Global Development Group. PostgreSQL: Documentation: 9.1: Geometric Functions and Operators, 2013. (http://www.postgresql.org/docs/9.1/static/functions-geometry.html)