Objetos Móveis Clodoveu Davis Objetos Móveis em SIET • Referências fundamentais – Güting, R. H., Böhlen, M. H., Erwig, M., Jensen, C. S., Lorentzos, N., Nardelli, E., Schneider, M., Viqueira, J. R. R. Spatio-temporal Models and Languages: an approach based on data types. In Sellis, T. et al. Spatio-temporal Databases. Lecture Notes in Computer Science 2520, 117-176, 2003. – Güting, R.H., M.H. Böhlen, M. Erwig, C.S. Jensen, N.A. Lorentzos, M. Schneider, and M. Vazirgiannis, A Foundation for Representing and Querying Moving Objects in Databases. ACM Transactions on Database Systems 25 (2000), 1-42. – Hornsby, K. and Egenhofer, M. J. Modeling Moving Objects over Multiple Granularities. Annals of Mathematics and Artificial Intelligence 36:177-194, 2002. Introdução • BD espaciais lidam com geometrias associadas a objetos • BD temporais buscam registrar estados passados dos objetos – Passado em termos de tempo de validade (passado do mundo real) – Passado em termos de tempo de transação (passado do próprio banco de dados) Introdução • BD espaço-temporais precisam incluir esses tópicos, bem como geometrias que mudam ao longo do tempo • Certos autores pensam que isso significa que BD espaço-temporais são essencialmente BDs de objetos móveis – A mudança de uma geometria no tempo pode ser devida a deslocamento sem alteração de forma ou deformação sem mudança posicional Introdução • Foco usual: – Pontos móveis – Regiões móveis • Linhas são deixadas de fora por serem “abstrações ou projeções de movimentos” no contexto de BDET, casos particulares das regiões • Interesse na definição de tipos de dados e linguagens de consulta • Enfoque espaço-temporal: 2D + tempo (SNAP) • Preocupação com a granularidade ET • Preocupação com a possibilidade de implementação em sistemas reais Enfoque em Tipos de Dados (Güting) • O movimento pode se dar em passos discretos ou continuamente – Passos discretos podem ser considerados um caso especial • As mudanças no BD são feitas em passos discretos (transações) – A modelagem deve considerar o tempo de validade – Se o tempo de transação for importante, o BD precisa ser bitemporal Enfoque em Lifelines • Geospatial Lifelines são modelos do movimento de um objeto – Apenas pontos • Elemento de observação de uma lifeline: – Tripla <Id, Location, Time> – Portanto, visão SNAP • Múltiplos níveis de granularidade – Granularidade espacial – Granularidade temporal Enfoque em Tipos de Dados • Objetivos básicos das consultas – Relatar o passado dos objetos – Prever ou estimar o futuro – Determinar o posicionamento instantâneo (posição agora) de algo que se move continuamente Enfoque em Tipos de Dados • Modelagem: tipos básicos – mpoint: ponto móvel – mregion: região móvel – São mapeamentos de tempo para posição/ forma • mpoint = time à point • mregion = time à region • Genericamente: τ(α) = time à α Mpoint Operações • Exemplos: • Obs: mdistance é uma série temporal de valores de distância (“real móvel”) Consultas • Espacial • Temporal • Espaço-temporal (join ET) Consultas Problemas • Seria realista executar essas consultas? • Como seriam armazenados os dados espaçotemporais? • A variação contínua funciona bem na modelagem conceitual, mas a implementação requer a discretização e funções de interpolação • Visão abstrata versus discreta – Abstrata: SPAN; Discreta: SNAP – Abstrata: conceitual; Discreta: implementação Abordagem • Criar tipos e operações adequados para a realização de consultas • Definir a semântica dos tipos – Usando uma álgebra associada • Determinar maneiras de lidar com as aproximações (e as dificuldades) resultantes da discretização Discretização Discretização • Problemas ligados à discretização – Propriedades simples de objetos ou pares de objetos podem ser expressas como funções do tempo (distância, relações topológicas, etc.)? – O registro de posições ao longo de uma trajetória (observações) é suficiente? É necessário registrar velocidade e aceleração? – A mudança de forma pode ser expressa com transformações afins (rotação, translação, mudança de escala), ou precisa ser arbitrária? Como interpolar a forma entre duas observações? Álgebra (abstrata) para Objetos Móveis • Inclui – Definição de tipos básicos (numéricos, string, booleano), espaciais (ponto, linha, polígono, conjunto de pontos) e temporais (instante) – Definição de tipos compostos (básico/espacial, básico/temporal, espaço-temporal) – Definição de operações (não-temporais, de conjuntos, agregação, distância e direção, temporais) • Operações sobre dados não-temporais são estendidas para refletir dados temporais (mpoint e mregion) • Operadores “derivada” (taxa de mudança ao longo do tempo), “velocidade” (derivada aplicada a mpoint), “mudança de direção” (aplicada a mpoint), e “aceleração” Estruturas de Dados para Objetos Móveis • A partir da álgebra, foram definidas estruturas de dados contendo tipos discretos que aproximam os conceitos abstratos • Tipos básicos: Estruturas de Dados para Objetos Móveis • A representação de movimento é feita usando slices, fragmentos da evolução temporal • Dentro de cada slice, o movimento deve poder ser aproximado por alguma função simples (ex.: constante; linear) Estruturas de Dados para Objetos Móveis • Nos tipos básicos, o Unit é correspondente a um slice. • Existem tipos (upoint, ureal, uline, uregion) que correspondem ao valor instantâneo que define um slice • Os tipos geométricos e temporais são discretizados Estruturas de Dados para Objetos Móveis Estruturas de Dados para Objetos Móveis • As definições formais podem ser encontradas em (Guting et al 2003) • São apresentados também predicados espaço-temporais – Ex.: predicado espacial INSIDE gera • always_inside • sometimes_inside • São incluídas definições especiais para subdivisões planares temporais Estruturas de Dados para Objetos Móveis • Há também uma definição formal desses predicados e de seqüências de predicados ao longo do tempo – Ex.: inside -> meet -> disjoint é possível – Ex.: inside -> disjoint não é possível – Ponto Cross Region (no sentido de movimento) = disjoint > meet > inside > meet > disjoint – Region Cross Region (movimento) = disjoint > meet > overlap > covered by > inside > coveredby > overlap > meet > disjoint Consultas • Existem propostas para inclusão dos predicados espaço-temporais e das seqüências de predicados nas linguagens de consulta • Ex: Enfoque em Lifelines • Geospatial Lifelines são modelos do movimento de um objeto – Apenas pontos • Elemento de observação de uma lifeline: – Tripla <Id, Location, Time> – Considera-se apenas séries de amostras discretas, ordenadas pelo instante de observação – Portanto, visão SNAP Enfoque em Lifelines • Conceitos básicos – Lifeline thread – Velocidade – “Beads and necklaces” • Enfoque essencialmente geométrico e aproximativo Enfoque em Lifelines Enfoque em Lifelines Enfoque em Lifelines Enfoque em Lifelines • A definição geométrica das beads (contas) permite que se resolva consultas geometricamente – Ex.: é possível que o objeto A tenha estado em (x,y)? Por quanto tempo? • (1) Interseção entre o bead de A e uma linha vertical em (x,y) • (2) Comprimento da linha – Ex: é possível que o objeto A e o objeto B tenham se encontrado? • Interseção dos beads de A e B – Ex.: que locais o objeto A pode ter visitado no tempo t? • Interseção entre o bead de A e um plano z = t Enfoque em Lifelines Enfoque em Lifelines • Naturalmente, o enfoque é aproximativo – A velocidade é considerada constante – Não se consideram obstáculos ao movimento em uma determinada direção – O movimento é discretizado, e as operações supõem que se conheça a posição do objeto em determinados instantes (os vértices de cada bead) Granularidade de Lifelines • Múltiplos níveis de granularidade – Granularidade espacial • Melhor resolução da forma geométrica – Granularidade temporal • Mais amostras da posição ao longo do tempo • Melhor aproximação da velocidade Acréscimo de Pontos Seqüência de Pontos: Necklaces Refinamento de Amostras Refinamento da Velocidade Beads degeneradas Generalização de Necklaces Generalização de Necklaces Generalização por Convex Hull 3D Desempenho • O cálculo geométrico da interseção de beads é complexo e pode ser um problema para o desempenho • São realizadas aproximações de beads usando caixas (minimum bounding boxes) tridimensionais, poliédricas ou cilíndricas (cilindros com base circular ou elíptica) Aplicação a Regiões? Mineração de Trajetórias Padrões de mobilidade Padrões de mobilidade Padrões de mobilidade Principais Direções de Pesquisa • • • • • • • • Linguagem de consulta Descrição mais refinada/correta/completa do movimento Granularidade variável também espacialmente Movimento restrito a “canais” (ex. ruas, trilhos, linhas aéreas, etc.) Representação de incerteza Coordenação com a área de raciocínio espacial qualitativo Mineração de trajetórias Anonimização