Aplicativo móvel em Android para monitoramento de rotas
dos usuários de transporte público
Jaffer dos Santos Veronezi1, Udo Fritzke Junior1
1Departamento de Ciência da Computação
Pontifícia Universidade Católica de Minas Gerais (PUC Minas)
37.701-355 – Poços de Caldas – MG – Brasil [email protected], [email protected]
Abstract. Urban mobility is a constant theme in discussions about what we
need to improve our cities. Several solutions have already been deployed in
the search to resolve this issue. However, these solutions often do not reflect
improvements efficiently, since no trace patterns of mobility. In most
applications aim to assist users with information on routes and schedules
collective and public transport companies in managing billing. This paper
presents the design of a mobile application for Android that aims to collect
data on the mobility of people and store them on a server, in order to further
investigate which paths used for public transportation, seeking to assist the
public transport companies and the government in taking measures that result
in higher quality for their users.
Resumo. A mobilidade urbana é um tema constante nas discussões entre o que
devemos melhorar em nossas cidades. Várias soluções já estão sendo
implantadas na busca de resolver essa questão. Entretanto, essas soluções
muitas vezes não refletem em melhorias eficientes, visto que não traçam os
padrões de mobilidade das pessoas. Em sua maioria as aplicações visam
auxiliar os usuários com informações sobre itinerários e horários de coletivos e
as empresas de transporte público no gerenciamento de bilhetagem. Neste
trabalho apresenta-se o projeto de uma aplicação móvel em Android que
pretende coletar dados referentes a mobilidade das pessoas e os armazenar em
um servidor, com o intuito de se investigar quais trajetos mais utilizados no
transporte público, procurando auxiliar as empresas de transporte público e o
governo na tomada de medidas que resultem em maior qualidade para seus
usuários.
Palavras-chave: Android, Mobilidade urbana, Monitoramento de rotas,
Transporte público.
1. Introdução e contextualização A mobilidade urbana é uma questão que se refere ao ir e vir cotidiano de nossas cidades.
Nas cidades o uso de veículos é cada vez maior, causando congestionamentos e
dificultando a mobilidade das pessoas. Uma medida que alivia o trânsito e melhora a
mobilidade urbana é o uso do transporte público.
Os transportes públicos têm importante papel na mobilidade da população por
isso várias medidas para melhorar a qualidade vem sendo estudadas e implantadas como
a construção de VLT (Veículo sobre Trilhos), ampliação de linhas de metrôs e outras
melhorias no transporte coletivo.
O transporte coletivo por meio de ônibus é o mais utilizado no Brasil, em muitas
cidades é o único meio de transporte de massa para o deslocamento da população de sua
residência ao trabalho, a escola e a outros pontos da cidade. Como a demanda por
transporte coletivo por ônibus é crescente nas cidades brasileiras diversas pesquisas com
a utilização de tecnologias avançadas vem se desenvolvendo para auxiliar na melhoria
da qualidade desse tipo de serviço que é essencial para mobilidade urbana.
Nos países desenvolvidos, principalmente os Europeus, os sistemas de transporte
público sofreram uma grande evolução de qualidade nos últimos tempos utilizando-se
de modernas tecnologias, com frota e rede viária integrados por sistemas inteligentes,
seja na automação da bilhetagem ou no controle da operação. A precisão das
informações, obtidas pelos sistemas inteligentes e pelos sistemas que operam em tempo
real, pode conduzir à melhoria de diversos processos operacionais do transporte
coletivo, como por exemplo: dimensionar a oferta de forma mais adequada à realidade
da demanda, controlar as viagens, realizar a regulação das linhas, informar os
passageiros com maior precisão, reduzir a evasão da receita, possibilitar a integração
temporal, e assim por diante (Silva, 2000).
Procurando colaborar com a melhoria do transporte público e com mobilidade
das pessoas, foi desenvolvido um aplicativo móvel em sistema Android que visa obter
informações, a partir do monitoramento dos caminhos feitos pelas pessoas na cidade,
procurando detectar os lugares com maior movimentação, além de buscar dados que
identifiquem quais ônibus do transporte público são mais utilizados.
Todas as informações coletadas são de grande importância para que políticas
públicas de melhoria da mobilidade das cidades possam ser melhor direcionadas.
O aplicativo Projeto Rotas faz uso da tecnologia GPS (Global Positioning
System) do smartphone que captura a latitude e longitude dos caminhos feitos pelo
usuário além de coletar informações sobre a velocidade, tempo e a distância percorrida.
Todas essas informações são armazenadas em um banco de dados no aparelho para
posterior sincronização com um servidor.
2. Tecnologia a serviço da mobilidade O uso de tecnologias para melhoria do transporte público vem se tornando cada vez
mais comum na vida de quem o utiliza.
No Brasil diversas iniciativas estão sendo realizadas, principalmente após o
advento dos smartphones onde o usuário tem em mãos um aparelho capaz de realizar
diversas tarefas tais como: acesso à internet, GPS, mapas, dentre outros. Vários
aplicativos foram criados afim de informar o usuário sobre itinerários, horários dos
coletivos, simular trajetos, monitorar coletivos e seus pontos e também caminhos que o
usuário percorreu.
Dentre os aplicativos que colaboram com a mobilidade urbana temos o Moovit
que informa ao usuário os horários dos coletivos para cada ponto com resultados que
incluem metrô, ônibus e trem, disponível para sistema operacional Android, iOS e
Windows Phone. Outro aplicativo é o Omnibus onde o usuário pode acompanhar duas
linhas simultaneamente, somente para sistema Android. Além desses podemos citar o
Cadê o ônibus? que monitora o trajeto de um determinado coletivo e o Onde Está Meu
Ônibus?, assim como outros projetos que também estão sendo desenvolvidos não
somente para colaborar com a melhoria do transporte público mas também com toda o
ciclo da mobilidade urbana (Folha de São Paulo, 2013).
Esses aplicativos vem colaborando para melhoria da experiência dos usuários
com o transporte público e para melhor direcionamento de políticas de transporte por
parte das empresas responsáveis pelos coletivos, além de servir para monitorar as rotas
realizadas pelos seus usuários, bem como estudos da mobilidade das pessoas.
3. Aplicativo para monitoramento O aplicativo foi construído em Android, uma plataforma móvel de código aberto que
está inovando o mercado global de aplicativos para celular (Ableson, W. Frank, 2012).
As telas foram desenvolvidas por meio da classe Activity que é a responsável na
plataforma Android de controlar os eventos de tela, dando liberdade para o usuário
utilizar outro aplicativo enquanto aplicação é executado. A interface das telas e o menu
foram definidas em arquivos XML (eXtensible Markup Language) localizado no
diretório res/layout, separada da lógica de negócio da aplicação. Para mostrar na tela a
rota que o usuário está fazendo ou a que já está salva no banco de dados a aplicação faz
uso da biblioteca do Google Maps para Android que dispõe da classe MapView que é
responsável por exibir o mapa. O trajeto monitorado é realizado pela classe Overlay,
uma subclasse de android.widget.View que é adicionada ao MapView e é utilizada para
fazer desenhos sobre mapas. Na aplicação a classe android.graphics.Canvas junto com
a classe android.graphics.Paint desenham retas ligando os pontos capturados pelo GPS
e que são inseridos em um vetor com as coordenadas geográficas. Para obter esses
pontos via GPS a aplicação faz uso da interface android.Location.LocationListerner que
é implementada pela classe ServicoBackground da aplicação utilizando o método
onLocationChanged(Location) que recebe um objeto Location que informa latitude e
longitude para verificar se a localização do GPS foi modificada (Lecheta, Ricardo R.,
2010).
Ao encerrar o monitoramento todos os dados são persistidos em um banco de
dados SQLite nativo da plataforma Android para posterior envio ao servidor. Pode-se
ver seu modelo na Figura 1.
Figura 1. Modelo do banco de dados do cliente armazenado no dispositivo móvel.
Quando a aplicação é iniciada pelo usuário verifica-se o GPS está ligado.
Estando ligado inicia-se o monitoramento do trajeto exibindo a velocidade, a distância
percorrida e o tempo de percurso, como na Figura 2a.
Figura 2a. Tela que exibe o Figura 2b. Tela com a lista Figura 2c. Tela com dados monitoramento. de trajetos realizados. de um trajeto armazenados.
Cancelando o monitoramento, os dados colhidos são armazenados em um banco
de dados no aparelho. Na Figura 2b pode-se observar uma lista de trajetos percorridos
pelo usuário.
Ao clicar em um trajeto aparecerão as informações coletadas como: a velocidade
média, distância, tempo e um botão para o mapa do trajeto, conforme a Figura 2c.
O menu do aplicativo traz algumas configurações tais como: opção de unidade
de medida (km ou milha), precisão do GPS (baixa, média ou alta) e alertas (sonoro ou
vibratório) como na Figura 3a, além de mostrar uma tela de como utilizar o aplicativo
conforme a Figura 3b e uma tela de créditos como na Figura 3c.
Figura 3a. Tela com as confi- Figura 3b. Tela de ajuda. Figura 3c. Tela de gurações do aplicativo. créditos.
Ao se construir o aplicativo teve-se uma preocupação com sua
internacionalização disponibilizando-o em português, inglês e espanhol, conforme a
língua utilizada no aparelho.
4. Sincronismo e apresentação dos dados no servidor Os trajetos monitorados ao serem persistidos no banco de dados da aplicação móvel são
sincronizados com o banco de dados do servidor assim que o usuário habilita Wi-Fi
(Wireless Fidelity) do dispositivo móvel. Essa sincronização ocorre por meio da
utilização do Webservice REST (Representational State Transfer) que possibilita a
interoperabilidade entre a aplicação Android e o servidor oferecendo grande
performance através de um sistema de mensagens mais leve. O envio das informações
ocorre por meio da criação de uma lista em JSON (JavaScript Object Notation), um
formato leve para notação de dados que devem ser enviadas ao servidor.
Para identificação do dispositivo móvel ao qual pertence o trajeto no banco é
enviado o Android ID junto com os dados, um número de 64 bits que é gerado
aleatoriamente quando o usuário define a primeira configuração no dispositivo e
permanece constante durante a toda sua vida útil. Todo o banco de dados da aplicação
móvel é enviado ao servidor onde ocorre uma busca do id e o Android ID dos trajetos já
gravados, onde são comparados com os que foram enviados para que caso o trajeto não
esteja armazenado no banco ele possa ser gravado. Este banco de dados foi criado em
MySQL e podemos ver seu modelo, conforme a Figura 4.
Figura 4. Modelo do banco de dados do servidor onde os trajetos de todos os clientes são armazenados.
O acesso aos dados do banco no servidor é feita pela Web, onde o administrador
realiza acesso ao sistema, sendo direcionado a uma página contendo a lista de todos os
usuários que tem trajetos enviados ao servidor, ao selecionar um usuário o
administrador tem a opção de buscar um dos trajetos realizados, fazendo essa busca
aparecerá o trajeto indicado em azul no mapa e ao lado as informações sobre ele,
conforme a Figura 5.
Figura 5. A imagem mostra o mapa com o trajeto indicado em azul e ao lado as informações do trajeto.
Para o desenvolvimento da aplicação no servidor foi utilizado para back-end a
linguagem JSP (Java Server Pages) e para front-end as linguagens HTML (HyperText
Markup Language), CSS (Cascading Style Sheets) e JavaScript, sendo que o mapa
responsável pela exibição dos trajetos foi criado a partir da API Google Maps v3.
5. Comparações com outros aplicativos As tecnologias de Computação Móvel e geoprocessamento (detecção de posição
geográfica) vem sendo utilizadas em conjunto há vários anos, inclusive essa interessante
combinação já tem sido aplicada ao problema do transporte público urbano (Geovane
Fedrecheski, 2012).
Neste trabalho procura-se oferecer mais uma alternativa que busque investigar a
mobilidade das pessoas por meio da coleta de informações de seus trajetos, fazendo uso
da Computação Móvel que cresce a cada dia com o advento dos smartphones, visando
com isso criar um banco de informações que possa ser usado na tomada de medidas que
colaborem com as empresas de transporte público na melhoria de seus serviços e
consequentemente na melhoria da mobilidade urbana.
Outros aplicativos relacionados a mobilidade já existem como por exemplo os já
citados Omnibus, Cadê o ônibus? e o Moovit que traz o conceito de crowdsourcing
onde a comunidade colabora para informar sobre a situação do trânsito, do ônibus
coletivo e de outros transportes urbanos (Folha de São Paulo, 2014). No caso do
Omnibus se trata de um aplicativo que possibilita aos moradores da cidade de São Paulo
acompanharem em tempo real a localização dos ônibus da rede municipal. O projeto
teve início com o lançamento do serviço Olho Vivo da SPTrans, que disponibiliza as
informações que tornam este aplicativo possível (Omnibus, 2014). O Cadê o ônibus? é
um aplicativo que tem o objetivo de facilitar o acompanhamento das linhas municipais
de ônibus da cidade de São Paulo (Cadê o ônibus?, 2014).
Todos os aplicativos citados tem foco em mostrar itinerários e pontos de ônibus,
contribuindo para dar informações aos usuários sobre o transporte público, o projeto
apresentado neste trabalho busca colaborar com informações dos trajetos mais
utilizados pelos seus usuários bem como as linhas de transporte público mais utilizadas,
procurando auxiliar principalmente as empresas de transporte público na coleta de
informações para análise de uso e melhorias do transporte.
6. Considerações finais Conforme discutido, entende-se que para se obter boas soluções para mobilidade urbana
o uso da tecnologia é indispensável tanto para melhorar o transporte coletivo como para
melhorar o fluxo das pessoas pela cidade por outros meios de transporte. Mas para isso
a coleta de informações deve ser realizada para que se possa estudar medidas
conscientes e que solucionem os problemas de mobilidade. Uma forma de se obter essas
informações é com a utilização de aplicativos móveis.
Neste trabalho, foram apresentados os principais argumentos para definição de
mobilidade urbana e algumas aplicações móvel que tem como intuito oferecer serviços e
buscar informações para melhorar a mobilidade, principalmente quanto ao uso dos
transportes públicos por meio de ônibus.
Como contribuição foi criado um aplicativo móvel para sistema Android que
monitora os trajetos realizados por seus usuários e uma aplicação WEB que recebe esses
dados, visando criar um banco de informações por onde possam ser tiradas soluções que
melhorem os transportes coletivos e a mobilidade urbana como um todo.
Referências (Ableson, W. Frank, 2012) “Android em ação”, W. Frank Ableson, Chalie Collins, Robi
Sem; tradução Eduardo Kraszczuk, Edson Furmanliewicz. Rio de Janeiro: Elsevier,
Outubro.
(Cadê o ônibus?, 2014) “Informações sobre o aplicativo Cadê o ônibus?
http://www.cadeoonibus.com.br/CoO/SiteV2”, Outubro.
(Folha de São Paulo, 2013) “Aplicativos para celular ajudam usuários de transporte
público em São Paulo” http://folha.com/no1231505, Outubro.
(Folha de São Paulo, 2014) “Folha passa a publicar serviço de transporte público do
Moovit” http://folha.com/no1438303, Outubro.
(Geovane Fedrecheski, 2012) Richard Aderbal Gonçalves, Josiel Neumann kuk.
“Projeto de um Aplicativo Android de Monitoramento de Veículos do Transporte
Público”, Outubro.
(Lecheta, Ricardo R., 2010) “Google Android: Aprenda a criar aplicações para
dispositivos móveis com Android SDK”. 2. Ed. rev. e ampl. São Paulo: Novatec
Editora, Outubro.
(Omnibus, 2014) “Informações sobre o aplicativo Omnibus” http://omnibusapp.com/,
Outubro.
(Silva, 2000) Silva, Danyela de Moraes da, Lindau, Luis Antonio. “Sistemas
inteligentes no transporte público coletivo por ônibus”
http://hdl.handle.net/10183/3134, Outubro.
Top Related