1 / 46

Objetos móveis: modelagem e consulta

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. Motivação.

samuru
Download Presentation

Objetos móveis: modelagem e consulta

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 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

  4. 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

  5. Contextualização • Jean quer saber quais os ônibus que estarão dentre 5 min naquele terminal

  6. Contextualização • Marie quer saber quais os ônibus estão a um raio de 5 km de distância daquele terminal

  7. 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

  8. Problemática Definir modelos para armazenamento e consulta de objetos móveis

  9. Objetivos • Discutir abordagens para modelar objetos móveis • Analisar consultas a objetos móveis

  10. 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

  11. Abordagem de Modelagem • Criação de tipos e operações entre os tipos • Associar uma álgebra aos tipos e operações criadas • Modelo Abstrato • Modelo Discreto

  12. 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

  13. Criação de Tipos mpoint mregion

  14. Operações attime mpoint ×time  point minvalue,maxvalue mpoint  point start,stop mpoint  time duration mpoint  real const point  mpoint

  15. Operações mdistance mpoint  mpoint  mreal visits mpoint  mregion  mpoint trajectory mpoint  line inside point  region  bool length line  real

  16. Modelo Abstrato • Para os seguintes tipos e operações tipospoint,time,real,mpoint,mreal operações attimempoint× time  point mdistancempoint× mpoint mreal

  17. Modelo Abstrato • Para os tipos

  18. Modelo Abstrato • Para as operações • Sejam r, s valores do tipo mpoint e t tempo

  19. Modelo Abstrato

  20. 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

  21. Modelo Discreto • Para os seguintes tipos e operações tipospoint,time,real,mpoint operações attimempoint× time  point

  22. Modelo Discreto • Para os tipos

  23. Modelo Discreto • Para as operações

  24. Consultas flights(id:string,from:string,to:string,route:mpoint) “Quais os destinos distantes em no máximo 3 horas de Fortaleza?” SELECT id FROM flights WHERE from = “FOR” AND duration(route) <= 3.0

  25. Consultas flights(id:string,from:string,to:string,route:mpoint) weather(kind:string,area:mregion) “Quais são os vôos que passaram através de uma tempestade tropical?” SELECT id FROM flights, weather WHERE kind = “snow storm” AND duration(visits(route,area)) > 0

  26. 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

  27. Avaliação de Consultas • Objetivos • Definição de um conjunto conciso de tipos de dados para objetos móveis • Definir um esquema de avaliação de consulta a objetos móveis • 1 e 2 devem se basear soluções industriais prontas (off-the-shelf)

  28. Idéia básica

  29. Representação de um ponto móvel

  30. Representação de um ponto móvel

  31. 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

  32. 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óvel CREATE TYPE m_o AS OBJECT (id integer, T trajectory, color integer, driver person_id);

  33. 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

  34. Custo = 5 min StartTime = 40 min EndTime = 60 min R = (50,50)

  35. Custo = 5 min StartTime = 40 min EndTime = 60 min R = (50,50)

  36. Custo = 5 min StartTime = 40 min EndTime = 60 min R = (50,50)

  37. Esquema de processamento da consulta • Processamento de consulta em duas fases: • Filtragem • 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

  38. Q = (R,StartTime), (R,EndTime+Custo) Custo = 5 min StartTime = 40 min EndTime = 60 min R = (50,50)

  39. R = (50,50)

  40. Custo = 5 min StartTime = 40 min EndTime = 60 min

  41. 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

  42. 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 e1 e2 e3 e4 ST ST + Cost ET ET + Cost e1 ST ST + Cost ET ET + Cost

  43. 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 e1 ST ST + Cost ET ET + Cost e1 ST ET ST + Cost ET + Cost

  44. 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 e1 ST ST + Cost ET ET + Cost

  45. 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

  46. 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

More Related