BRENO NAODI KUSUNOKI IDENTIFICAÇÃO DE TRAJETÓRIAS PADRÕES E DE PONTOS INTERMEDIÁRIOS EM DADOS ESPAÇO-TEMPORAIS UTILIZANDO BUSCA POR SIMILARIDADE



Documentos relacionados
Anexo 2.8 Especificações do Sistema de Monitoramentoda Frota

BRENO NAODI KUSUNOKI IDENTIFICAÇÃO DE PADRÕES DE ITINERÁRIOS E DE PONTOS INTERMEDIÁRIOS EM DADOS ESPAÇO-TEMPORAIS UTILIZANDO BUSCA POR SIMILARIDADE

4 Framework Proposto para Construção de Mediadores

SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADO AO GERENCIAMENTO DE INFORMAÇÃO DE TRANSPORTE URBANO

BANCO DE DADOS GEOGRÁFICOS E WEBMAPPING. Prof. Angelo Augusto Frozza, M.Sc.

Automação do tráfego de veículos: sistema de busca de caminho de menor custo entre dois pontos

Aplicação da técnica de mineração de dados por meio do algoritmo J48 para definição de limiares de imagens de sensoriamento remoto

Noções básicas de SIG com QGIS

3 Arquitetura do Sistema

INTEGRAÇÃO DE SOFTWARES SIG E WEBMAPPING PARA LOCALIZAÇÃO DE DEPENDÊNCIAS DA UNIJUÍ NO MAPA DO RIO GRANDE DO SUL 1

informação enviada (ex. Facebook) ou que a rede social utilize essa informação para sugerir locais de interesse próximos ao usuário (ex. Foursquare).

3 Sistema de Informação geográfica

COLETA E CAPTURA DE TRAJETÓRIAS ATRAVÉS DE APLICAÇÕES GENÉRICAS PARA DISPOSITIVOS MÓVEIS

Professor: Rogério Benedito de Andrade. Formação:

Oracle Database 10g: Fundamentos de SQL e PL/SQL

FERRAMENTAS COMPUTACIONAIS PAGAS PARA DESENVOLVIMENTO DE PROJETOS DE GEOPROCESSAMENTO

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

4 Análise de Dados. 4.1.Procedimentos

GeoDjango. Christiano Anderson

SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADA À GESTÃO PÚBLICA

AVALIAÇÃO DE UM TANQUE DE DECANTAÇÃO DE SÓLIDOS UTILIZANDO FLUIDODINÂMICA COMPUTACIONAL

APLICAÇÃO DE ALGORITMO DE APRENDIZAGEM DE MÁQUINA NÃO-SUPERVISIONADO PARA CLASSIFICAÇÃO DE USUÁRIOS NA REDE SOCIAL ACADÊMICA SCIENTIA.

Implementação de um Sistema de Informações Georeferenciado (Geoufes) Utilizando Bibliotecas de Software Livres em Java

Esse tipo de visualização sempre exige uma preocupação adicional com eficiência pois o número de polígonos necessário para representar fielmente a

INFRAESTRUTURA NECESSÁRIA...

DERYK SEDLAK RIBEIRO UM ESTUDO DAS ARQUITETURAS DE MIDDLEWARE ABORDADAS EM SISTEMAS DE COMÉRCIO ELETRÔNICO

DESENVOLVIMENTO DE UM SISTEMA DE INFORMAÇÃO GEOGRÁFICA PARA GERAÇÃO DE MAPAS PLUVIOMÉTRICOS

Desenvolvedor Android: Avançado. Plano de Estudo

SISTEMA DE CORREÇÃO AUTOMÁTICA DE TESTES DE MÚLTIPLA ESCOLHA USANDO TÉCNICAS DE PROCESSAMENTO DE IMAGENS

Autor(es) HARLEI MIGUEL DE ARRUDA LEITE. Orientador(es) MARINA TERESA PIRES VIEIRA. Apoio Financeiro PIBIC/CNPQ. 1. Introdução

Informática Parte 10 Prof. Márcio Hunecke

Ministrantes: Alex Lemos e Marco Malagodi

Roteirização de veículo para realização de coleta utilizando algoritmo evolucionários

Histórico de alterações

Hardware: Componentes Básicos. Sistema de Computador Pessoal. Anatomia de um Teclado. Estrutura do Computador. Arquitetura e Organização

COMPUTAÇÃO PARALELA E DISTRIBUÍDA

Conceitos Básicos. Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI. Disciplina: Banco de Dados

Mineração de Dados. Arthur Emanuel de O. Carosia Cristina Dutra de Aguiar Ciferri

Gestão Logística Inteligente

Guia para realização da Etapa II Fase 3

Prof. Daniela Barreiro Claro

4 Detecção de Silhueta

Atualizada em 29/01/

DISCIPLINA SIG EXERCÍCIO 1: MUDANÇA DE SISTEMA DE COORDENADAS (GEOGRÁFICAS LAT/LONG PARA UTM CÓRREGO ALEGRE)

Introdução de XML. Dados da Web. Gerência de Dados da Web. A Web representa, nos dias de hoje, um repositório universal de dados, onde:

FURBMOBILE: UMA APLICAÇÃO PARA VISUALIZAÇÃO E ACOMPANHAMENTO DA MATRIZ CURRICULAR

6 Conclusões e Trabalhos Futuros

SISTEMAS DE INFORMAÇÕES SOCIOAMBIENTAIS ORIENTADAS AO PLANEJAMENTO E GESTÃO AMBIENTAL

Rui Carneiro, Rui Pereira, Tiago Orfão

Desenvolvimento de Simuladores de Movimento em Escala para Análise e Visualização da Dinâmica de Veículos. Sistemas de Instrumentação e Controle.

Atividade prática orientada: delimitação de bacias hidrográficas usando o QGIS

Construção de bases de dados geográficos em SIG: resultados preliminares do Georreferenciamento da malha viária da cidade de Bambuí-MG

Figura 16 Niagara - Visão de grupos de notas.

ADAPTAÇÃO DE UM JOGO OPEN SOURCE PARA O DESENVOLVIMENTO DE UM SIMULADOR DE TRÂNSITO 1

Palavras-chave: (banco de dados; prontuário médico; paciente); deve vir logo abaixo do resumo

VISUALIZAÇÃO DE DADOS MÉDICOS

MATHEUS SEREZANI NICOLOSI BALANCEAMENTO EM TABELAS HASH DISTRIBUÍDAS SENSÍVEIS À LOCALIDADE

HEMOVIDA (CICLO DO SANGUE - Gerenciamento de estoque para grandes eventos)

I-Preproc: uma ferramenta para pré-processamento e indexação incremental de documentos

UNIVERSIDADE FEDERAL DE SANTA CATARINA SISTEMAS DE INFORMAÇÃO E CIÊNCIAS DA COMPUTAÇÃO INE CTC DATA MINING Prof.: Luis Otavio Campos Alvares

Dermanostic: um método para normalização da iluminação em imagens de lesões cutâneas

DESENVOLVENDO APLICAÇÕES MULTIPLATAFORMA PARA DISPOSITIVOS MÓVEIS UTILIZANDO IONIC E PHONEGAP

6 Definição integrada dos planos de borda livre e integridade estanque do casco

Sistema de Gestão Avícola SYSAVES. O sistema SYSAVES controla todo o processo, desde a saída dos

4 Processo de Transformação

Produzindo Mapas com Google Earth. Rita Mendes Bióloga Assessora SEAM/SEA Mestranda em Biodiversidade - JBRJ

Programação para Dispositivos Móveis

CARTOGRAFIA. Sistemas de Coordenadas. Prof. Luiz Rotta

APP WORK - SISTEMA DE GERENCIAMENTO DE HORÁRIO PONTO E GEOLOCALIZAÇÃO 1 APP WORK - POINT AND GEOLOCALIZATION SCHEME MANAGEMENT SYSTEM

XX Seminário Nacional de Distribuição de Energia Elétrica SENDI a 26 de outubro Rio de Janeiro - RJ - Brasil

Identificação de Pontos Perceptualmente Importantes (PIP) em séries temporais de tópicos extraídos de dados textuais

Computação Gráfica - 12

Capítulo 11. GRÁFICOS COM WGNUPLOT

UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO CONCEITO DE SOFTWARE PROFESSOR CARLOS MUNIZ

Manual do Usuário SinFAT Web

DESCOBERTA DO CONHECIMENTO COM O USO DE TEXT MINING APLICADA AO SAC TEXT MINING. Aluno José Lino Uber. Orientador Paulo Roberto Dias

DESENVOLVIMENTO DE APLICATIVOS HÍBRIDOS BENEFÍCIOS E PROBLEMAS ENCONTRADOS NA UTILIZAÇÃO DESSAS TECNOLOGIAS

Banco de Dados. Banco de Dados

FINDCAR: RASTREADOR VEICULAR UTILIZANDO OPENWRT

RECONHECIMENTO FACIAL 2D

AUTOR(ES): ALLEF ANDERSON DA SILVA, RICARDO TAVARES RIBEIRO DE MENDONÇA, WILLIAN MULIA MIRANDA

AULA 9 Geocodificação de Endereços. 9.1 Como funciona a Geocodificação de Endereços

Dados Vetoriais Dados Matriciais Dados Cadastrais. Representação contínua de fenômenos do espaço geográfico

Mapa Mental. Aplicabilidade de Mapa Mental

Bancos de Dados Orientados a Grafos. Mateus Lana e Thiago Santana

Descrição do processo de Modelagem e Simulação em quatro etapas no ambiente AMESim

Aprender a utilizar o aplicativo Gnuplot para fazer gráficos

Sistemas para Informação Geo-Referenciada DEI-IST 2011/2012

2ª. Competição Tecnológica (Outubro/2010)

Universidade Federal do Paraná - Setor de Ciências da Terra

DETECÇÃO DE CORES DE SOLUÇÕES QUÍMICAS PARA PESSOAS COM NENHUMA OU BAIXA VISÃO UTILIZANDO OPENCV

Proposta de Trabalho de Conclusão de Curso

6 Arquitetura do Sistema

Departamento de Matemática

Tadeu Corrêa Pinheiro. Orientador: Prof. Dr. Gilberto Pessanha Ribeiro

PLANEJAMENTO E AUTOMAÇÃO DE SOFTWARE PARA UTILIZAÇÃO NA DISCIPLINA DE CÁLCULO DIFERENCIAL E INTEGRAL

2.1. Construção da Pista

Transcrição:

BRENO NAODI KUSUNOKI IDENTIFICAÇÃO DE TRAJETÓRIAS PADRÕES E DE PONTOS INTERMEDIÁRIOS EM DADOS ESPAÇO-TEMPORAIS UTILIZANDO BUSCA POR SIMILARIDADE LONDRINAŰPR 2013

BRENO NAODI KUSUNOKI IDENTIFICAÇÃO DE TRAJETÓRIAS PADRÕES E DE PONTOS INTERMEDIÁRIOS EM DADOS ESPAÇO-TEMPORAIS UTILIZANDO BUSCA POR SIMILARIDADE Trabalho de Conclusão de Curso apresentado ao curso de Bacharelado em Ciência da Computação da Universidade Estadual de Londrina para obtenção do título de Bacharel em Ciência da Computação. Orientador: Prof. Dr. Daniel dos Santos Kaster LONDRINAŰPR 2013

Breno Naodi Kusunoki IDENTIFICAÇÃO DE TRAJETÓRIAS PADRÕES E DE PONTOS INTER- MEDIÁRIOS EM DADOS ESPAÇO-TEMPORAIS UTILIZANDO BUSCA POR SIMILARIDADE/ Breno Naodi Kusunoki. Ű LondrinaŰPR, 2013- Orientador: Prof. Dr. Daniel dos Santos Kaster Ű Universidade Estadual de Londrina, 2013. 1. Busca por similaridade. 2. Trajetória padrão. 3. Itinerário padrão. I. Prof. Dr. Daniel dos Santos Kaster II. Universidade Estadual de Londrina. III. Faculdade de Ciência da Computação. IV. IDENTIFICAÇÃO DE PADRÕES DE ITINERÁRIOS E DE PONTOS INTERMEDIÁRIOS EM DADOS ESPAÇO- TEMPORAIS UTILIZANDO BUSCA POR SIMILARIDADE. CDU 02:141:005.7

BRENO NAODI KUSUNOKI IDENTIFICAÇÃO DE TRAJETÓRIAS PADRÕES E DE PONTOS INTERMEDIÁRIOS EM DADOS ESPAÇO-TEMPORAIS UTILIZANDO BUSCA POR SIMILARIDADE Trabalho de Conclusão de Curso apresentado ao curso de Bacharelado em Ciência da Computação da Universidade Estadual de Londrina para obtenção do título de Bacharel em Ciência da Computação. BANCA EXAMINADORA Prof. Dr. Daniel dos Santos Kaster Universidade Estadual de Londrina Orientador Prof. Dr. Vitor Valério de S. Campos Universidade Estadual de Londrina Prof. Dr. Jacques Duílio Brancher Universidade Estadual de Londrina LondrinaŰPR, 24 de novembro de 2013 LONDRINAŰPR 2013

Dedico este trabalho aos meus pais, Catarina e Paulo, que me deram todo o suporte que precisei até o presente momento.

AGRADECIMENTOS Agradeço primeiramente aos meus pais, Catarina e Paulo, por todo apoio e dedicação que contribuiram para a conclusão deste trabalho. Ao meu orientador, professor Dr. Daniel dos Santos Kaster, pelo grande apoio, orientação e principalmente pela grande oportunidade que ele me deu em conjunto com o Giovani Benedetti Penha e a Veltec Soluções Tecnológicas S/A. Agradeço a Izabel da secretaria acadêmica do CCE, por esclarecer as dúvidas referentes a todo tipo de documentação durante a graduação e também agradeço a Valdete Matos por todo apoio e momentos de descontração. A todos que me ajudaram durante a graduação e principalmente ao Arthur Henrique Coutinho, Marcos Okamura, Luiz Guilherme Castilho Martins, Rafael Seidi Shigueoka, Ernesto Yuiti Saito, Pedro Sena Tanaka e Hélio Albano de Oliveira que ajudaram e me acompanharam durante os últimos anos da graduação. Por Ąm, agradeço a todos os professores e funcionários do departamento que desempenham suas funções em sua totalidade.

Todas as vitórias ocultam uma abdicação. (Simone de Beauvoir)

KUSUNOKI, B. N.. IDENTIFICAÇÃO DE TRAJETÓRIAS PA- DRÕES E DE PONTOS INTERMEDIÁRIOS EM DADOS ESPAÇO-TEMPORAIS UTILIZANDO BUSCA POR SIMILARI- DADE. 60 p. Trabalho de Conclusão de Curso (Graduação). Bacharelado em Ciência da Computação Ű Universidade Estadual de Londrina, 2013. RESUMO O problema de reconhecimento de padrões é extremamente difundido e existem inúmeros trabalhos que abordam esse problema e suas variantes. Esta pesquisa consiste na busca de padrões de itinerários e de pontos intermediários em dados espaço-temporais utilizando busca por similaridade e técnicas de mineração de dados. A principal motivação para esta pesquisa foi a possibilidade de solucionar um problema real, referente ao problema de reconhecimento de padrões, onde o processo de se encontrar esses padrões pode ser manual e oneroso. O objetivo Ąnal é o reconhecimento dos padrões que foram citados anteriormente de forma automática. Palavras-chave: Busca por similaridade. Trajetória padrão. Itinerário padrão.

KUSUNOKI, B. N.. PATTERN RECOGNITION OF TRAJECTO- RIES AND INTERMEDIATE POINTS IN SPATIO-TEMPORAL DATA USING SIMILARITY SEARCH.. 60 p. Final Project (Undergraduation). Bachelor of Science in Computer Science Ű State University of Londrina, 2013. ABSTRACT The problem of pattern recognition is extremely widespread and exist in many works dealing with this problem and their variants. The research consists in Ąnding itinerary and intermediate point patterns in space-temporal data using similarity search and data mining techniques. The main motivation for this research is the possibility to solve real problems, about the pattern recognition, where the the process to Ąnd these patterns can be manual and expensive. The Ąnal objective is the pattern recognition that were mentioned earlier automatically. Keywords: Similarity search. Trajectory pattern. Itinerary pattern.

LISTA DE ILUSTRAÇÕES Figura 1 Ű Visualização de um ponto no mapa..................... 28 Figura 2 Ű Ilustração de alguns centroides representados pela letra M........ 28 Figura 3 Ű Exemplo da árvore de decisão para problema de ir jantar no restaurante. 31 Figura 4 Ű Direcional habilitado (a) e Direcional desligado (b)............ 33 Figura 5 Ű Ilustração das regiões............................ 34 Figura 6 Ű Ilustração dos pontos classiącados..................... 36 Figura 7 Ű Saída do programa de visualização utilizando R.............. 40 Figura 8 Ű A visualização do programa desenvolvido com Google Maps....... 41 Figura 9 Ű Visualização dos pontos iniciais e Ąnais dos itinerários cadastrados... 42 Figura 10 ŰTrajetória com ruídos (a) e Itinerário cadastrado (b)........... 42 Figura 11 ŰPontos de uma determinada trajetória................... 45 Figura 12 ŰTotal de pontos obtidos........................... 47 Figura 13 ŰIntermediários obtidos............................ 47 Figura 14 ŰConstrução dos pontos de uma determinada trajetória.......... 50 Figura 15 ŰComparação de trajetórias......................... 51 Figura 16 Ű Ilustração do itinerário em vermelho e o padrão reconhecido em azul.. 55 Figura 17 ŰVelocidade do veículo entre dois envios de posições............ 56 Figura 18 ŰIlustração dos pontos intermediários em azul............... 56 Figura 19 ŰIlustração da comparação da distância entre pares de posições...... 58 Figura 20 Ű Ilustração da comparação de trajetórias utilizando área dos polígonos.. 58

LISTA DE TABELAS Tabela 1 Ű Experimento com 2 bases de dados da mesma empresa em número de pontos.................................... 36 Tabela 2 Ű Experimento com 2 bases de dados da mesma empresa em porcentagens. 37 Tabela 3 Ű Análise utilizando conjuntos de empresas distintas em número de pontos. 38 Tabela 4 Ű Análise utilizando conjuntos de empresas distintas em porcentagens.. 39

LISTA DE ABREVIATURAS E SIGLAS API GPS GIS Application Programming Interface. Global Positioning System. Geographic Information System. SAD69 South American Datum 1969. SQL Structured Query Language.

SUMÁRIO 1 Introdução................................... 23 1.1 Motivação................................... 23 1.2 Objetivos e contribuições........................... 24 1.3 Organização do trabalho........................... 25 2 Fundamentação Teórica........................... 27 2.1 Conceitos................................... 27 2.1.1 Geoprocessamento.......................... 27 2.1.1.1 Coordenada geográąca................... 27 2.1.1.2 Ponto............................ 27 2.1.1.3 Posição........................... 27 2.1.1.4 Centroide.......................... 28 2.1.1.5 Trajetória.......................... 29 2.1.1.6 Constante de mapa..................... 29 2.1.2 Mineração de dados.......................... 30 2.1.2.1 Descoberta de Conhecimento em Banco de Dados.... 30 2.1.2.2 Descoberta de padrões em séries temporais........ 30 2.1.3 Busca por similaridade........................ 30 2.1.4 Dados espaço-temporais....................... 31 2.1.5 Árvore de decisão........................... 31 2.2 Descrição do problema............................ 32 2.2.1 Conceitos relacionados ao problema................. 32 2.2.1.1 Posição........................... 32 2.2.1.2 Itinerário.......................... 33 2.2.1.3 Direcional.......................... 33 2.2.1.4 Região............................ 34 2.2.2 Análise dos dados complexos..................... 34 2.2.2.1 Análise dos dados utilizando os métodos de classiącação existentes no Weka..................... 35 2.2.2.2 Análise de bases de dados distintas............ 37 2.2.2.3 Resultado da análise.................... 39 2.2.2.4 Visualização dos dados complexos no plano geográąco. 39 2.3 Trabalhos correlatos............................. 42 2.4 Experimentos................................. 44

2.4.1 Utilização de árvores de decisão para se obter os pontos iniciais e Ąnais.................................. 44 2.4.2 Detecção dos pontos de início e Ąm das trajetórias através do tempo parado................................. 44 3 Proposta de Solução............................. 49 3.1 Pré-processamento.............................. 49 3.2 Construção das trajetórias descritas pelos veículos............. 49 3.3 Construção dos pontos de cada trajetória.................. 49 3.4 Construção das regiões............................ 50 3.5 Comparação e identiącação das trajetórias mais frequentes........ 50 3.6 Extrair os itinerários padrões........................ 51 4 Resultados................................... 55 5 Conclusão.................................... 57 Referências..................................... 59

23 1 INTRODUÇÃO Na última década a utilização de técnicas de geoprocessamento cresceu substancialmente. Este crescimento pode ser observado pelo grande número de ferramentas criadas como Google Earth 1, Google Maps 2, ArcGIS 3 que podem ser utilizadas na cartograąa, fotogrametria, geoestatística, banco de dados geográącos, WebMapping 4, SIG(Geographic Information System) e auxiliando também em tomadas de decisão fundamentadas nas informações extraídas através das ferramentas citadas. Atualmente, existem diversas soluções que utilizam dados espaço-temporais para rastreamento e gerenciamento de veículos de forma inteligente visando a diminuição de gastos com manutenções, combustível, pneus, entre outros fatores que poderiam ser evitados com o uso correto do veículo. A pesquisa está ambientada na área de buscas por similaridade em dados espaço-temporais e será baseada em um problema real que ocorre em uma dessas soluções existentes no mercado. 1.1 Motivação A motivação da pesquisa é que em um dos sistemas de gerenciamento de frotas que existem no mercado, há algumas funcionalidades que dependem do cadastramento manual e exaustivo dos itinerários a serem percorridos pelos veículos, pois sem esses itinerários delineados previamente, não é possível inferir se o veículo está percorrendo o trajeto correto, se o mesmo está na velocidade correta para o trecho, se o motorista está gastando combustível além do necessário, entre outras conclusões. O problema consiste em encontrar itinerários padrões a partir de uma base de dados espaço-temporais e efetuar a extração de pontos intermediários, que podem ser pontos de ônibus de transporte coletivo ou paradas obrigatórias em viagens interestaduais, dos itinerários identiącados de forma automática. Esses dados são gerados a partir de veículos que possuem um módulo de GPSGlobal Positioning System que envia posições a cada um minuto e quarenta e cinco segundos ou em intervalos menores quando o direcional do módulo está ativado. O direcional é uma conąguração do módulo que quando habilitada, o veículo passa a reportar uma maior quantidade de posições quando o mesmo efetua 1 Google Earth é um aplicativo que permite ao utilizador visualizar e procurar por lugares de seu interesse, possibilitando a visualização de imagens de satélite, mapas, terrenos, edifícios 3D. 2 Google Maps é um produto que permite ao usuário traçar rotas para lugares, pesquisar por lugares de interesse como hotéis, restaurantes, lojas, permite também uma visão no nível da rua do local através do Google Street View. 3 ArcGIS é uma plataforma para criação e gerenciamento de soluções através da aplicação do conhecimento geográąco. 4 WebMapping é o processo de criação, implementação e geração de mapas para World Wide Web.

24 Capítulo 1. Introdução curvas com mais de vinte e cinco graus. Essas posições que descrevem em que localidade o automóvel se encontra no globo terrestre contêm informações como latitude, longitude, data em que foi enviada, velocidade do veículo, direção em graus, eventos como ignição ligada ou desligada, porta aberta ou fechada, entre outras. Essas posições são enviadas para um gateway onde são processadas e persistidas em sistemas de gerenciamento de banco de dados relacionais e que são utilizadas pelo software existente para efetuar o gerenciamento e rastreamento de veículos. 1.2 Objetivos e contribuições O principal objetivo deste trabalho de conclusão de curso foi obter uma solução que encontrasse itinerários e pontos intermediários padrões de tal forma que a solução fosse extraída dos dados espaço-temporais e processada gerando as trajetórias de cada itinerário juntamente com os respectivos pontos intermediários. O resultado deste trabalho pode ser utilizado em diversos problemas que os objetivos são a identiącação de trajetórias e locais padrões, de acordo com as trajetórias feitas por quaisquer objetos móveis que tenham dispositivos para reportar as posições geográącas dos mesmos juntamente com o instantes em que elas foram enviadas, como na identiącação de vias públicas para se implantar faixas exclusivas para ônibus, utilizando a identiącação das trajetórias frequentes, descritas por ônibus de transporte coletivo, onde há um grande número de localidades onde os ônibus permanecem por um longo tempo sem desenvolver um velocidade maior que, por exemplo, vinte quilômetros por hora ou não se deslocam mais que duzentos metros. Em se tratando de aplicações reais, as análises sempre estarão sujeitas a erros, visto que, os bancos de dados em sua maioria detêm dados com ruídos e por portanto, foi necessário efetuar um pré-processamento para Ąltrar os dados ruidosos dos dados Ądedignos. Um dos objetivos especíącos é o reconhecimento dos pontos onde cada itinerário começa e termina, para que se possa delimitar todas as trajetórias que passam por esses pontos e também identiącar e remover outliers. Outro objetivo é a identiącação de regiões semelhantes entre as trajetórias para inferir se determinadas regiões são pontos intermediários ou são somente pontos de tráfego intenso em determinados horários. Por Ąm a identiącação dos pontos intermediários de cada itinerário padrão reconhecido, que podem ser pontos de transporte coletivo de determinada linha de ônibus, locais de entrega de mercadorias, pontos de parada em viagens interestaduais, entre outros.

1.3. Organização do trabalho 25 1.3 Organização do trabalho No capítulo 2 contém toda a fundamentação teórica para este trabalho de conclusão de curso, a descrição do problema, trabalhos correlacionados a proposta de pesquisa e os experimentos realizados; no capítulo 3 está descrita a proposta de solução do problema; no capítulo 4 contém os resultados obtidos e no capítulo 5 consta a conclusão e os trabalhos futuros.

27 2 FUNDAMENTAÇÃO TEÓRICA 2.1 Conceitos Antigamente, as informações como a disposição das malhas ferroviárias e dos recursos minerais em determinada região eram armazenadas somente em documentos e mapas em papel. Com o advento da tecnologia de geoprocessamento, foi possível transcrever e armazenar essas informações em ambiente computacional de tal forma que as mesmas pudessem ser representadas e analisadas com maior facilidade. Desta maneira, surgiu o geoprocessamento. Com o aumento das informações coletadas e o avanço no armazenamento de grandes quantidades de dados, surgiu a necessidade de se ter formas de se processar e extrair informações relevantes de forma automática que antes eram desconhecidas, utilizando técnicas de KDD(Knowledge-Discovery in Databases), mais especiącamente, mineração de dados. 2.1.1 Geoprocessamento Geoprocessamento é um processo que utiliza técnicas com fundamentação matemática e computacional para o processamento dos dados geográącos e que vem inćuenciando de forma crescente várias áreas como cartograąa, telecomunicações, transportes, planejamento urbano, análise de recursos naturais possibilitando assim o processamento, análise e tomadas de decisão baseadas nas informações retiradas desses dados [1]. 2.1.1.1 Coordenada geográąca As coordenadas (a latitude e a longitude) de um ponto sobre a superfície da Terra, se referem ao equador e a um meridiano-origem. No âmbito deste trabalho a longitude será representada por é a latitude por. 2.1.1.2 Ponto Um ponto é composto por 2 coordenadas geográącas( e ). A Ągura 1 mostra como é representado o ponto no mapa. 2.1.1.3 Posição Uma posição é composta pelas coordenadas x e y contendo também quando a posição foi enviada. (,, h ) (2.1)

28 Capítulo 2. Fundamentação Teórica Figura 1: Visualização de um ponto no mapa. 2.1.1.4 Centroide Centroide é o centro de gravidade de uma determinada unidade geográąca. Na geometria o centroide é um ponto que deąne o centro geométrico de uma forma, se a mesma possuir uma seção homogênea o centroide coincidirá com o centro de massa e se o corpo não for homogêneo e se o mesmo for submetido a um campo gravitacional constante o centroide será o centro de gravidade [2]. Figura 2: Ilustração de alguns centroides representados pela letra M. passos: Se tratando de dados geográącos o centroide pode ser calculado pelos seguintes 1. Converter lat1(latitude) e lng1(longitude) de graus para radianos. 1 = 1 Þ/180 1 = 1 Þ/180 (2.2) 2. Converter lat1/lng1 para coordenadas cartesianas para primeira posição. 1 = ( 1) ( 1) 1 = 1 = ( 1) ( 1) ( 1) (2.3)

2.1. Conceitos 29 3. Repetir 1 e 2 para todas as posições para obter o centroide das mesmas. 4. Calcular o peso total de todas as posições. ( = 1 + 2 + 3 +... + )/ ( = 1 + 2 + 3 +... + )/ (2.4) ( = 1 + 2 + 3 +... + )/ 5. Converter a média de x, y, z de coordenadas para latitude e longitude. = 2(, ) h = ( + ) (2.5) = 2(, h ) 6. Converter lat e lng para graus. = 180/Þ = 180/Þ (2.6) 2.1.1.5 Trajetória Uma trajetória, no contexto deste trabalho, é a evolução de um objeto no espaço em um determinado intervalo de tempo e pode ser deąnida por uma sequência Ąnita de posições ordenadas cronologicamente, : 1 2, cada posição. 2.1.1.6 Constante de mapa A constante de mapa C, também chamada de grau geodésico, é um valor aproximado resultante do cálculo do comprimento da circunferência da terra dividido por 360 graus, representado na fórmula 2.7. C = 2Þ 360 (2.7) Levando em consideração que o raio da terra é de 6378160 metros, igual ao semieixo maior do modelo de coordenadas SAD69, temos: C = 2 3.141592(Þ) 6378160 360 = 11320 (2.8)

30 Capítulo 2. Fundamentação Teórica 2.1.2 Mineração de dados Nas últimas décadas grandes organizações têm gerado uma grande quantidade de dados que podem ser interpretáveis por computadores com sistemas de gerenciamento de banco de dados, para que o este processamento seja possível, existe a tecnologia de banco de dados que disponibiliza linguagens de consulta como a SQL(Structured Query Language). O problema com a linguagem de consulta estruturada é que ela parte do pressuposto que o usuário tem conhecimento do esquema da base de dados. A mineração de dados é o processo de se obter informações antes desconhecidas à partir de padrões ou regras em bases de dados de grande volume [3]. Para Tan, a mineração de dados é o processo automático de descoberta de informações úteis em grandes quantidades de dados que não eram conhecidas antes da aplicação das técnicas de extração de informações relevantes da base de dados [4]. 2.1.2.1 Descoberta de Conhecimento em Banco de Dados A descoberta de conhecimento em bancos de dados(knowledge Discovery in Databases), este processo é composto normalmente por seis etapas, seleção dos dados a serem processados, remoção de ruídos, enriquecimento, transformação, mineração e a construção dos relatórios e apresentação dos resultados. Destes resultados pode ser obtido novas informações como, regras de associação, padrões seqüenciais e árvores de classiącação ou decisão. Os conhecimentos descobertos durante a garimpagem de dados podem ser descritos como regras de associação, hierarquias de classiącação, padrões seqüenciais, padrões com séries temporais e clusterização [3]. 2.1.2.2 Descoberta de padrões em séries temporais As séries temporais são seqüências de acontecimentos, sendo que cada evento pode ser um tipo imutável de uma determinada transação. Na análise das séries temporais, diversos padrões podem ser encontrados analisando as seqüências e as sub-seqüências. [??]. Séries podem ser comparadas por meio da deąnição de medidas de similaridades para tentar prever o comportamento da bolsa de valores, por exemplo [5]. 2.1.3 Busca por similaridade A busca por similaridade surgiu da necessidade de se ter consultas mais inteligentes, que possam comparar dados complexos e estabelecer relações de similaridade entre eles. Esse tipo de busca pode ser utilizado para veriącar semelhanças entre imagens, vídeos, séries temporais, dados genéticos, entre outros dados complexos [6]. Uma das aplicações da busca por similaridade é a detecção de semelhanças entre imagens médicas como ressonância magnética, mamograąa e tomograąa. Essa busca pode

2.1. Conceitos 31 auxiliar o diagnóstico do paciente, pois o médico pode recuperar imagens semelhantes da base de dados, comparar com a do paciente e veriącar os diagnósticos de cada imagem recuperada ajudando o médico na tomada de decisão e no prognóstico [7, 8]. 2.1.4 Dados espaço-temporais Antes, pesquisas em modelos de dados espaciais e temporais eram desenvolvidas separadamente, atualmente essas pesquisas estão correlacionadas. Quando existe a integração de espaço e tempo, temos dados geométricos evoluindo ao longo do tempo. Em banco de dados existem três abstrações fundamentais de dados espaço-temporais, pontos que descrevem a localização de um objeto, linhas que descrevem conexões no espaço ou a evolução de determinados objetos no espaço-tempo que podem ser representadas como polilinhas e regiões onde a medida é relevante representadas por polígonos [9]. 2.1.5 Árvore de decisão Árvores de decisão são estruturas que podem ser utilizados para aprendizagem e também para tomada de decisões de acordo com a entrada, a estrutura de uma árvore de decisão é similar a regras de se-então, estrutura muito utilizada para implementação de sistemas especialistas e em problemas cujo objetivo é classiącar o conjunto de dados de entrada, o conjunto de entrada pode ser discretos ou contínuos. Na Ągura 3 é ilustrada a estrutura de uma árvore decisão cujo objetivo é decidir se determinada pessoa deve ou não ir em um restaurante para jantar, neste exemplo os dados são discretos, sendo que o aprendizado através desses dados é chamado de classiącação. Inicialmente todos os atributos devem ser descritos e também é necessário um conjunto de entrada já classiącado para que o algoritmo de árvore de decisão possa gerar o modelo de classiącação. O modelo gerado é ilustrado no algoritmo 1. Figura 3: Exemplo da árvore de decisão para problema de ir jantar no restaurante.

32 Capítulo 2. Fundamentação Teórica Algoritmo 1: Modelo de classiącação do exemplo de ir jantar no restaurante. Entrada: [ ] Conjunto com as entradas com os respectivos atributos Saída : [ ] Conjunto contendo as entradas classiącadas enquanto existir entradas em [ ] faça entrada próxima entrada de [ ] se entrada.dinheiro == 0 então entrada.classiącação NÃO; [ ].adicionar(entrada); Ąm se senão se entrada.dinheiro entre 31 e 50 reais então se entrada.preço > 50 reais então entrada.classiącação NÃO; [ ].adicionar(entrada); Ąm se senão entrada.classiącação SIM; [ ].adicionar(entrada); Ąm se Ąm se senão se entrada.dinheiro > 50 reais então entrada.classiącação SIM; [ ].adicionar(entrada); Ąm se Ąm se Ąm se Ąm enqto 2.2 Descrição do problema O problema consiste na identiącação de trajetórias padrões utilizando busca por similaridade, das trajetórias desenvolvidas por objetos móveis no espaço geográąco, como, trajetórias desenvolvidas por veículos automotores, ciclistas, pedestres, animais, a partir de uma base de dados espaço-temporais; e de cada trajetória padrão reconhecida, obter os pontos intermediários padrões da mesma. 2.2.1 Conceitos relacionados ao problema 2.2.1.1 Posição Uma posição é composta pelo identiącador, o identiącador do veículo, data e hora em que foi enviada, latitude, longitude, direção do veículo em relação ao globo terrestre no instante em que a posição foi enviada, velocidade do veículo, valor que indica se o

2.2. Descrição do problema 33 veículo está com a ignição ligada ou desligada no momento do envio da posição e o tipo de posição. Determinada posição também pode ser representada da seguinte forma: (,, h,,, çã,, çã, ) (2.9) 2.2.1.2 Itinerário No âmbito deste trabalho um itinerário é deąnido como uma lista ordenada Ąnita de pontos, : 1 2, onde 1 é o ponto inicial e o é o Ąnal. 2.2.1.3 Direcional O direcional é uma conąguração do módulo que quando habilitada, o veículo passa a reportar uma maior quantidade de posições quando o mesmo efetua curvas com mais de vinte e cinco graus. Essa conąguração existe para que se possa delinear curvas com maior precisão, pois sem ela o veículo envia uma posição a cada 1 minuto e 45 segundos. A Ągura 4 ilustra as posições enviadas com o direcional habilitado e com a conąguração desligada. Figura 4: Direcional habilitado (a) e Direcional desligado (b).

34 Capítulo 2. Fundamentação Teórica 2.2.1.4 Região Uma região pode ser representada por um quadrado de arestas de tamanho Δ no plano xy, deąnida por duas componentes 2.10. (, ) (2.10) Dado um ponto (, ), podemos inferir qual região o mesmo se localiza no mapa, para isso deve-se efetuar dois cálculos para encontrar a primeira e a segunda componente ilustrados em 2.11, 2.12 respectivamente. = Δ = Δ (2.11) (2.12) Na Ągura 5 é mostrado algumas regiões plotadas no mapa, as regiões em verde demonstram que a região tem entre 3 à 10 pontos, as laranjas contêm de 11 à 20 pontos, as vermelhas de 21 à 30 pontos e as pretas têm no mínimo 31 pontos ou mais. Figura 5: Ilustração das regiões. 2.2.2 Análise dos dados complexos Nesta seção serão mostradas algumas análises dos dados complexos com a intenção de se ter uma melhor compreensão do problema.

2.2. Descrição do problema 35 2.2.2.1 Análise dos dados utilizando os métodos de classiącação existentes no Weka Para esta análise, foi utilizado o software Weka 1 na versão 3.6.9 e o sistema operacional utilizado foi Mac OS X na versão 10.9. No total foram efetuados 32 testes utilizando os algoritmos padrões de classiącação disponíveis no software. Objetivo desta análise é veriącar se existe a possibilidade de se classiącar os pontos enviados pelos veículos como pontos de interesse, neste caso pontos iniciais, intermediários ou Ąnais. Esta primeira análise foi realizada da seguinte forma, primeiramente houve a necessidade de se classiącar o conjunto de dados A com base nos pontos iniciais e Ąnais já cadastrados no sistema. A classiącação consistiu em comparar cada posição do conjunto A com cada ponto de interesse cadastrado no sistema e veriącar se determinado ponto estiver a menos de 50 metros do ponto cadastrado, o mesmo é classiącado como um ponto de interesse, caso contrário o ponto é classiącado como uma posição normal. O segundo passo foi utilizar o conjunto de dados A como entrada para os algoritmos de classiącação contidos no Weka gerando assim um modelo de classiącação baseado nos dados classiącados do conjunto de dados A e o terceiro passo foi utilizar um outro conjunto de dados B para testar o modelo de classiącação analisando a acurácia do mesmo. Os conjuntos de dados são da mesma empresa mas de meses distintos e cada conjunto de dados possui 100.000 posições. Os atributos utilizados para gerar o modelo de classiącação foram data, direção, velocidade, ignição, tipo e o atributo objetivo é se determinada posição é ou não um ponto inicial ou Ąnal. Na Ągura 6 estão demonstrados os resultados depois que o conjunto de dados B foi classiącado pelo modelo. O círculo preto representa um determinado ponto de interesse cadastrado no sistema com raio de 50 metros. Os pontos verdes representam os pontos classiącados de maneira correta pelo modelo. Os círculos azuis são os pontos que não são de interesse e o vermelho é uma posição que foi classiącada erroneamente como sendo de interesse pelo modelo de classiącação. A tabela 1 mostra os resultados obtidos utilizando diversos algoritmos de classiącação já implementados no programa Weka e a tabela 2 traz o resultado em porcentagem. 1 Weka Coleção de algoritmos de aprendizado de máquina para resolver problemas de mineração de dados implementados em Java e de código aberto sob a licença GPL.

36 Capítulo 2. Fundamentação Teórica Figura 6: Ilustração dos pontos classiącados. Nome do método Corretos Incorretos Positivos Negativos Falsos negativos Falsos positivos Logistic 73335 26667 2328 71007 23630 3037 Attribute Selected Classifier 73376 26626 3012 70364 22946 3680 Bagging 73816 26186 6546 67270 19412 6774 Classification Via Regression 73465 26537 4386 69079 21572 4965 Filtered Classifier 73823 26179 1796 72027 24162 2017 Logit Boost 73323 26679 2938 70385 23020 3659 Multi Class Classifier 73335 26667 2328 71007 23630 3037 Random Committee 69760 30242 9401 60359 16557 13685 Random Sub Space 73613 26389 2331 71282 23627 2762 Decision Table 73295 26707 2455 70840 23503 3204 JRip 73860 26142 1342 72518 24616 1526 OneR 68733 31269 3602 65131 22356 8913 PART 73869 26133 2234 71635 23724 2409 J48 74064 25938 3642 70422 22316 3622 LMT 74012 25990 4122 69890 21836 4154 Random Forest 70862 29140 9135 61727 16823 12317 Random Tree 67910 32092 9467 58443 16491 15601 REP Tree 72167 27835 6989 65178 18969 8866 Tabela 1: Experimento com 2 bases de dados da mesma empresa em número de pontos.

2.2. Descrição do problema 37 Nome do método Corretos Incorretos Positivos Negativos Falsos negativos Falsos positivos Logistic 73.335% 26.667% 3.1744733% 96.82553% 88.6114% 11.388607% AttributeSelectedClassifier 73.376% 26.626% 4.104884% 95.89512% 86.178925% 13.821077% Bagging 73.816% 26.186% 8.867996% 91.132% 74.13122% 25.868786% ClassificationViaRegression 73.465004% 26.537% 5.9701896% 94.02981% 81.290276% 18.709726% FilteredClassifier 73.823% 26.179% 2.432846% 97.567154% 92.29535% 7.704649% LogitBoost 73.323% 26.679% 4.0069284% 95.99307% 86.28509% 13.714907% MultiClassClassifier 73.335% 26.667% 3.1744733% 96.82553% 88.6114% 11.388607% RandomCommittee 69.76% 30.241999% 13.476205% 86.523796% 54.748363% 45.251637% RandomSubSpace 73.613% 26.389% 3.1665602% 96.833435% 89.53352% 10.466482% DecisionTable 73.295% 26.706999% 3.3494782% 96.65052% 88.00314% 11.996855% JRip 73.86% 26.142002% 1.8169509% 98.183044% 94.16265% 5.83735% OneR 68.733% 31.269% 5.2405686% 94.75943% 71.49573% 28.50427% PART 73.869% 26.133001% 3.0242727% 96.97572% 90.78177% 9.21823% J48 74.063995% 25.938002% 4.917369% 95.08263% 86.035934% 13.964069% LMT 74.012% 25.99% 5.569367% 94.43063% 84.01693% 15.98307% RandomForest 70.862% 29.14% 12.891253% 87.10875% 57.73164% 42.26836% RandomTree 67.909996% 32.092% 13.94051% 86.059494% 51.386635% 48.61336% REPTree 72.167% 27.835% 9.684482% 90.31552% 68.14802% 31.851986% Tabela 2: Experimento com 2 bases de dados da mesma empresa em porcentagens. 2.2.2.2 Análise de bases de dados distintas A segunda análise utiliza duas bases de dados de empresas distintas, cada uma com 100.000 posições e de meses distintos. A tabela 3 mostra os resultados obtidos em número de pontos e a tabela 4 traz o resultado em porcentagem.

38 Capítulo 2. Fundamentação Teórica Nome do método Corretos Incorretos Positivos Negativos Falsos negativos Falsos positivos Logistic 92667 7335 574 92093 5118 2217 Attribute Selected Classifier 93059 6943 569 92490 5123 1820 Bagging 92667 7335 574 92093 5118 2217 Classification Via Regression 91127 8875 755 90372 4937 3938 Filtered Classifier 92840 7162 549 92291 5143 2019 Logit Boost 92724 7278 584 92140 5108 2170 Multi Class Classifier 92667 7335 574 92093 5118 2217 Random Committee 84370 15632 1566 82804 4126 11506 Random Sub Space 93708 6294 328 93380 5364 930 Decision Table 88644 11358 606 88038 5086 6272 JRip 93585 6417 347 93238 5345 1072 OneR 80277 19725 885 79392 4807 14918 PART 92970 7032 260 92710 5432 1600 J48 91381 8621 709 90672 4983 3638 LMT 90828 9174 722 90106 4970 4204 Random Forest 85908 14094 1543 84365 4149 9945 Random Tree 82568 17434 1653 80915 4039 13395 REP Tree 88057 11945 1237 86820 4455 7490 Tabela 3: Análise utilizando conjuntos de empresas distintas em número de pontos.

2.2. Descrição do problema 39 Nome do método Corretos Incorretos Positivos Negativos Falsos negativos Falsos positivos Logistic 92.667% 7.3349996% 0.6194222% 99.38058% 69.77505% 30.224949% Attribute Selected Classifier 93.059% 6.9430003% 0.61144006% 99.38856% 73.786545% 26.213451% Bagging 92.667% 7.3349996% 0.6194222% 99.38058% 69.77505% 30.224949% Classification Via Regression 91.127% 8.875% 0.82851404% 99.171486% 55.62817% 44.37183% Filtered Classifier 92.84% 7.162% 0.59133995% 99.40866% 71.80955% 28.190449% Logit Boost 92.724% 7.278% 0.6298262% 99.37018% 70.18412% 29.815882% Multi Class Classifier 92.667% 7.3349996% 0.6194222% 99.38058% 69.77505% 30.224949% Random Committee 84.37% 15.632001% 1.8561101% 98.14389% 26.394575% 73.60542% Random Sub Space 93.708% 6.294% 0.35002348% 99.64998% 85.22402% 14.775976% Decision Table 88.644% 11.358001% 0.68363345% 99.31637% 44.77901% 55.220993% JRip 93.585% 6.4170003% 0.37078592% 99.62921% 83.29437% 16.705626% OneR 80.277% 19.724998% 1.1024328% 98.89757% 24.370089% 75.62991% PART 92.97% 7.032% 0.2796601% 99.720345% 77.24687% 22.753128% J48 91.381004% 8.620999% 0.77587247% 99.22413% 57.80072% 42.19928% LMT 90.828% 9.174% 0.79490906% 99.205086% 54.17484% 45.825157% Random Forest 85.908005% 14.094% 1.7961075% 98.20389% 29.438057% 70.56194% Random Tree 82.568% 17.434% 2.0019863% 97.99801% 23.167376% 76.83263% REP Tree 88.057% 11.945001% 1.4047719% 98.59522% 37.29594% 62.704063% Tabela 4: Análise utilizando conjuntos de empresas distintas em porcentagens. 2.2.2.3 Resultado da análise Em ambas as bases de dados o resultado das classiącações dos dados pelos algoritmos não foi satisfatória, pois a porcentagem de dados classiącados corretamente como positivos foi relativamente baixo e a porcentagem de falsos negativos foi alta, tornando a classiącação e extração dos pontos de interesse inviável pois a maior parte dos pontos que eram de interesse foram classiącados erroneamente, o que poderia comprometer a delimitação das trajetórias feitas pelos veículos e por consequência a busca por similaridade entre as trajetórias reconhecidas. 2.2.2.4 Visualização dos dados complexos no plano geográąco Para facilitar a compreensão do problema foi desenvolvido um programa de visualização dos dados geográącos, inicialmente o software de visualização dos dados espaçotemporais começou a ser desenvolvido utilizando o programa R 2, programa utilizado para 2 R é um programa que oferece um ambiente para computação estatística e elaboração de gráącos.

40 Capítulo 2. Fundamentação Teórica computação estatística e construção de gráącos, mas com a grande quantidade de dados, em torno de milhões de posições geográącas, o desempenho do mesmo não foi satisfatório e também o R não tem mapas nativos com informações detalhadas como malhas rodoviárias e cidades. A Ągura 7 ilustra o resultado do processamento dos dados geográącos pelo programa desenvolvido utilizando o R. 47.21 47.20 47.19 47.18 y 47.17 47.16 47.15 47.14 Raw data 22.79 22.78 22.77 22.76 22.75 22.74 22.73 x Figura 7: Saída do programa de visualização utilizando R. Uma alternativa escolhida foi desenvolver o programa utilizando as APIs do Google, visto que as APIs proporcionam mais opções personalizadas para visualização dos dados, permitindo plotar pontos, polígonos e polilinhas no mapa. A Ągura 8 mostra a saída do programa escrito utilizando o Google Maps 3. 3 Google Maps é uma API que fornece diversas funcionalidades como visão da rua em determinada localização geográąca, construções em três dimensões, rotas de ônibus, entre outras diversas funcionalidades.

2.2. Descrição do problema 41 Figura 8: A visualização do programa desenvolvido com Google Maps. Mas como o Google Maps tem restrições de utilização do mesmo na criação de trabalhos derivados do conteúdo ou de qualquer parte da API, optou-se por desenvolver utilizando tecnologias open source 4 como Open Street Maps 5, Play Framework 6 e a biblioteca de javascript LeaĆet 7. A Ągura 9 mostra a visualização dos pontos iniciais dos itinerários cadastrados no sistema em verde e os Ąnais em vermelho. Existe a necessidade de se pré-processar os dados, pois na base de dados existem diversos ruídos que podem ser posições inseridas para teste da aplicação, posições duplicadas, posições com características especiais que só existem depois do cadastramento manual dos itinerários, posições incorretas devida a falha na conąguração do módulo que envia as posições ou até mesmo por falha de hardware. 4 O termo open source, ou código aberto em português, foi criado pela OSI (Open Source Initiative) e refere-se a software também conhecido por software livre. 5 Open Street Maps(OSM) é uma ferramenta colaborativa para criação e edição de mapas do mundo. 6 Play é uma ferramenta baseada na leveza e com uma arquitetura amigável para desenvolvimento web. É construída utilizando Akka, fornecendo um ambiente para aplicações escaláveis. 7 LeaĆet é uma biblioteca JavaScript desenvolvida para proporcionar uma melhor interação com mapas através de dispositivos móveis.

42 Capítulo 2. Fundamentação Teórica Figura 9: Visualização dos pontos iniciais e Ąnais dos itinerários cadastrados. Figura 10: Trajetória com ruídos (a) e Itinerário cadastrado (b). 2.3 Trabalhos correlatos Através de uma simples análise dos dados espaço-temporais pode-se retirar diversas informações de objetos em movimento como velocidade, aceleração, trajetória entre determinado espaço de tempo, que podem ser utilizadas para se obter os pontos intermediários visto que nesses pontos geralmente o objeto móvel permanece parado. Assim, existe a possibilidade de se agrupar essas informações de tal forma que se possa distin-

2.3. Trabalhos correlatos 43 guir quais trajetórias foram desenvolvidas por carros, caminhões, ônibus, motocicletas ou pedestres. Esta classiącação das trajetórias é feita analisando a variação da velocidade, aceleração e o intervalo em que a velocidade varia durante o decorrer da trajetória [10]. Shaw e Gopalan[11] têm como objetivo, encontrar os padrões de trajetórias mais frequentes em um banco de dados relacional que é alimentado por um arquivo de texto contendo as coordenadas. Esse trabalho utiliza uma modiącação do algoritmo de associação chamado Apriori para extrair as coordenadas mais frequentes da base de dados, que se assemelha a pesquisa, visto que as trajetórias mais frequentes têm uma maior chance de serem as trajetórias padrões que normalmente são utilizadas. Zheng, Wei e Peng[12] propõem uma forma de se inferir as rotas mais populares através de um conjunto de trajetórias incertas geradas por aplicações de geolocalização como Foursquare 8, Flickr 9 e trajetórias feitas por táxis. Neste trabalho foi utilizado um grafo roteável, onde os vértices são as posições geográącas, as arestas indicam o tempo de cada trajeto entre 2 vértices e um algoritmo denominado de top-k que obtém as k rotas mais utilizadas, este trabalho é correlacionado com a pesquisa pois ele detecta os lugares com maior número de visitas que no caso desta pesquisa podem ser os pontos intermediários. Existem outros trabalhos como de Wen [13] que cria um método que obtém as rotas regulares de uma base de dados que contem históricos das trajetórias já feitas por usuários com objetivo de obter mais informações sobre o comportamento das pessoas, recomendar roteiros de viagens de acordo com as rotas obtidas pelo método podendo assim melhorar a experiência do turista durante a viagem e como consequência disso uma maior satisfação do cliente, o trabalho de Wen tem relação com a pesquisa pois o algoritmo obtém diversas informações das localidades mais frequentadas o que se assemelha na identiącação dos locais que são pontos intermediários de uma determinada trajetória. O trabalho de Fontes e Bogorny [14] propõe um método de detecção de anomalias em trajetórias entre determinadas regiões delimitadas por polígonos no espaço geográąco, que leva em consideração a duração da trajetória, alinhamento do tempo dos pontos em relação as demais trajetórias e veriącando se a distância de cada ponto não está a uma distância maior que um determinado limiar, os autores utilizam janela de tempo para veriącar a similaridade das trajetórias, o que poderia ser aplicado também a pesquisa. Outro trabalho relacionado a pesquisa e ao reconhecimento de padrões entre trajetórias é o de Panagiotakis, Pelekis e Kopanakis, pois na pesquisa dos autores, existe a classiącação de sub-trajetórias utilizando uma método baseado em comparações entre 8 Foursquare é um aplicativo que permite ao utilizador indicar onde se encontra e procurar por lugares próximos de seu interesse. 9 O Flickr é um site da web de hospedagem e partilha de imagens, que possibilita indicar em que lugar as fotos foram tiradas.

44 Capítulo 2. Fundamentação Teórica objetos que estiveram no mesmo lugar e em instantes muito próximos [15]. Aplicação de métodos que fazem o alinhamento de posições de GPS enviados pelo usuário à malha rodoviária, obtendo as trajetórias com uma baixa taxa de amostragem de posições [16]. O artigo [17] utiliza um método de clusterização para agrupar rotas realizadas por táxis com objetivo de identiącar outliers que podem ser rotas fraudulentas que têm maiores distâncias em relação as rotas comumente utilizadas para se ir a um determinado lugar, este trabalho está correlacionado a pesquisa pois as trajetórias têm uma baixa amostragem de posições. 2.4 Experimentos 2.4.1 Utilização de árvores de decisão para se obter os pontos iniciais e Ąnais Objetivo deste experimento foi veriącar se o reconhecimento dos pontos de início e Ąm das trajetórias era possível utilizando uma árvore de decisão. O primeiro teste feito foi utilizando somente os atributos direção, velocidade, ignição, tipo e a data em que a posição foi enviada, no resultado que foi obtido a porcentagem de falsos positivo foi maior que 86% no conjunto de testes que foi submetido a árvore de decisão, houve uma grande perda de dados relevantes para classiącação dos pontos iniciais ou Ąnais, visto que das 25.958 posições que eram pontos iniciais ou Ąnais, 22.316 posições foram classiącadas como negativas pelo modelo de classiącação gerado pelo algoritmo J48 do Weka. 2.4.2 Detecção dos pontos de início e Ąm das trajetórias através do tempo parado O reconhecimento dos pontos de início e Ąm das trajetórias com base no tempo parado consistiu em obter os locais delimitados por um limiar distância(δ ), onde os veículos estiveram parados por um certo tempo que é determinado por um limiar(δ ) como é demonstrado no algoritmo 2. A base de dados que foi utilizada nos experimentos possui 90 milhões de posições de um período total de seis meses de captura de dados, sendo que cada posição no conjunto de dados tinha atributos como velocidade, direção do veículo, data em que a posição foi enviada, entre outros. Neste experimento os atributos utilizados foram somente a data e a velocidade. Após o algoritmo ser rodado o resultado obtido foi que das 90 milhões de posições, 10.559 eram posições onde o veículo estava parado durante um tempo maior ou igual ao Δ que neste caso foi de 10 segundos, sendo que dessas 10.559, somente

2.4. Experimentos 45 2.297 posições foram identiącadas corretamente como pontos iniciais ou Ąnais comparando com as 1101 posições que deveriam ser identiącadas, mas dessas 2.297 posições somente 536 eram distintas. E na classiącação dos pontos intermediários foram classiącados 137 posições como positivos sendo que o número de pontos itinerários é de 1204 pontos, e somente 53 das posições reconhecidas eram distintos. Na Ągura 12 está ilustrado a quantidade total de pontos obtidos variando o Δ e na Ągura 13 é ilustrada a quantidade de pontos iniciais, Ąnais e intermediários reconhecidos mudando o Δ, que é quanto tempo determinado veículo deve permanecer dentro de um raio que determinado pelo Δ. Figura 11: Pontos de uma determinada trajetória. 80 Pontos da trajetória 60 Velocidade 40 20 0 10 0 10 20 30 40 50 60 70 80 90 100 110 Tempo (minutos)

46 Capítulo 2. Fundamentação Teórica Algoritmo 2: IdentiĄcação das regiões onde os veículos Ącaram parados durante um determinado Δ. Entrada: çõ conjunto com as posições enviadas pelos veículos â Δ Saída : çõ conjunto de pontos parados enquanto existir posição em çõ faça próxima posição de çõ ; se existir próxima posição em çõ então 1 próxima posição de çõ distanciaeuclidiana(, 1); 1.. ; se < â && < então ;. ;.adicionar( ); enquanto existir próxima posição em çõ && < â && < faça 3 próxima posição de çõ distanciaeuclidiana(, 3); 3.. ; se < â && < então.adicionar( 3); calcularcentroide( ); 3. ; se > então sim; Ąm se Ąm se Ąm enqto se == sim então çõ ; não; Ąm se Ąm se Ąm se Ąm enqto

2.4. Experimentos 47 Figura 12: Total de pontos obtidos. 12,000 Total de pontos obtidos Número de pontos 10,000 8,000 6,000 4,000 0 100 200 300 400 500 600 Limiar de tempo parado (segundos) Número de pontos 300 250 200 150 100 50 Figura 13: Intermediários obtidos. Total de pontos intermediários Total de pontos iniciais e Ąnais 0 100 200 300 400 500 600 Limiar de tempo (segundos)

49 3 PROPOSTA DE SOLUÇÃO A proposta de solução do problema é dividida em cinco etapas, que serão o préprocessamento dos dados, a construção das trajetórias descritas pelos veículos, construção das regiões, Ąltragem das trajetórias mais frequentes e a identiącação das trajetórias com maior número de pontos intermediários frequentes e elencá-los como os possíveis itinerários padrões. 3.1 Pré-processamento Objetivo do pré-processamento foi Ąltrar todas as posições quando a conąguração do direcional não estava habilitada e também entradas ruidosas, agrupando os dados por veículo e reordenando as posições pela ordem de inserção na base de dados. 3.2 Construção das trajetórias descritas pelos veículos A construção das trajetórias feitas pelos veículos baseou-se na iteração do conjunto de posições obtidas de cada veículo, identiącando cada início de trajetória como a transição da ignição do veículo de desligada para ligada; o mesmo foi feito para se completar a construção de uma determinada trajetória quando o veículo estava com a ignição desligada e sendo que na posição anterior o veículo estava com o motor ligado. O algoritmo que está descrito em 3. A detecção de ciclos dentro de uma mesma trajetória é feita através do armazenamento da primeira posição da trajetória durante a construção da mesma; se existir algum outro ponto que a distância até o ponto inicial seja menor que o limiar de distância, este último ponto se torna o ponto Ąnal da trajetória e a partir do próximo ponto inicia-se uma nova trajetória. 3.3 Construção dos pontos de cada trajetória A construção dos pontos de cada trajetória foi obtida através da iteração de todos pontos que compõem a trajetória, em pares, analisando a distância euclidiana entre cada par, se a distância entre os dois pontos for maior que o limiar de distância a construção de pontos é necessária. A construção é feita a partir da equação da reta que passa entre o par de pontos; Ąxa-se um ponto como ponto inicial; é adicionado ou subtraído o limiar de distância na longitude do ponto Ąxado e com isso se obtém a latitude do mesmo até que a

50 Capítulo 3. Proposta de Solução longitude seja maior ou menor, de acordo com o coeąciente angular da reta. O resultado da construção dos pontos de uma determinada trajetória é ilustrada na Ągura 14. Figura 14: Construção dos pontos de uma determinada trajetória. 3.4 Construção das regiões Neste passo objetivo é obter as regiões correspondentes a todas as trajetórias reconhecidas para que a comparação entre trajetórias seja possível. As regiões são construídas de acordo com o algoritmo 4. 3.5 Comparação e identiącação das trajetórias mais frequentes Todas as trajetórias são comparadas através das regiões de cada uma de tal forma que as que tiverem uma maior porcentagem em comum com as demais trajetórias obtidas será elencada como uma trajetória frequente. Na Ągura 15 está ilustrado quatro comparações entre duas trajetórias, a comparação é feita pela média da porcentagem de regiões que são comuns entre as duas trajetórias em relação ao total de regiões de cada uma e no algoritmo 5 é mostrado como o reconhecimento é feito.

3.6. Extrair os itinerários padrões 51 Figura 15: Comparação de trajetórias. 3.6 Extrair os itinerários padrões O último passo é elencar as trajetórias que têm um maior número de pontos intermediários coincidentes, em relação as outras trajetórias Ąltradas. Esta comparação, utilizou as regiões dos pontos intermediários identiącados quando o veículo permanecia por um determinado tempo em uma região com raio determinado pelo limiar de distância, o algoritmo para extração das trajetórias com maior número de pontos intermediários coincidentes está ilustrado em 6.

52 Capítulo 3. Proposta de Solução Algoritmo 3: Construção das trajetórias. Entrada: çõ conjunto com as posições enviadas pelos veículos â Saída : ó conjunto de trajetórias enquanto existir posições em çõ faça próxima posição de çõ ; se é uma posição cuja ignição está desligada então nova trajetória; ;.adicionar( ); se existir próxima posição em çõ então próxima posição de çõ Ąm se senão Retornar ó ; Ąm se enquanto for do mesmo veículo de e a ignição estiver ligada faça.adicionar( ); se existir próxima posição em çõ então próxima posição de çõ ; Ąm se senão Retornar ó ; Ąm se distanciaeuclidiana(, ); se < â então.adicionar( ); ó.adicionar( ); nova trajetória;.adicionar( ); ; Ąm se Ąm enqto Ąm se senão se existir próxima posição em çõ então próxima posição de çõ Ąm se senão Retornar ó ; Ąm se Ąm se Ąm enqto