objetos móveis: modelagem e consulta cássio leonardo rodrigues raul fernandes herbster

46
Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Upload: renata-aleixo-ferretti

Post on 07-Apr-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Objetos móveis: modelagem e consulta

Cássio Leonardo RodriguesRaul Fernandes Herbster

Page 2: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Roteiro• Motivação• Contextualização• Problemática• Objetos Móveis• Abordagem de Modelagem• Avaliação de Consultas• Comentários Finais

Page 3: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Motivação• Aplicações que manipulam objetos

cujas características espaciais se modificam com o passar do tempo−Aplicações SIG envolvendo tempo−Aplicações de tempo real para

monitoração de veículos−Aplicações de realidade virtual

Page 4: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Contextualização• A cidade Lyon pretende oferecer um

novo serviço de transporte público• Em cada terminal de ônibus, o

usuário pode consultar informações a respeito dos ônibus que circulam

Page 5: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Contextualização• Jean quer saber quais os ônibus que

estarão dentre 5 min naquele terminal

Page 6: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Contextualização• Marie quer saber quais os ônibus

estão a um raio de 5 km de distância daquele terminal

5 km

Page 7: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Contextualização• Mais exemplos

−Quais aviões passaram pelo território aéreo da Venezuela na última semana?

−Quais os satélites mais próximos à rota da nave espacial nas próximas 4 horas?

−Quão rápido a Floresta Atlântica está sendo desmatada?

−Rotas de migração de aves e baleias

Page 8: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Problemática

Definir modelos para armazenamento e consulta de objetos móveis

Page 9: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Objetivos• Discutir abordagens para modelar

objetos móveis• Analisar consultas a objetos móveis

Page 10: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Objetos Móveis• São objetos que se movem no

espaço ao longo do tempo−Posição e/ou extensão

• Exemplos−Trajetórias de transportes públicos −Evolução da área atingida por um

câncer em um paciente

Page 11: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Abordagem de Modelagem1. Criação de tipos e operações entre

os tipos2. Associar uma álgebra aos tipos e

operações criadas − Modelo Abstrato− Modelo Discreto

Page 12: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Criação de Tipos• Tipos básicos

−point – descreve um ponto no plano 2D−region – descreve uma região no plano 2D−time – descreve dimensões de tempo

válidas• Tipos estendidos

−mpoint time point−mregion time region

Page 13: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Criação de Tipos

x

y

t

x

y

t

mpoint

mregion

Page 14: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Operaçõesattime mpoint × time pointminvalue,maxvalue mpoint pointstart,stop mpoint timeduration mpoint realconst point

mpoint

Page 15: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Operaçõesmdistance mpoint mpoint mrealvisits mpoint mregion mpointtrajectory mpoint lineinside point region boollength line real

Page 16: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Modelo Abstrato• Para os seguintes tipos e operaçõestipos point,time,real,mpoint,mrealoperaçõesattime mpoint × time pointmdistance mpoint × mpoint mreal

Page 17: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Modelo Abstrato• Para os tipos

}funçãoumaé:|{

}funçãoumaé:|{}{}{

}{

intint

2int

realtimemreal

potimempo

real

time

po

AAffA

AAffAIRAIRA

IRA

Page 18: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Modelo Abstrato• Para as operações

−Sejam r, s valores do tipo mpoint e t tempo

pontos dois entre euclidiana distância a representa ),( ondecontrário caso

)()( se ))(),(()( que tal:

),(

qpd

tstrtstrdtgAAg

srf

realtime

mdisttance

)(),( trtrfattime

Page 19: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Modelo Abstratoti

t

x

y

ti

ti

mdistance

attime

(xi,yi)

(xj,yj)

(xi,yi)

(xj,yj)

Page 20: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Modelo Discreto• Modelos abstratos não podem ser

implementados−São necessárias representações finitas

• Modelos discretos são aproximações−Descrições finitas de conjuntos infinitos

• Há dificuldades de mapear modelos abstratos em modelos discretos−Tipos de dados, operações

Page 21: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Modelo Discreto• Para os seguintes tipos e operaçõestipos point,time,real,mpointoperações

attime mpoint × time point

Page 22: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Modelo Discreto•Para os tipos

)}:},,1{,(

),,,,:1(

,0|),,,(,),,,,({}{

onde }{

onde }{

1111

ji

iitimeipointi

mmmmmpoint

real

timetimetime

pointpointpoint

ttjimji

boolcboolbDtDpmi

mcbtpcbtpArealA

realDDA

realrealDDA

Page 23: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Modelo Discreto•Para as operações

),( trfattime

Page 24: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Consultasflights(id:string,from:string,to:string,route:mpoint)

“Quais os destinos distantes em no máximo 3 horas de Fortaleza?”

SELECT idFROM flightsWHERE from = “FOR” AND duration(route) <= 3.0

Page 25: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Consultas

“Quais são os vôos que passaram através de uma tempestade tropical?”

SELECT idFROM flights, weatherWHERE kind = “snow storm” AND

duration(visits(route,area)) > 0

flights(id:string,from:string,to:string,route:mpoint)weather(kind:string,area:mregion)

Page 26: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Avaliação de Consultas• Exemplo da frota de táxis

−Qual o táxi mais próximo de um endereço específico?

−Nós próximos 15 minutos, quais táxis estarão pelo menos 3 km próximos de um endereço de um cliente?

−Quantos táxis viajaram mais de 5 km até chegar ao endereço de um cliente

Page 27: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Avaliação de Consultas• Objetivos

1. Definição de um conjunto conciso de tipos de dados para objetos móveis

2. Definir um esquema de avaliação de consulta a objetos móveis

3. 1 e 2 devem se basear soluções industriais prontas (off-the-shelf)

Page 28: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Idéia básica

SIGBásico

SGBD

Sistema Gerente de Localização de

OM

Dados Espaço-

Temporais

Page 29: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Representação de um ponto móvel

Page 30: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Representação de um ponto móvel

Page 31: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Modelo de dados• A trajetória é uma relação em cada

elemento tem os seguintes atributos−(sequence#, (x, y), t, b)

• Exemplo: (3, (50,75), 1000, true)

• Em uma trajetória típica de 10 km de extensão, cada trecho tem cerca de 500 m

Page 32: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Modelo de dados• Definição do tipo trajetória

CREATE TYPE trajectory AS OBJECT

(SEQUENCE# integer, x integer, y integer, t real, b boolean);

• Definição do tipo objeto móvelCREATE TYPE m_o AS OBJECT

(id integer, T trajectory, color integer, driver person_id);

Page 33: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Predicados de consulta• Nos próximos 20 minutos, quais táxis estarão

sempre pelo menos 5 minutos próximos de um endereço de um cliente, sem sair da sua trajetória original?

• A consulta SQL equivalente éSELECT obj FROM M_O

WHERE obj WITHIN cost minutes FROM R

ALONG EXISTING PATH

ALWAYS BETWEEN StartTime AND EndTime

Page 34: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Custo = 5 minStartTime = 40 minEndTime = 60 minR = (50,50)

Page 35: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Custo = 5 minStartTime = 40 minEndTime = 60 minR = (50,50)

Page 36: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Custo = 5 minStartTime = 40 minEndTime = 60 minR = (50,50)

Page 37: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Esquema de processamento da consulta• Processamento de consulta em duas fases:

1. Filtragem2. Refinamento

• Filtragem− Consulta SQL é mapeada para uma janela de

consulta 3D, chamada Q− Trajetórias que intersectam Q são recuperadas

e são armazenadas em um conjunto S

Page 38: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Custo = 5 minStartTime = 40 minEndTime = 60 minR = (50,50)

Q = (R,StartTime), (R,EndTime+Custo)

Page 39: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

R = (50,50)

Page 40: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Custo = 5 minStartTime = 40 minEndTime = 60 min

Page 41: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Esquema de processamento da consulta• Refinamento

−Para cada trajetória T pertencente a S, vamos considerar a coordenada temporal em que T cruza o ponto R

−e1 = tempo em que T intersecta R pela primeira vez

−e2 = tempo em que T intersecta R pela segunda vez

−... e assim por diante

Page 42: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Esquema de processamento da consulta• Situação hipotética em que a consulta é

satisfeita

• Se e1 – StartTime > Cost

−O objeto móvel está mais 5 min longe. Logo deve ser descartado

ST ET ET + CostST + Cost

e1

ST ET ET + CostST + Cost

e1 e2 e3 e4

Page 43: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Esquema de processamento da consulta• Se e1 – StartTime Cost

−Precisamos analisar e1 em relação ao tempo final ET. Se e1 > ET então a trajetória deve ser selecionada

−Situação ocorre quando o custo é maior que o intervalo em que o predicado deve valer

ST ET ET + CostST + Cost

e1

ST ET ET + CostST + Cost

e1

Page 44: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Esquema de processamento da consulta• se ET > e1, temos que analisar a subtrajetória

entre e1 e ET com relação a e2, e3 etc.−Esse processo é feito recursivamente, atribuindo-

se e1 a StartTime−Se não existe nenhum e2, a trajetória deve ser

eliminada de S

• No final, as trajetórias que permanecem em S são a resposta da consulta

ST ET ET + CostST + Cost

e1

Page 45: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Comentários Finais• Solução simples e poderosa • Permite tratamento de geometrias que

se modificam ao longo do tempo −Modelagem e consulta

• Tipos de dados espaço-temporal podem ser usados para estender qualquer SGBD

• Banco de dados e mobilidade

Page 46: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster

Referências• Martin Erwig,  Ralf Hartmut Güting,  Markus Schneider

and Michalis Vazirgiannis. “Spatio-Temporal Data Types:An Approach to Modeling and Querying Moving Objects in Databases”. GeoInformatica Vol. 3, No. 3, 1999.

• Michalis Vazirgiannis  and Ouri Wolfson. “A Spatiotemporal Model and Language for Moving Objects on Road Networks”. C.S. Jensen et al. (Eds.): SSTD 2001, LNCS 2121, pp. 20-35, 2001