Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouRenata Aleixo Ferretti Alterado mais de 9 anos atrás
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 1.Criação de tipos e operações entre os tipos 2.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 attimempoint × time point minvalue,maxvaluempoint point start,stopmpoint time durationmpoint real constpoint 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 tipos point,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 tipos point,time,real,mpoint operações attime mpoint × time point
22
Modelo Discreto Para os tipos
23
Modelo Discreto Para as operações
25
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
26
Consultas “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 flights(id:string,from:string,to:string,route:mpoint) weather(kind:string,area:mregion)
27
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
28
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)
29
Idéia básica SIG Básico SGBD Sistema Gerente de Localização de OM Dados Espaço- Temporais
30
Representação de um ponto móvel
32
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
33
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);
34
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
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
Custo = 5 min StartTime = 40 min EndTime = 60 min R = (50,50)
38
Esquema de processamento da consulta Processamento de consulta em duas fases: 1.Filtragem 2.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
39
Custo = 5 min StartTime = 40 min EndTime = 60 min R = (50,50) Q = (R,StartTime), (R,EndTime+Custo)
40
R = (50,50)
41
Custo = 5 min StartTime = 40 min EndTime = 60 min
42
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 −e 1 = tempo em que T intersecta R pela primeira vez −e 2 = tempo em que T intersecta R pela segunda vez −... e assim por diante
43
Esquema de processamento da consulta Situação hipotética em que a consulta é satisfeita Se e 1 – StartTime > Cost −O objeto móvel está mais 5 min longe. Logo deve ser descartado STETET + CostST + Cost e1e1 STETET + CostST + Cost e1e1 e2e2 e3e3 e4e4
44
Esquema de processamento da consulta Se e 1 – StartTime Cost −Precisamos analisar e 1 em relação ao tempo final ET. Se e 1 > 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 STETET + CostST + Cost e1e1 STET ET + CostST + Cost e1e1
45
Esquema de processamento da consulta se ET > e 1, temos que analisar a subtrajetória entre e1 e ET com relação a e 2, e 3 etc. −Esse processo é feito recursivamente, atribuindo-se e 1 a StartTime −Se não existe nenhum e 2, a trajetória deve ser eliminada de S No final, as trajetórias que permanecem em S são a resposta da consulta STETET + CostST + Cost e1e1
46
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
47
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.