Pós-Graduação em Ciência da Computação
DBST: Uma API para Criação de
Trajetórias Semânticas no SGBD
PostgreSQL/Postgis
Por
Rodrigo da Rocha Borges de Santana
Dissertação de Mestrado Profissional
Universidade Federal de Pernambuco [email protected] www.cin.ufpe.br/~posgraduacao
Rodrigo da Rocha Borges de Santana
DBST: Uma API para Criação de Trajetórias
Semânticas no SGBD PostgreSQL/Postgis
ORIENTADOR (A): Valéria Cesário Times
Recife, Abril/2013
UNIVERSIDADE FEDERAL DE PERNAMBUCO
CENTRO DE INFORMÁTICA
PÓS-
- GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
Este trabalho foi apresentado à Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco como requisito parcial para obtenção do grau de Mestre Profissional em Ciência da Computação.
Catalogação na fonte
Bibliotecária Jane Souto Maior, CRB4-571
Santana, Rodrigo da Rocha Borges de
DBST: uma API para criação de trajetórias semânticas no SGBD PostgreSQL/Postgis. / Rodrigo da Rocha Borges de Santana - Recife: O Autor, 2013.
xi, 101 f.: fig., tab., quadros
Orientador: Valéria Cesário Times.
Dissertação (mestrado) - Universidade Federal de
Pernambuco. CIn, Ciência da Computação, 2013. Inclui bibliografia e apêndice.
1. Banco de dados. 2. Sistema de informação geográfica. I. Times, Valéria Cesário (orientadora). II. Título.
Dissertação de Mestrado Profissional apresentada por Rodrigo da Rocha Borges de Santana à Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco, sob o título, “DBST: Uma API para Criação de Trajetórias
Semânticas no SGBD PostgreSQL/Postgis”, orientada pela Professora Valéria Cesário Times
e aprovada pela Banca Examinadora formada pelos professores:
______________________________________________
Prof. Fernando da Fonseca de Souza Centro de Informática / UFPE
__________________________________________
Prof. Marizete Silva Santos
Universidade Federal Rural de Pernambuco
___________________________________________ Prof. Valéria Cesário Times
Centro de Informática / UFPE
Visto e permitida a impressão. Recife, 19 de abril de 2013.
___________________________________________________
Profª. EDNA NATIVIDADE DA SILVA BARROS
Coordenadora da Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco.
Dedico essa vitória primeiramente a DEUS!
Agradecimentos
Considero-me uma pessoa abençoada! Por pertencer a uma família solidária, ser casado com uma pedra preciosa e rara, além de ser rodeado de amigos irmãos, trabalhar com o que gosto e me sentir como uma pessoa querida dentre as que eu convivo.
Primeiro que tudo enalteço a DEUS por tudo que tem feito na minha vida! Sem Ele nada seria possível.
Agradeço a minha mãe, uma das pessoas mais batalhadoras e incríveis que conheci. É principalmente por ela que busco uma constante evolução em minha vida profissional e pessoal. Uma pessoa realmente impressionante! Agradeço também a minha vó Irene, que teve uma participação constante na minha criação, me passando sempre muito conhecimento de vida. Também agradeço a minha tia Iracy que sempre me incentivou a estudar.
Minha esposa foi a pessoa mais próxima a mim durante esta etapa de minha vida. Uma mulher maravilhosa, apaixonante, dedicada a família e acima de tudo, é a mulher que escolhi para viver, minha princesa. É por estes motivos e sentimentos que deixo aqui o meu agradecimento a ela. Muito obrigado a minha querida e amável esposa.
Agradeço também a minha amiga e gerente Marlice Novais, por todo o apoio dado e principalmente pela oportunidade de fazer este Mestrado. Uma pessoa que sempre esteve proporcionando possibilidades de crescimento profissional a minha pessoa. Foi ela que também intermediou uma melhora na minha condição financeira para que eu pudesse me graduar e chegar a fazer o Mestrado. Obrigado por tudo.
Professora Valéria, minha orientadora, um anjo dentre outros que DEUS colocou no meu caminho, uma pessoa formidável, serena e paciente. Obridado pela paciência e confiança depositada a mim, e que DEUS continue iluminando o seu caminho e da sua família. Não sei como agradecê-la, digo apenas obrigado, obrigado, muito
obrigado. O que posso fazer neste momento de reflexão é “dedicar a primeira fatia do bolo” a ela. Sem dúvida a pessoa mais importante desta minha jornada no decorrer do mestrado e por quem a minha admiração só aumentou.
Agradeço a meus amigos (Mário, Ednei, Roberto, Melo, Diogo, Júlio, Djailson, Jorge, Adriano, Márcio) do Centro de Informática da UFPE pelo apoio e demonstração de confiança a mim depositada. Em especial, agradeço às minhas duas amigas irmãs: Juliana e Nadja. Muito obrigado pela ajuda e principalmente pelas revisões dos textos da dissertação. Agradeço a todos pelas conversas de apoio, dando sempre uma “injeção” de ânimo e perseverança. Muito obrigado ao meu grande amigo Clécio, pois sem ele não teria nem começado a minha graduação. Ele não só me incentivou bastante a ingressar em uma universidade como pagou o meu vestibular em um momento financeiro difícil passado por mim. Na época, ele acreditou mais em mim do que eu mesmo. Deixo aqui também o meu muito obrigado a André que tanto me ajudou desde o primeiro momento em que me conheceu.
Agradeço também às pessoas que em silêncio torceram e oraram por mim. Muito obrigado!
Portas da vida
Se você abre uma porta, você pode ou não entrar em uma nova sala. Você pode não entrar e ficar observando a vida. Mas se você vence a dúvida, o medo, e entra, dá um grande passo, nesta sala vive-se. Mas, também tem um preço... São inúmeras outras portas que você descobre. Às vezes quebra-se a cara, às vezes curte-se mil e uma. O grande segredo é saber quando e qual porta deve ser aberta. A vida não é rigorosa. Ela propicia erros e acertos. Os erros podem ser transformados em acertos quando com eles se aprende. Não existe a segurança do certo eterno. A vida é generosa. A cada sala que se vive, descobrem-se tantas outras portas. E a vida enriquece quem se arrisca a abrir novas portas. Ela privilegia quem descobre seus segredos e generosamente oferece afortunadas portas. Mas a vida também pode ser dura e severa. Se você não ultrapassar a porta, terá sempre a mesma porta pela frente. E a repetição perante a criação, é a monotonia monocromática perante a multiplicidade das cores; é a estagnação da vida...
Para a vida, as portas não são obstáculos, mas diferentes passagens...
Resumo
Atualmente, cada vez mais existem Sistemas de Gerenciamento de Banco de dados (SGBD) que disponibilizam tipos de dados com características geométricas e temporais, para indicar a localização de um dado objeto móvel no espaço e no tempo, ou demarcar topologicamente uma dada região. Isso se deve ao aumento do uso de tecnologias de localização geográfica, tal como o Sistema de Posicionamento Global (GPS). Cada vez mais cresce o uso de GPS por aplicações de domínios distintos. No entanto, os dados coletados por dispositivos de localização acoplados a objetos móveis que se deslocam ao longo do espaço e do tempo, não apresentam informações semânticas, dificultando a análise e compreensão destes dados. Por isso, foi identifcado a falta de SGBD capazes de representar e manipular trajetórias semânticas.
Existem vários trabalhos na literatura voltados para modelagem de trajetórias semânticas e para análise de trajetórias brutas obtidas de GPS para extração de conhecimento. Uma vez geradas e modeladas, as trajetórias semânticas precisam ser armazenadas em um SGBD. Por isso, este trabalho tem como objetivo estender o SGBD PostgreSQL/Postgis com novos tipos de dados para representação de trajetória semântica. Para facilitar a utilização desses novos tipos de dados, é também proposta uma Application Programming Interface (API) denominada de DBST (Database of Semantic Trajectories). A validação destes novos tipos de dados e da API DBST foi feita pela geração de bases de dados de trajetórias semânticas para dois domínios de aplicação distintos e com base em dados reais de trajetórias de objetos móveis.
Palavras-Chaves: Trajetória bruta, trajetória semântica, dados espaço-temporais,
Abstract
Currently, there are more and more Systems Management Database (DBMS) that provide data types with geometric and temporal features, to indicate the location of a given moving object in space and time, or to topologically demarcate a given region. This is due to the increased use of geo-location technology such as Global Positioning System (GPS). There is an increasing use of GPS by applications from different domains. However, data collected by tracking devices attached to mobile objects moving across space and time, have no semantic information, making it difficult to analyze and understand these data. Therefore, was identified a lack of DBMS able to represent and manipulate semantic trajectories.
Several studies in the literature have focused on the modeling of semantic trajectories and on the analysis of raw trajectories extracted from GPS for knowledge discovery. Once generated and modeled the semantic trajectories must be stored in a DBMS. Therefore, this study aims to extend the DBMS PostgreSQL / PostGIS with new data types for representing semantic trajectories. To facilitate the use of these new data types, it is also proposed an Application Programming Interface (API) called DBST (Database of Semantic Trajectories). The validation of these new data types and of the DBST API was done by generating semantic trajectories databases for two different application domains, and based on real trajectory data of moving objects.
Keywords: Raw trajectories, semantic trajectories, spatiotemporal data, moving
Índice
1. Introdução ... 1 1.1. Motivação ... 2 1.2. Objetivos ... 4 1.3. Estrutura da Dissertação ... 4 2. Fundamentação Teórica ... 6 2.1. Introdução ... 72.2. Representação de Dados Espaciais e Temporais ... 7
2.2.1. Representação de Dados Espaciais ... 7
2.2.2. Representação de Dados Temporais ... 9
2.3. Representação de Trajetórias ... 14
2.3.1. Representação de Trajetória Bruta ... 18
2.3.2. Representação de Trajetória Semântica ... 19
2.3.3. Modelagem Conceitual de Trajetória ... 24
2.3.3.1. O Modelo de Paradas e Movimentos ... 24
2.3.3.2. Outros Modelos Conceituais ... 27
2.4. API ... 28
2.5. Conclusões... 30
3. Trabalhos Correlatos ... 32
3.1. Introdução ... 33
3.2. API para Dados Geográficos ... 33
3.2.1. A API TerraLib ... 34
3.2.2. A API ArcSDE ... 34
3.3. Comparação entre API DBST x TerraLib x ArcSDE ... 35
3.4. Representação de Trajetórias Semânticas em BD ... 36
3.4.1. Proposta de Fajardo ... 37
3.5. Comparação entre API DBST e o trabalho de Fajardo ... 38
3.6. Conclusões ... 41
4. A API DBST (DataBase of Semantic Trajectories) ... 43
4.1. Introdução ... 44
4.2. Tipos de Dados da API DBST ... 44
4.2.1. Dados de Paradas e Movimentos ... 45
4.2.3. Dados de Anotações Semânticas ... 49
4.3. Implementação da API DBST ... 58
4.3.1. Estrutura de Classes da API DBST ... 58
4.4. Conclusão ... 62
5. Exemplos de Aplicação ... 64
5.1. Introdução ... 65
5.2. Preparação do Ambiente ... 65
5.3. Uso de Tipos de Dados da API DBST ... 66
5.4. Cenário 1 - Monitoramento de Pássaros... 69
5.4.1. Trajetórias de Pássaros ... 69
5.4.2. Exemplos de Consultas ... 70
5.5. Cenário 2: Gerenciamento de Transporte Público ... 76
5.5.1. Trajetórias de Ônibus ... 76 5.5.2. Exemplos de Consultas ... 77 5.6. Conclusões... 81 6. Conclusões ... 83 6.1. Considerações Finais ... 84 6.2. Principais Contribuições ... 85 6.3. Limitações ... 85 6.4. Trabalhos Futuros... 86 Referências Bibliográficas ... 88 Apêndice A ... 96 Scripts DDL PostgreSQL/Postgis ... 96
Cenário 1 – Gerenciamento de Trajetória de Pássaros ... 96
Lista de Figuras
Figura 1 - Rede geográfica do globo terrestre mostrando o sistema de coordenadas (x,y) .... 9
Figura 2 - Tempo consecutivo e linearmente ordenado ... 10
Figura 3 - Representação do tempo ramificado ... 10
Figura 4 - Representação do tempo circular ... 11
Figura 5 - O caminho percorrido pelo objeto móvel em vários segmentos espaço-temporal. 15 Figura 6 - Paradas e movimentos ao longo de uma trajetória bruta ... 18
Figura 7 - Processo de limpeza dos dados de uma trajetória bruta ... 19
Figura 8 - Exemplo de uma trajetória semântica ... 20
Figura 9 - Reconstrução de uma trajetória semântica ... 21
Figura 10 - Modelagem conceitual de uma trajetória ... 25
Figura 11 - Mapeamento do modelo de paradas e movimentos para uma aplicação de monitoramento de pássaro ... 26
Figura 12 - Processo de descoberta do conhecimento a partir de dados espaços-temporais ... 38
Figura 13 - Representação Gráfica da Estrutura de Classes da API DBST. ... 59
Figura 14 - Diagrama de classes da API DBST ... 61
Figura 15 - Estrutura da tabela de armazenamento de trajetórias de pássaros. ... 70
Figura 16 - Esquema lógico do monitoramento de pássaros. ... 75
Lista de Quadros
Quadro 1 - Classificações da variação do tempo... 12
Quadro 2 - Forma de representação do elemento primitivo instante ... 13
Quadro 3 - Forma de representação do elemento primitivo intervalo. ... 14
Quadro 4 - Características pertencentes a uma trajetória. ... 16
Quadro 5 - Elementos contidos em uma trajetória... 17
Quadro 6 - Quadro comparativo entre as APIs: DBST, TerraLib e ArcSDE ... 36
Quadro 7 - Quadro comparativo entre a Proposta de Fajardo e a API DBST. ... 39
Quadro 8 - Tipo de dado que representa os movimentos de objetos móveis ... 45
Quadro 9 - Tipo de dado que representa as paradas de objetos móveis. ... 47
Quadro 10 - Tipo de dado referente às trajetórias brutas. ... 48
Quadro 11 - Tipo de dado referente às trajetórias semânticas. ... 49
Quadro 12 - Tipo de dado referente à anotação semântica. ... 50
Quadro 13 - Tipo de dado referente à anotação sobre o comportamento do objeto. ... 52
Quadro 14 - Tipo de dado referente à anotação sobre as atividades realizadas pelos objetos móveis. ... 53
Quadro 15 - Tipo de dado referente à anotação sobre o ambiente transitado pelo objeto móvel ... 54
Quadro 16 - Tipo de dado referente à anotação sobre eventos ocorridos no percurso do objeto móvel. ... 55
Quadro 17 - Tipo de dado referente à anotação sobre o objetivo da trajetória. ... 56
Quadro 18 - Tipo de dado referente ao meio de transporte do objeto móvel. ... 57
Quadro 19 - Código de criação dos tipos de dados semânticos da API DBST. ... 67
Quadro 20 - Código de criação dos tipos de dados semânticos para o SGBD ... 68
Quadro 21 - de linha do arquivo de entrada da API DBST... 68
Quadro 22 - Código para Importação de dados. ... 68
Principais Abreviações
Abreviação Significado
BD Banco de dados
SGBD Sistema de Gerenciamento de Banco de Dados
SGBDR Sistema de Gerenciamento de Banco de Dados Relacional
SGBDOR Sistema de Gerenciamento de Banco de Dados Objeto-Relacional
BDG Banco de Dados Geográfico
API Application Programming Interface
SQL Structured Query Language
DBST Database of Semantic Trajectories
ISO International Organization for Standardization
OGC Open Geospatial Consortium
GPS Global Positioning System
RFID Radio-Frequency IDentification
TB Trajetória Bruta
TS Trajetória Semântica
1
Capítulo
1
Introdução
Este capítulo apresenta a descrição da motivação da pesquisa executada neste trabalho, os objetivos traçados para a pesquisa, além de mostrar a estrutura organizacional deste documento, contendo a sinopse de cada capítulo.
1.1. Motivação
Atualmente há um crescimento no uso de dispositivos de monitoramento, capazes de monitorar o percurso de um objeto móvel qualquer no espaço, durante um dado período de tempo, seja no espaço terrestre, aquático ou aéreo. O uso destes dispositivos tende a crescer a cada momento, devido à redução de custo dos dispositivos e da disponibilidade de novas tecnologias de rastreamento (LOY, A. M., 2011). Por isso, tem crescido o monitoramento de objetos móveis por meio de tecnologias de posicionamento, como Sistema de Posicionamento Global (GPS), Identificação por Rádio Frequência (RFID), dentre outras. Houve também um crescimento na área de pesquisa sobre análise de dados de trajetória, especialmente referente às seguintes subáreas: modelagem de dados de trajetória, processamento e enriquecimento semântico (YAN et. al., 2012). Para este trabalho dissertativo, o dispositivo de rastreamento tomado como base foi o GPS.
Com o dispositivo de GPS, são coletadas informações espaço-temporais definidas a partir de coordenadas geográficas (denotadas aqui por ((x, y), t)) de trajetórias dos objetos móveis rastreáveis (e. g. aparelho celular, veículos, mercadorias, animais, dentre outros). Os dados coletados por estes dispositivos são classificados como dados brutos, nos quais praticamente não há significado. Para extrair informações contextuais e até mesmo conhecimento, a partir dos dados de uma dada trajetória, existe a necessidade de aplicação de algoritmos de mineração de dados espaciais ou de sobreposição da trajetória bruta com camadas de informações espacias (e.g. sobreposição da trajetória bruta com um mapa cadastral urbano). Uma trajetória pode conter uma quantidade imensa de dados que podem ser analisados e sobrepostos com várias camadas de dados espaciais. No entanto, estas camadas de dados espaciais nem sempre estão disponíveis para a aplicação.
Os dados coletados durante o deslocamento de um objeto móvel no espaço e ao longo do tempo, geralmente, não traz informações semânticas, que são de fundamental relevância para análise e entendimento destes dados. Por isso, alguns autores consideram que a análise dos dados de trajetória tem um custo computacional elevado, e é complicada do ponto de vista do usuário (VAISMAN et. al., 2007) pois requer o conhecimento do especialista de domínio.
A captura de trajetórias de objetos móveis cresce gradativamente ao longo do tempo em diferentes domínios de aplicação. Com isso, aumenta a necessidade de análise e extração de conhecimento destes dados (VAISMAN et. al., 2007). Os SGBD atuais, tais como: Oracle (Murray et. al., 2006), Secondo (GUTING et. al., 2011), dentre outros, oferecem suporte aos dados de trajetórias espaço-temporais, mas não contemplam, dessa forma, as informações semânticas que podem aumentar o universo de consultas que podem ser feitas sobre esses dados (SILVA, M. C. T., 2012).
Este trabalho propõe a extensão da tecnologia do SGBD PostgreSQL/Postgis, com a construção de tipos de dados semânticos que são independentes de uma aplicação específica, e são capazes de representar trajetórias semânticas. Para facilitar a manipulação desses novos tipos de dados aqui propostos, foi desenvolvida uma Application Programming Interface (API) pela qual o usuário pode estender de forma automática o SGBD com os tipos de dados semânticos que o mesmo deseja usar. Além disso, existe a disponibilização dos recursos relativos a uma API, tais como: funções, classes, protocolos, dentre outros, para auxiliar na manipulação destes novos tipos de dados. Os tipos de dados estendidos pertencem a três categorias distintas: anotações semânticas (que representam o comportamento, o objetivo, o evento, a atividade, o ambiente e o meio de transporte usado pelo objeto móvel), episódios (que denotam paradas e movimentos de trajetórias) e trajetória (que representam a trajetória semântica e a trajetória espaço-temporal bruta).
Com a criação destes novos tipos de dados, o responsável pelo banco de dados terá de forma pré-definida os tipos de dados específicos para trabalhar com informações semânticas de trajetórias. Ou seja, os tipos de dados já foram mapeados previamente, poupando tempo na identificação dos mesmos. Caso ocorra a necessidade de utilizar outra anotação semântica que não tenha sido previamente projetada por este trabalho, o desenvolvedor poderá criar suas próprias anotações semânticas de trajetórias para que possa vir a usá-las no desenvolvimento de suas aplicações.
1.2. Objetivos
O objetivo principal deste trabalho é estender o SGBD PostgreSQL/Postgis propondo novos tipos de dados para representação de trajetória semântica. Para facilitar a utilização desses novos tipos de dados, também é proposta uma API denominada de DBST (Database of Semantic Trajectories).
Os objetivos específicos deste trabalho são listados como segue:
(1) Especificar novos tipos de dados para representação de trajetórias semânticas em BD do SGBD PostgreSQL/Postgis;
(2) Desenvolver uma API para auxiliar na manipulação dos novos tipos de dados para representação de trajetórias semânticas;
(3) Criar Banco de Dados (BD) de trajetórias semânticas a partir de trajetórias brutas reais para validar o trabalho proposto.
1.3. Estrutura da Dissertação
Este trabalho dissertativo, além deste capítulo, está organizado como segue.
Capítulo 2 – Fundamentação Teórica: Apresenta os conceitos básicos
sobre os temas discutidos neste trabalho. São eles: dados espaço-temporais, trajetória bruta, trajetória semântica, API, além de uma discussão sobre modelagem conceitual de trajetórias semânticas.
Capítulo 3 – Trabalhos Correlatos: Discute os trabalhos correlatos ao
trabalho proposto nesta dissertação. Ele descreve cada trabalho correlato e os compara com a proposta deste trabalho, apresentando as principais diferenças e semelhanças entre eles.
Capitulo 4 – A API DBST (Database of Semantic Trajectories): Apresenta
a API e os tipos de dados propostos por este trabalho dissertativo. Descreve os tipos de dados especificados para a API DBST, que correspondem aos novos tipos de dados estendidos para o SGBD PostgreSQL/Postgis, que também são propostos
nesta dissertação. Para um melhor entendimento do uso dos tipos de dados, é exibido um cenário ilustrando a aplicação de cada tipo de dado proposto para representação de trajetórias semânticas.
Capítulo 5 – Exemplo de Aplicações: Neste capítulo, são apresentados dois
exemplos de uso dos tipos de dados da API DBST em dois cenários de domínios distintos: monitoramento de trajetórias de pássaros e gerenciamento de transportes públicos.
Capítulo 6 – Conclusões: Relata as principais contribuições realizadas por
este trabalho dissertativo. Além disso, são indicadas algumas sugestões de pesquisas futuras e é sumarizado o trabalho realizado.
Capítulo
2
Fundamentação Teórica
Este capítulo apresenta a fundamentação teórica relacionada à proposta desta dissertação, abordando os conceitos básicos sobre dados espaço-temporais, trajetória bruta, trajetória semântica, API, além da discussão sobre modelagem conceitual de trajetórias semânticas.
2.1. Introdução
Neste capítulo são apresentados alguns conceitos que são considerados importantes para o entendimento do trabalho descrito nesta dissertação e está estruturado como segue. Na Seção 2.2, são mostrados conceitos relacionados aos dados espaço-temporais, exibindo alguns tipos de suas representações espaciais e temporais. A Seção 2.3 contém as definições relacionadas à trajetória, incluindo a descrição e ilustração da diferença entre uma trajetória bruta e uma trajetória semântica, além da discussão de uma proposta de modelagem conceitual para trajetórias semânticas que foi definida por Spaccapietra et. al. ( 2009). Na Seção 2.4, são exibidos os conceitos correspondentes a Application Programming Interface (API), explicitando quando, onde e porque se deve utilizar uma API. Por fim, algumas conclusões sobre este capítulo são dadas na Seção 2.5.
2.2. Representação de Dados Espaciais e Temporais
Esta seção está estruturada da seguinte forma: a Seção 2.2.1 discorre sobre a representação de dados espaciais, enquanto que a Seção 2.2.2 detalha os aspectos de representação de dados temporais.
2.2.1. Representação de Dados Espaciais
Foi definido em Yi, B (2004), que qualquer fenômeno que esteja associado a uma dimensão espacial, é classificado como dado espacial. Estes dados podem ser modelados de forma matricial ou vetorial, onde a representação matricial é geralmente definida por uma matriz de células de tamanhos regulares, e cada célula é respectivamente associada a uma região geográfica. No formato vetorial, os dados espaciais são descritos por uma combinação de formas geométricas (e.g. pontos, linhas e polígonos). A escolha pelo uso do modelo matricial ou vetorial geralmente depende da aplicação. Dados espaciais são informações geo-referenciadas, também denominadas de geoespaciais, que representam a localização de um objeto qualquer no globo terrestre, num determinado período ou instante de tempo (MEDEIROS, et. al., 1996). Costa (2011) reporta que a informação relativa à localização espacial do fenômeno de interesse é usada por procedimentos de
pesquisa de análise espacial. Para este trabalho, apenas são considerados dados no formato vetorial, representados por pontos e segmentos de linha.
Na representação de dados no formato vetorial, os objetos podem ter múltiplas representações geométricas. Por exemplo, as escolas, os restaurantes e as casas podem ser representados por um ponto ou polígono espacial, dependendo da escala cartográfica escolhida para construção do mapa. Uma linha geoespacial, é composta por um grupo de pontos sequenciados, que consiste na localização espacial do objeto móvel. Por exemplo, rios, ruas e rodovias podem ser simbolizados na superfície terrestre por uma linha. Um polígono pode denotar um estado, país ou continente, e constitui um conjunto de linhas que demarcam topologicamente uma determinada região espacial. Vale ressaltar que a forma geométrica de representação espacial a ser utilizada é decorrente da escala de medida pela qual os dados geoespaciais são definidos (BARROS, R. C., 2012).
Em Barros (2012), é dito que dados espaciais são oriundos de fenômenos ocorridos no espaço e representam suas localizações e formatos. Dados espaciais são especializados em dados geográficos que representam a localização de objetos ou fenômenos associados à superfície terrestre, através da referência topológica de um sistema de coordenadas, que pode também ser denotado como um sistema de referência para posicionamento de pontos geoespaciais. Estes sistemas de referência espacial surgiram a partir da criação de uma rede quadriculada de linhas imaginárias verticais e horizontais, que cortam o globo terrestre inteiramente. Cada quadrante desta rede representa um par de coordenadas do tipo latitude e longitude, definidos como um ponto (x, y), sendo “x” correspondente à longitude e “y” à latitude. A Figura 1 exibe a rede geográfica da terra com o sistema de coordenadas (x,y).
Figura 1 - Rede geográfica do globo terrestre mostrando o sistema de coordenadas (x,y).
Fonte: BARROS, R. C., 2012.
O relacionamento espacial é classificado geralmente em três tipos: o
relacionamento topológico, que envolve relações geométricas, tais como:
adjacência, sobreposição e disjunção; o relacionamento de direção, que é relativo ao sentido, por exemplo, ao norte de, sudeste de; e por fim, o tipo de relacionamento
métrico, que se refere às características de medida, tais como: distância menor que
100 metros. Dentre os tipos citados, o mais utilizado e que possui uma maior atenção por parte dos pesquisadores, é o relacionamento topológico (BARROS, R. C., 2012).
As informações geo-referenciadas possuem três características principais: (1)
temática ou descritiva, que descreve “o que” está associado à localização espacial;
(2) espacial, que informa a localização de “onde” ocorreu o fenômeno, associando o fenômeno ocorrido com as propriedades geométricas e/ou topológicas; e por fim, (3) a característica temporal que relata “quando” ocorreu a coleta do fenômeno em uma determinada localização espacial (MEDEIROS, et. al., 1996).
2.2.2. Representação de Dados Temporais
Na representação de dados temporais, devem ser considerados os aspectos de ordem, variação e granularidade (DIAS et. al., 2005). Em relação ao aspecto de ordem, o tempo pode ser sucessivo e ordenado de forma linear, como é apresentado na Figura 2. Com isso, um conjunto de dois ou mais instantes de tempo
possui uma ordenação sequencial entre eles, como por exemplo: a evolução da idade de uma pessoa.
Figura 2 - Tempo consecutivo e linearmente ordenado.
Fonte: DIAS et. al., 2005.
É possível haver uma ramificação do tempo, referente à possibilidade de fatos ocorridos no passado ou previstos no futuro ocorrerem. Em se tratando do futuro ramificado, pode haver dados históricos que influenciarão um determinado fato no tempo presente, possibilitando alternativas de acontecimentos futuros (Figura 3a). Por exemplo, uma pessoa pode viajar ou comprar um bem material, por ter recebido um dinheiro extra. No passado ramificado, por meio de um conjunto de acontecimentos é possível obter hipóteses sobre a existência de um fato em um determinado tempo futuro (Figura 3b). Por exemplo, uma pessoa viajará porque tirou férias e recebeu um dinheiro extra.
Figura 3 - Representação do tempo ramificado.
Fonte: DIAS et. al., 2005.
A Figura 3a ilustra o tempo ramificado no futuro possuindo diferentes alternativas ou sucessores, enquanto a Figura 3b mostra a ramificação do passado onde existem diferentes hipóteses antecessoras (EDELWEISS, N. e OLIVEIRA, J. P., 1994).
Para fatos recorrentes, a representação do tempo é circular, pois os fatos acontecem periodicamente na mesma referência de tempo, ou seja, o evento se
repete sempre em uma mesma temporalidade que foi definida anteriormente. Por exemplo, em todo verão, uma determinada loja de vendas de roupas oferece promoção de agasalhos de inverno. Seguindo o mesmo raciocínio, tem-se o fato de que em todo inverno, um grupo de pessoas esquiam na neve. A Figura 4 ilustra as situações citadas. Em outro exemplo, uma pessoa chega ao local de trabalho sempre às 08:00h e sai às 18:00h, durante todos os dias de trabalho.
Figura 4 - Representação do tempo circular.
- Nenhum evento | - Promoção de verão - Temporada para esquiar | - Nenhum evento
Fonte: DIAS et. al., 2005.
No aspecto temporal referente à variação, o tempo pode ser representado como contínuo ou discreto. Segundo Dias et. al. (2005), quando se representa o tempo no âmbito computacional, é necessário que o mesmo seja definido de forma discreta, de modo que sua variação segue uma linha referencial de tempo que é composta por sucessivos chronons com duração idêntica. Um Chronon é um intervalo de tempo que não pode ser decomposto (EDELWEISS, N. e OLIVEIRA, J. P., 1994), e que independe da granularidade temporal, por exemplo: ano, mês, dia, hora.
Uma sucessão de pontos sequenciados com a variação discreta, linear e finita, representa um eixo temporal (RENOLEN, A. 1997). O Quadro 1 apresenta e descreve as variações do tempo classificando-as em três tipos: (1) Ponto-a-ponto, onde é considerado como valor de tempo válido apenas os pontos temporais que são definidos; (2) Escada, cujo valor de tempo válido permanece até o momento em
que outro valor de tempo é definido; (3) e Determinação de uma função, onde é definida uma função de interpolação para identificar valores válidos.
Quadro 1 - Classificações da variação do tempo.
Classificação Tempo Válido
Ponto-a-ponto Conjunto de pontos temporais definidos.
Escada Até que outro valor válido é definido.
Determinação de uma função Variação por intermédio de uma função. Fonte: RENOLEN, A. 1997.
A granularidade temporal está relacionada ao nível de chronon que é estabelecido. Quanto menos níveis de chronons são definidos, maior a sumarização dos dados em relação ao tempo, e por sua vez, quanto mais chronons são definidos, então consequentemente, um maior nível de detalhamento da informação temporal é obtido. Por exemplo, se forem definidos apenas os níveis de granularidade ano e
mês para um sistema de rastreamento, o máximo de detalhamento da informação
temporal que se pode conseguir é mensal, pois não é possível obter informações temporais diárias, a menos que seja definido o chronon dia.
Em Langran (1993), são definidas as formas de representar os atributos temporais: instante, intervalo e elemento temporal. Estes atributos são chamados de elementos primitivos e usados na representação da granularidade de tempo. O
Instante é definido como um ponto na linha do tempo cuja duração é infinitamente
pequena, e caso sua variação seja discreta, o mesmo pode ser representado por um
chronon no eixo temporal. No Quadro 2, são apresentados dois casos como
exemplos da utilização do elemento primitivo instante. No primeiro caso, o tempo é discreto com a variação pontual, tendo o ano como representante de um instante de tempo. No segundo caso, o tempo também é discreto, porém com a variação por escada, tendo o chronon mês como representante do instante de tempo.
Quadro 2 - Forma de representação do elemento primitivo instante
CAMPEÕES DO CAMPEONATO BRASILEIRO de 2000
(
Tempo discreto (pontual) - Chronon: ano)
Time Pontos Instante
Time A 80 2012
Time B 78 2010
Time C 75 2008
EMPREGADOS
(
Tempo discreto (por escada, intervalo de validade controlada pela aplicação) - Chronon: mês)
Nome Salário Instante
José R$ 600,00 Maio/2010
Maria R$ 630,00 Junho/2011
Francisco R$ 661,50 Julho/2012
Fonte: O Autor.
Um intervalo é a agregação de instantes de tempos que equivale à duração do tempo decorrido entre dois instantes, também chamados de pontos. Em se tratando de tempo discreto, um intervalo é representado por um aglomerado finito de
chronons consecutivos. Quando se trata do tempo contínuo, os instantes de tempo
dentro de um intervalo são infinitos. O Quadro 3 apresenta dois exemplos de uso do elemento primitivo intervalo. O primeiro exemplo corresponde ao salário de empregados que representa o tempo discreto e com variação do tipo escada, e possui o mês como chronon do intervalo. O segundo exemplo é referente à escala de limpeza, com o tempo representado de forma discreta e com variação pontual, e tendo o dia como chronon do intervalo.
Quadro 3 - Forma de representação do elemento primitivo intervalo.
EMPREGADOS
(Tempo Discreto e por escada – Chronon: mês)
Nome Salário Início Fim
José R$ 600,00 Maio/2009 Maio/2010
José R$ 630,00 Junho/2010 Junho/2011
José R$ 661,50 Julho/2011 Julho/2012
Manoel R$ 700,00 Outubro/2010 Outubro/2011 Manoel R$ 735,00 Novembro/2011 Novembro/2012
ESCALA DE LIMPEZA
(Tempo discreto e pontual – Chronon: dia)
Nome Local (Bloco) Inicio Fim José A 01/01/2011 03/01/2011 Manoel B 05/01/2011 07/01/2011 José C 04/02/2012 06/02/2012 Fonte: O Autor
Um conjunto finito de intervalos de tempo caracteriza o atributo de tempo do tipo elemento temporal, que produz um novo elemento temporal através da disponibilização de operações de conjunto como união, interseção e complemento.
As informações espaço-temporais podem ser coletadas a partir de um sistema de coordenadas bidimensional, contendo informações sobre a latitude e longitude de um ponto no plano para um determinado instante ou período de tempo ((x,y),t), ou em três dimensões com a latitude, longitude e altitude associadas ao instante ou período de tempo do registro da localização, que é definido como ((x,y,z),t). Informações espaço-temporais correspondem a onde e quando tal fato aconteceu (SPACCAPIETRA S. e PARENT, C et. al., 2007).
2.3. Representação de Trajetórias
Trajetória é definida como um registro da evolução da posição geográfica de um objeto que está se movendo no espaço durante um determinado intervalo de tempo, a fim de atingir algum objetivo (SPACCAPIETRA. et. al., 2007). Também
pode ser definida como o caminho percorrido pelo objeto móvel, e cujo percurso é denotado por uma sequência de pontos geométricos representados pelas coordenadas espaço-temporais (x,y,z) coletadas a cada instante ou período de tempo (t), formando a sequencia de informação do tipo ((x,y,z),t).
Em uma trajetória, pode haver paradas (stops) e pelo menos um movimento (move) que se estende por toda trajetória ou vários movimentos ao longo dela, que podem ser segmentos de movimentos ou segmentos de subtrajetória. Durante o tempo em que o objeto se movimenta em busca de seu objetivo, ele pode percorrer um ou mais segmentos espaço-temporais, um após o outro (SILVA, M. C. T., 2009). A Figura 5 ilustra esta situação. É importante ressaltar que nem todo movimento ou nem toda parada do objeto deve ser visto como informação relevante para aplicação. A relevância pode ser definida de várias maneiras, por exemplo, por meio do tempo de parada e tempo de movimento.
Figura 5 - O caminho percorrido pelo objeto móvel em vários segmentos espaço-temporal.
Fonte: SPACCAPIETRA. et. al., 2007.
A Figura 5 ilustra as paradas, os instantes de tempo, as trajetórias, o caminho percorrido e os segmentos espaço-temporais, onde (tx) representa o instante de tempo das paradas e (Tx) indica as trajetórias. A linha tracejada representa o caminho percorrido pelo objeto móvel, e os segmentos são representados por cinco trajetórias percorridas ao longo da vida útil do objeto em seu percurso.
É possível observar que nem todo intervalo de tempo percorrido é considerado pela aplicação como uma trajetória. Por exemplo, os intervalos de tempo percorridos entre [“t1 e t2”, “t4 et5”, “t6 e t7”, “t8 etnow”] não foram classificados como uma trajetória. O Quadro 4 lista algumas das possíveis características
pertencentes a uma trajetória que foi especificada em Bogorny (2012). Elas se referem às propriedades que devem ser contempladas na trajetória de um objeto móvel qualquer. Elas também estão associadas à forma geométrica da trajetória, às segmentações relativas às trajetórias, ao comportamento do objeto móvel na trajetória, além de denotarem propriedades correspondentes ao tempo, tais como: duração, arranjo e características dos períodos de execução das trajtórias.
Quadro 4 - Características pertencentes a uma trajetória.
Característica Descrição
Forma Toda trajetória contempla um ou mais tipos de forma geométrica
Segmentação Uma trajetória é o segmento espaço-temporal de um percurso percorrido pelo objeto.
Duração Toda trajetória possui um tempo de início e fim. Esta característica é relativa ao tempo de duração de uma trajetória
Arranjo Ordem dos períodos de tempo.
Distância Refere-se ao comprimento/fragmento da trajetória no espaço.
Períodos Refere-se à velocidade constante, aceleração, desaceleração.
Dinâmica Refere-se ao comportamento do objeto móvel. Características dos
períodos
Início e término, duração, posições iniciais e finais, velocidades iniciais e finais, média de velocidade, direção.
Fonte: BOGORNY, V. 2012.
No Quadro 5, são listados e descritos, quatro elementos básicos que uma trajetória deve contemplar, segundo Spaccapietra (SPACCAPIETRA, S., 2009). Uma trajetória deve ser representada por meio desses elementos básicos, que pertencem ao modelo conceitual de paradas e movimentos de uma trajetória que foi apresentado em (SPACCAPIETRA, S., 2008).
Quadro 5 - Elementos contidos em uma trajetória.
Característica Descrição
Atributos/ Componentes
Refere-se às propriedades de uma trajetória
Links Corresponde aos relacionamentos entre os objetos
Restrições Regras, diretrizes definidas em relação ao comportamento ou ao monitoramento dos objetos.
Início e fim Diz respeito ao instante de tempo de início e fim de uma parada ou movimento de uma trajetória qualquer, além da demarcação da delimitação temporal da mesma.
Fonte: SPACCAPIETRA, S., 2009
Uma trajetória é composta de elementos espaço-temporais. Um movimento é caracterizado por duas paradas consecutivas. Uma parada corresponde ao segmento do percurso do objeto móvel, que contém um intervalo de tempo de parada [TinícioParada , TfimParada] (SPACCAPIETRA et. al., 2007). Uma trajetória pode ser analisada sobre duas perspectivas:
Pela visão geométrica, que se refere aos dados espaço-temporais que definem o deslocamento do objeto móvel, e são obtidos por um sistema de coordenadas (latitude, longitude e altitude), indicando a localização do objeto no espaço terrestre, e o (tempo) que corresponde ao momento da coleta de uma determinada coordenada, gerando o conjunto ((x,y,z),t); e
Pela visão semântica, que consiste em sequências de paradas e movimentos, as quais podem estar vinculadas às anotações semânticas que dão significados aos trechos da trajetória aos quais pertencem.
A união destas duas visões forma uma trajetória do tipo espaço-temporal semântica, onde cada tupla de coordenada da visão geométrica pode ter um significado definido na visão semântica correspondente (ALMEIDA et. al., 2011).
2.3.1. Representação de Trajetória Bruta
Trajetória bruta é definida por Boulmakoul et. al. (2012) como o registro da informação sobre a localização de um objeto qualquer em movimento em um dado espaço físico e por certo período de tempo. Estes autores também relatam que uma trajetória bruta consiste em uma sequência do registro da localização do objeto móvel, que é obtido por meio da captura de coordenadas geográficas geradas a partir de um dispositivo de monitoramento.
Spaccapietra (2009) informa que uma trajetória bruta é apenas o posicionamento físico adquirido através de um dispositivo de monitoramento indicado por uma sequência de pontos. Ele também informa que os dados brutos relativos aos movimentos do objeto móvel necessitam frequentemente de serem limpos antes de serem utilizados em análises espaciais.
Pode-se dizer que uma trajetória bruta informa apenas a localização geo-referenciada do objeto móvel em relação à terra, pois se trata apenas das informações espaço-temporais correspondentes ao caminho percorrido pelo objeto durante a execução de sua trajetória. A Figura 6 mostra graficamente o percurso realizado por um objeto móvel ao longo de uma trajetória bruta, que é representada por uma sequência de pontos coletados por um dispositivo de localização.
Figura 6 - Paradas e movimentos ao longo de uma trajetória bruta
Fonte: SPACCAPIETRA, S., 2009.
Um problema da trajetória bruta é a sua falta de significado em função dos dados coletados a partir dos dispositivos de localização não terem semântica, tais como: meio de locomoção do objeto móvel, locais de parada e de movimento, objetivos das paradas e dos movimentos (FAJARDO, B. S., 2008). Depois de coletados os dados brutos, é importante que se realize a limpeza dos mesmos, passando os dados por uma etapa de filtragem para remoção de informações incorretas, chamadas de outliers. (SPACCAPIETRA, S., 2009). Esse processo denominado de limpeza dos dados é mostrado na Figura 7.
Figura 7 - Processo de limpeza dos dados de uma trajetória bruta.
Fonte: SPACCAPIETRA, S., 2009.
2.3.2. Representação de Trajetória Semântica
Ao contrário de uma trajetória bruta, as trajetórias semânticas trazem além dos dados de localização, informações semânticas associadas aos mesmos. As informações semânticas agregam valor aos dados coletados pelos dispositivos de localização, pois com os dados semânticos é possível obter informações do tipo: se uma pessoa parou em um local (e.g. restaurante, hotel, casa), quanto tempo passou em um determinado lugar e o que estava fazendo. A utilização de informações semânticas nas trajetórias de objetos móveis vem aumentando de forma linear (SILVA, M. C. T, 2012), desde a representação de modelos conceituais para caracterizar trajetórias como uma sequência de paradas e movimentos (SPACCAPIETRA et. al., 2008), até a definição de segmentações de trajetórias em movimentos, com base em critérios semânticos definidos pela aplicação (YAN et. al., 2011).
Na Figura 8, é apresentada uma trajetória enriquecida com informação semântica. Essa trajetória é referente a um passeio na cidade de Paris, na França, onde cada local classificado como parada é atribuído um rótulo que descreve o local de parada do objeto móvel e representa sua respectiva semântica.
Figura 8 - Exemplo de uma trajetória semântica.
Fonte: SPACCAPIETRA, S., 2009.
Nem toda parada é caracterizada como uma parada relevante para a aplicação, ou seja, nem toda parada física é definida como uma parada conceitual considerada relevante para a aplicação (FAJARDO, B. S., 2008). A relevância depende de vários fatores configurados na aplicação, tais como: tempo de parada, local de parada e o horário da parada. As paradas podem assumir diferentes formas geométricas, dependendo do tipo de objeto que se monitora. Por exemplo, no monitoramento de aves, uma parada pode assumir a forma de um polígono (( x1 , y1 ), ( x2 , y2 ), ... , ( xn , yn )), pois se trata da região de parada das aves, enquanto que no monitoramente de automóveis uma parada pode assumir a forma geométrica de um ponto.
Uma vez coletados os dados brutos, algoritmos de descoberta de padrões espaço-temporais (CAO et. al., 2008, GIANNOTTI et. al., 2007, LOY et. al., 2010, LOY et. al., 2011) e de segmentação de trajetórias podem ser aplicados sobre as trajetórias brutas para geração de anotações semânticas de trajetórias ou trajetórias semânticas. A Figura 9 ilustra a reconstrução de uma trajetória semântica, e o processo de limpeza para reconstruí-la (SPACCAPIETRA, S., 2009).
Figura 9 - Reconstrução de uma trajetória semântica.
Fonte: SPACCAPIETRA, S., 2009.
O foco principal da limpeza dos dados de uma trajetória é a remoção dos erros ocasionados pelos dispositivos de localização, como GPS (PARENT et. al., 2013). Dois tipos de erros, que podem ocorrer durante a captura de informações de localização de objetos móveis por dispositivos de GPS, foram identificados em Jun (2006): (1) Erros sistemáticos, devido a limitações do sistema de localização,
gerando posições inválidas, devido ao baixo número de satélites encontrados pelo dispositivo; e (2) Erros aleatórios, que estão relacionados à precisão de localização do dispositivo, chegando a mais ou menos 15 metros de diferença do local correto.
Com os dados semânticos extraídos, é possível obter conhecimento sobre o deslocamento no espaço de um objeto durante um intervalo de tempo, identificando e rotulando cada ponto visitado e cada trajeto realizado, enriquecendo a trajetória semanticamente. Neste trabalho dissertativo, é considerado que o registro de anotações semânticas sobre as trajetórias brutas foi realizado a priori, por meio de algum algoritmo de análise espacial de trajetórias, pelo qual é possível extrair
conhecimento significativo sobre o caminho realizado pelo objeto móvel na trajetória percorrida.
As anotações semânticas correspondentes aos seis aspectos de mobilidade definidos em Bogorny et. al. (2013) e Silva, M. C. T. (2009) são discutidas a seguir, e foram usadas no desenvolvimento da API proposta neste documento. São elas:
a) Objetivo – Esta anotação pode estar associada a uma parada,
movimento ou trajetória, e indica o motivo pelo qual ocorreu a parada e representa a razão do movimento. Pode ocorrer o fato de o objetivo ter a mesma definição da atividade, por exemplo: uma pessoa com o objetivo exercitar-se, correndo diariamente, e para alcançar este objetivo, a pessoa pratica a atividade de correr diariamente.
b) Atividade – As atividades estão associadas a um movimento ou a uma
parada. No caso de uma parada, o objeto precisa estar em repouso totalmente, pois uma parada pode ser representada por um conjunto de pontos pertencentes a um mesmo local (e.g. restaurante, shopping) ou uma região. Uma parada ou movimento pode estar associado(a) a mais de uma atividade, ou seja, em um mesmo movimento ou parada pode ocorrer de ser realizado duas ou mais atividades, dependendo da modelagem e/ou das restrições especificadas pela aplicação.
c) Ambiente – Refere-se às características contextuais referentes aos
aspectos naturais, tais como: temperatura, clima, umidade do ar, vento, e pressão atmosférica. Essas informações são dinâmicas, pois durante a execução de uma trajetória, podem sofrer alterações. Esta anotação pode estar associada a uma parada, movimento ou a uma trajetória como todo.
d) Evento – Pode estar associado a uma parada ou a um movimento,
pela possibilidade de ser a causa de uma parada ou da mudança do movimento do objeto monitorado. Um evento pode ser um show, um jogo de futebol, uma manifestação pública ou outros acontecimentos semelhantes. O interesse em registrar esse tipo de informação é a possibilidade de identificar a causa de uma mudança de comportamento de um objeto monitorado, a fim de obter respostas como: por que tal caminhão mudou de rota? Por que ele ficou tanto tempo parado? Por qual motivo ele atrasou a entrega das mercadorias?
e) Transporte – Corresponde ao meio de transporte utilizado no
deslocamento do objeto móvel, podendo ocorrer diversos registros deste tipo ao longo de uma mesma trajetória. Este tipo de anotação se associa apenas ao movimento. Os meios de transportes utilizados podem ser de três tipos: terrestres (e.g. carro, bicicleta), aquáticos (e.g. barco, navio) ou aéreos (e.g. helicóptero, avião).
f) Comportamento – Com esta anotação é possível registrar
informações sobre características referentes ao movimento do objeto no âmbito comportamental. Este tipo de anotação é associado ao movimento quando ocorre uma mudança de comportamento do objeto móvel. Exemplos de casos comportamentais relevantes que podem ocorrer em uma ou mais trajetórias são: fuga, liderança e encontro de objetos móveis, incluindo a movimentação conjunta por certo período de tempo. Alguns destes padrões comportamentais de objetos móveis são detalhados como segue.
Em Laube et. al. (2004) foi definida uma coleção de padrões espaço- temporais que se baseiam na direção do movimento e na localização do objeto móvel. Alguns desses padrões são citados em Loy et. al. (2011). O padrão do tipo
Flock denota um conjunto de trajetórias de objetos móveis, que tem seus
deslocamentos realizados de forma conjunta em uma dada região no espaço. O padrão Leadership requer que as trajetórias estejam dentro de uma determinada distância de tolerância. O padrão Convergence indica que há um conjunto de trajetórias que se encontram em uma determinada região espacial. Existe a proposta do padrão Encounter que se assemelha ao padrão Convergence, mas a diferença é
que as trajetórias devem estar juntas no mesmo período de tempo e não numa
região espacial.
Em Loy et. al. (2011), é relatado o estudo de padrões comportamentais em trajetórias de objetos móveis, que está sendo desenvolvido principalmente sob duas óticas de pesquisa: a semântica, que pretende dar significado aos dados brutos coletados por um dispositivo de monitoramento, tal como GPS, e a geométrica, que refere-se às coordenadas sem praticamente qualquer semântica associada.
É importante ressaltar três pontos: (1) nem todo registro de parada, movimento ou trajetória deve ser obrigatoriamente associado a uma anotação
semântica; (2) deve ser registrada toda informação espaço-temporal relevante para a aplicação independente de ter ou não uma semântica associada; e (3) não é necessário que uma aplicação use todas às seis anotações semânticas descritas na literatura, pois elas são sugestões de como dar significado às trajetórias brutas geradas por dispositivos de localização de objetos móveis.
2.3.3. Modelagem Conceitual de Trajetória
Esta seção está organizada da seguinte forma. Na Seção 2.3.3.1, o modelo conceitual de paradas e movimentos que foi utilizado como base para o desenvolvimento deste trabalho é descrito. Além disso, outras propostas de modelagem conceitual são detalhadas na Seção 2.3.3.2.
2.3.3.1. O Modelo de Paradas e Movimentos
Uma trajetória é representada explicitamente pelos componentes: paradas, movimentos, início e fim. Ela é caracterizada por relacionamentos, atributos e restrições. Spaccapietra et. al. (2007) propuseram um modelo conceitual para representação de trajetórias semânticas, no qual são modelados os objetos de paradas e movimentos de uma trajetória, como: o objeto móvel que viaja na trajetória, os relacionamentos entre esses objetos e as restrições especificadas através das cardinalidades relativas aos relacionamentos entre os objetos. A Figura 10 ilustra o modelo definido em Spaccapietra et. al. (2007), o qual pode ser estendido com novos construtores conceituais que reflitam a realidade de uma aplicação de gerenciamento de trajetórias.
Figura 10 - Modelagem conceitual de uma trajetória.
Fonte: SPACCAPIETRA et. al., 2007.
Na Figura 10, o tipo de objeto “Objeto Móvel” é referente ao objeto que realiza uma trajetória, enquanto o objeto “Trajetória” corresponde à trajetória propriamente dita. O ciclo de vida é indicado por um intervalo de tempo denotado pela primeira e pela última parada do objeto móvel na trajetória. O objeto “I. F. P.” é composto por um intervalo de tempo [TinícioParada , TfimParada] e por uma geometria, que é representada geralmente por um ponto. Um I. F. P. é uma parada com um intervalo de tempo. Isso implica em afirmar que cada trajetória tem pelo menos dois componentes de parada.
O componente “move” descrito no modelo é caracterizado por duas paradas, com um intervalo de tempo, delimitado pelo [TfimParada e TinícioParada] e uma geometria de ponto com tempo variável. Ambos os componentes de parada e movimento estão associados pelos relacionamentos “de” e “para”, deixando explícito que cada
movimento tem seu início e fim, denotados cada um deles por uma parada. Os objetos “local transitado1” e “local transitado2” referem-se ao local percorrido pelo objeto móvel, enquanto os relacionamentos “está em” correspondem às restrições que podem ser modeladas para uma trajetória, tal como: uma trajetória deve sempre estar associada a uma determinada região (i.e. estado, país, cidade). Os objetos descritos no modelo por linhas pontilhadas são opcionais. A Figura 11 ilustra um exemplo de uso do modelo proposto por Spaccapietra et. al. (2009) em uma aplicação para monitoramento de pássaros.
Figura 11 - Mapeamento do modelo de paradas e movimentos para uma aplicação de monitoramento de pássaro.
Fonte: Adaptado de SPACCAPIETRA, S., 2009.
A Figura 11 exibe o mapeamento do modelo conceitual de paradas e movimentos de trajetória, para uma aplicação de monitoramento de pássaros. Este mapeamento é mostrado pelas linhas tracejadas. A entidade Objeto Móvel
corresponde ao pássaro. A entidade Trajetória é transcrita com o nome correspondente ao tipo de trajetória gerenciada pela aplicação, por exemplo: migração, passeio, dentre outras. A entidade I.F.P. corresponde ao tempo inicial e final de uma parada, e é mapeada para o relacionamento “parou em”. A entidade
Local transitado1 é mapeada para região espacial definida pela aplicação (i.e.
“País”). Com isso, é possível identificar o local de parada de cada pássaro monitorado.
Para alcançar os objetivos desta dissertação, o modelo conceitual proposto em Spaccapietra et. al. (2009) ilustrado na Figura 10, foi tomado como base para criação dos tipos de dados brutos e semânticos que serão descritos no Capítulo 4. Estes tipos são capazes de representar na base de dados, as trajetórias semânticas e as trajetórias brutas. A escolha pelo modelo conceitual proposto em Spaccapietra et. al. (2009) para o desenvolvimento deste trabalho se deve ao fato do mesmo ter sido usado como base na maioria dos demais modelos conceituais da área, por contemplar os elementos básicos para representação de uma trajetória semântica, tais como: parada, movimento, restrições, relacionamento e o objeto móvel, e ser classificado pelos pesquisadores da área, como um dos principais modelos conceituais para representação de trajetória semântica (BARIS et. al., 2008, BOGORNY et. al., 2013, VAISMAN et. al., 2007).
2.3.3.2. Outros Modelos Conceituais
Vaisman et. al. (2007) propuseram um modelo conceitual de enriquecimento de trajetórias com informação semântica, e especificaram uma fase de pré-processamento de dados para associar informação semântica às trajetórias, com a finalidade de facilitar a análise de dados de trajetória em aplicações de domínios distintos. O modelo desenvolvido por eles é genérico, não sendo restrito a uma aplicação específica. Eles também desenvolveram um algoritmo que calcula as partes importantes de uma dada trajetória (e. g. paradas e movimentos), mostrando que se o modelo proposto for usado, a complexidade da consulta para a análise semântica de trajetórias é reduzida de forma significativa em comparação à análise sobre os dados brutos de trajetórias.
Em Baris et. al. (2008) foi proposto um modelo conceitual para anotação semântica de trajetórias geradas por dispositivos de GPS. Ele é composto de dois
tipos de elementos semânticos: episódios que correspondem à composição de uma trajetória, e viagens que consiste em uma sequência de episódios que pertencem a um objetivo comum. Para o desenvolvimento deste modelo, foram especificados quatro tipos de anotação semântica, como segue: atividade, transporte, parada e objetivo, permitindo agregar informação sobre o deslocamento do objeto móvel e de contabilidade da trajetória.
Bogorny et. al. (2013) desenvolveram um modelo conceitual de dados para trajetória semântica de objetos móveis, intitulado de Constante. O modelo é dividido em duas partes: a primeira corresponde às informações relacionadas ao objeto móvel, ao dispositivo de rastreamento, à trajetória semântica, às subtrajetórias (segmentos da trajetória) semânticas, aos pontos semânticos, ao meio ambiente e aos possíveis eventos. A segunda parte é composta pelo objetivo semântico da trajetória, pelas subtrajetórias semânticas, pelo meio de transporte e por fim, pelo comportamento das subtrajetórias semânticas. Neste modelo, é utilizado fortemente o conceito de subtrajetória. É sugerida a utilização de métodos de mineração de dados para instanciar os elementos referentes à segunda parte do modelo
Constante. Para mineração de dados de trajetória podem ser utilizados os métodos
implementados por Lee et. al. (2008), Giannotti et. al. (2007), Cao (2007), Li et. al. (2010), Loy et. al. (2011), Nanni et. al. (2008).
2.4. API
Uma API é definida por Ferreira (2003) como um conjunto de funções que facilitam a troca de mensagens ou dados entre dois ou mais sistemas distintos. Fraga et. al. (2011) definem API como uma interface projetada por um sistema, com o objetivo de permitir que outros sistemas possam interagir entre si, possibilitando assim, a sua comunicação. Pode-se definir API como uma interface de comunicação, que fornece um conjunto de operações encapsuladas e acessíveis por meio de protocolos pré-definidos, e cujo usuário deve conhecer a assinatura de suas funções. O uso de API tem o objetivo de mitigar a complexidade e aumentar o reuso de procedimentos, deixando a codificação mais simples para o desenvolvedor. Ou seja, uma API é uma camada de software que é utilizada como meio de desenvolvimento, fazendo parte do processo de implementação de outras aplicações, e não sendo a aplicação final. O intuito de se criar uma API é facilitar o
desenvolvimento de aplicações e não de ser a aplicação. O conceito de API se aproxima mais de bibliotecas computacionais, que são arquivos que contêm um conjunto de funções que são chamadas quando necessário.
Quando se pretende desenvolver um sistema de informação, dependendo de sua natureza, ou da natureza do problema que se busca resolver, a sua implementação pode se tornar complexa. Geralmente, API são usadas para facilitar o desenvolvimento de software, onde o desenvolvedor se abstrai de grande parte da complexidade da codificação. Isto ocorre porque ele precisa saber apenas a assinatura das funções disponibilizadas, tais como: tipo de retorno, nome da função e informações referentes aos parâmetros da função chamada. O desenvolvedor se abstrai da codificação das funções implementadas na API, pois as mesmas não ficam explícitas e não é necessário que o usuário saiba como determinada função foi implementada.
O uso de uma API é interessante pelo fato da mesma simplificar o desenvolvimento de uma aplicação computacional. Uma API pode ser estendida e/ou até mesmo refatorada, para melhor atender às necessidades de desenvolvimento de uma determinada aplicação, criando novas funcionalidades e classes.
A facilidade do uso de API depende do nível de conhecimento do desenvolvedor, pois diferentemente da codificação, a documentação sobre o uso de API é disponibilizada ao desenvolvedor por meio de um Ambiente de Desenvolvimento Integrado conhecido popularmente como IDE. As IDE exemplificam superficialmente como instanciar um recurso disponibilizado implicitamente em uma API, informando, por exemplo, os nomes e tipos dos parâmetros da função instanciada, além da ordem de precedência dos mesmos. Isso é disponibilizado a partir da documentação criada na implementação da API para cada recurso disponibilizado por ela.
Para simplificar o uso de trajetórias semânticas em aplicações de bancos de dados com tipos nativos ou estendidos, podem ser utilizadas API. Elas podem ser desenvolvidas com o intuito de abstrair do usuário, a complexidade na programação da codificação das operações de acesso ao sistema de banco de dados. A API é um paradigma de desenvolvimento muito utilizado atualmente. Isto tem ocorrido porque