Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster.
-
Upload
renata-aleixo-ferretti -
Category
Documents
-
view
213 -
download
0
Transcript of Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster.
![Page 1: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/1.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/2.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/3.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/4.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/5.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/6.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/7.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/8.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/9.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/10.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/11.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/12.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/13.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/14.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/15.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/16.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/17.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/18.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/19.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/20.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/21.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/22.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/23.jpg)
Modelo Discreto•Para as operações
),( trfattime
![Page 24: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/24.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/25.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/26.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/27.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/28.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/29.jpg)
Representação de um ponto móvel
![Page 30: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/30.jpg)
Representação de um ponto móvel
![Page 31: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/31.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/32.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/33.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/34.jpg)
Custo = 5 minStartTime = 40 minEndTime = 60 minR = (50,50)
![Page 35: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/35.jpg)
Custo = 5 minStartTime = 40 minEndTime = 60 minR = (50,50)
![Page 36: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/36.jpg)
Custo = 5 minStartTime = 40 minEndTime = 60 minR = (50,50)
![Page 37: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/37.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/38.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/39.jpg)
R = (50,50)
![Page 40: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/40.jpg)
Custo = 5 minStartTime = 40 minEndTime = 60 min
![Page 41: Objetos móveis: modelagem e consulta Cássio Leonardo Rodrigues Raul Fernandes Herbster.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/41.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/42.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/43.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/44.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/45.jpg)
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.](https://reader036.fdocumentos.tips/reader036/viewer/2022062522/5706384b1a28abb8238f5fb3/html5/thumbnails/46.jpg)
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