Chama-se GeoBus e é uma aplicação para iPhone que mostra a localização dos autocarros e eléctricos da Carris em tempo real. Tem também um algoritmo que aprende os padrões de trânsito da cidade para oferecer estimativas de espera possivelmente mais acertadas.

Um autocarro pode demorar mais tempo do que aquele que é anunciado pela Carris a certas horas do dia, devido ao trânsito que se costuma verificar. Mas, usando a tecnologia que temos ao dispor e os dados da Carris, um jovem programador está a tentar acabar com essa diferença. Quando João de Vasconcelos, 27 anos, engenheiro de ambiente e programador, desenvolveu a GeoBus em 2020, o seu objectivo era um: mostrar a localização dos autocarros em tempo real, num mapa, permitindo às pessoas saber onde eles estão e tomar melhores decisões. “Queria experimentar fazer uma app para iPhone usando a linguagem Swift”, conta ao Lisboa Para Pessoas. João estava em casa como todos nós, devido à pandemia de Covid-19. A GeoBus nasceu como um desafio pessoal, numa altura em que o teletrabalho imperava e as deslocações deveriam ser evitadas; à medida que o tempo passou, a aplicação – que está disponível apenas para iOS – tem provado a sua utilidade e o seu potencial.

“Tinha descoberto a API da Carris não sei como, talvez no Twitter”, e, com isso, João colocou mãos no desenvolvimento da app. Ficou pronta em Junho, e disponível para todas as pessoas com um iPhone. Na altura, divulgou-a entre os seus amigos e conhecidos e recebeu meia dúzia de descargas. A primeira versão do GeoBus permitia inserir o número de uma carreira para ver, num mapa da cidade, o seu percurso e onde estava em tempo real cada veículo afeto a essa carreira. Dava para clicar no ícone do autocarro ou numa determinada paragem para saber estimativas em tempo real da Carris.“Depois, durante o Verão, a Carris fechou a API e fiquei muito triste e também preocupado, sem saber se teria sido por minha causa.” Sem API, a GeoBus deixou de funcionar temporariamente.
Para voltar a ter acesso à API, João enviou e-mails para a operadora, aos quais nunca chegou a obter resposta. E uma conversa com um responsável, no final de uma conferência no final de 2020, deixou-o ainda mais desmotivado: “Disseram-me para esquecer, que nunca ia ter acesso ao que queria.” Certo é que o jovem programador não baixou os braços e, no início de 2021, conseguiu recuperar a API e com ela reactivou a app. “Nunca me apeteceu ganhar dinheiro com isto”, esclareceu, acrescentando que a GeoBus não tem nem nunca terá publicidade. “Quero apenas ajudar as pessoas a utilizar o transporte público. A maior parte das paragens não tem painéis de informação e, quando tem, nem sempre essa informação é fiável.”

João diz não saber como a Carris calcula essas estimativas, mas suspeita que seja pela posição GPS do autocarro em relação à paragem – ou seja, se o autocarro está a 500 metros de uma paragem, a Carris estima que esses 500 metros demorem X minutos a ser percorridos, mesmo que esteja trânsito naquele troço. Será, por isso, que muitas vezes vemos autocarros a um minuto quando, na verdade, demoram mais que isso. Ao mostrar a localização dos autocarros no mapa, a GeoBus permite às pessoas saber exactamente onde está o veículo e fazer estimativas de cabeça, tendo em conta o conhecimento que têm da zona ou o que estão a observar à sua volta. Ou seja, um passageiro numa paragem pode ver que naquela rua está trânsito e estimar, por isso, o tempo que o o deve demorar a chegar.



A interface da GeoBus é muito simples: um mapa e um campo para indicarmos o número da carreira são os elementos que nos aparecem quando a abrimos. Podemos adicionar carreiras aos favoritos para termos sempre à mão e uma das mais recentes actualizações também passou a permitir pesquisarmos paragens pelo seu número. Se escolhermos uma carreira, conseguimos ver o percurso, quantos autocarros ou eléctricos estão em circulação e as diferentes paragens. Apesar da simplicidade da interface, esta pode não ser fácil de perceber logo no início; o truque é ir navegado e experimentando clicar nos diversos elementos para descobrir as funcionalidades. Se clicarmos num veículo podemos ainda saber quanto tempo esse veículo deve demorar a chegar a cada uma das paragens pelas quais vai passar.


Um algoritmo próprio
A GeoBus recebe estimativas em tempo real da Carris, mas recentemente passou a contar também com um algoritmo de aprendizagem automática que actualiza essas estimativas com base nos padrões de trânsito da cidade. Usando esse algoritmo e analisando padrões, segmento a segmento, de um determinado percurso, a GeoBus consegue indicar quanto tempo um autocarro costuma levar até à paragem onde estamos – os valores nem sempre batem certo com as estimativas em tempo real que são mostradas nos painéis de informação ao público, por exemplo, e podem complementar a informação prestada pela Carris.

O algoritmo não foi criado por João mas por uma pessoa que conheceu na Comunidade do Lisboa Para Pessoas no Discord, e que prefere não se identificar. Para este artigo, no entanto, explicou o sistema que desenvolveu. O algoritmo recolhe a localização GPS em tempo real dos vários autocarros e eléctricos que a Carris tem em circulação por dia e armazena um histórico de 15 dias; com essa informação, aprende os padrões típicos de cada rota para devolver estimativas inteligentes dos horários que na realidade são praticados. Este algoritmo poderá ser usado para análises sobre quais as zonas onde mais vezes os autocarros se atrasam ou quais os tempos que geralmente as carreiras demoram face ao que a Carris originalmente previu na construção dos horários. Para já, o algoritmo está a ajudar os utilizadores da GeoBus a ter estimativas de tempo alternativas às da Carris – João deu a estas estimativas a designação de “Dados da Comunidade”.


“A forma como calculamos essas estimativas comunitárias é completamente independente dos tempos indicados pela Carris. Basicamente, usa apenas a posição GPS do autocarro”, explica-nos o autor do algoritmo. “Usamos uma forma muito básica de aprendizagem automática que consiste em comparar a posição na mesma linha, no mesmo local, no mesmo dia da semana e no mesmo intervalo de hora do dia.” O programador do algoritmo diz que este é sensível não só às condições típicas de uma rota, mas que, como tem informação do próprio dia, responde a alterações que aconteçam só nesse dia, dentro de alguns limites. “Acho que o objectivo é ao máximo não assumir o que seja, não assumimos horários, não assumimos o máximo possível. Procuramos extrair tudo a partir da posição do autocarro e empiricamente determinar as estimativas.”
Tanto quem criou o algoritmo como João querem contribuir para uma cidade onde se ande mais de transporte e, em particular, ajudar a melhorar a experiência de quem opta pelos autocarros. João olha para quem está demasiado tempo à espera numa paragem, muitas vezes sem qualquer previsão, como “vítimas” de um sistema ineficiente de informação ao público e acredita que a GeoBus pode ajudar a melhorar a experiência. “Uma operação de autocarros é muito difícil, há muitos autocarros em circulação e muitos factores externos à Carris a perturbar o serviço”, reconhece o programador de 27 anos. “No geral, temos um serviço bom e o que mais falta é comunicar, passar a informação do serviço cá para fora, para as pessoas. A função da Carris não é conduzir autocarros mas transportar pessoas.” João e o amigo temem que a API possa voltar a ser restringida, dificultando quem simplesmente tenta prestar um serviço público alternativo, e acredita numa cidade com dados abertos.