Servidor OTP nacional

Lançando uma idéia (para agora ou para o futuro): considerando os custos com web hosting e a dificuldade de montar um servidor desses, que tal implementarmos um servidor OTP nacional? As diversas comunidades regionais montariam os seus feeds GTFS, fariam uploads das paradas, e tudo seria integrado num mesmo sistema de planejamento de rotas, que tal? Poderíamos (a longo prazo) considerar até mesmo roteamentos intermunicipais (incluindo ônibus, trem, balsas, etc.) e tudo estaria integrado (você poderia sair de uma cidade, pegar um transporte rodoviário, e chegar na outra cidade, já com as rotas de ônibus locais calculadas no mesmo planajamento).

O custo de um web hosting não é tãaaao alto, mas fazendo assim, acho que o custo cairia ainda mais, e um modelo baseado em doações cobriria o custo mais rápido. Melhor: o mesmo servidor poderia ser usado para outras coisas relacionadas (como o HOT). Com um servidor dedicado também seria mais fácil dar manutenção no sistema (atualizar software, reverter alterações, instalar dependências, etc.). Para as comunidades locais, a única preocupação seria construir e manter os dados dos seus feeds GTFS. Alguém se interessa?

O mapa do OSM pode ser atualizado periodicamente a partir do diff diário do planet.osm (http://planet.openstreetmap.org/replication/day/) usando osmconvert (http://wiki.openstreetmap.org/wiki/Planet.osm/diffs). Os feeds seriam postados primeiro num ambiente de testes (só pra ter certeza de que está tudo ok com o feed) e depois no ambiente de verdade.

Um desafio é manter esse esquema aberto e não sob o controle de um grupo fechado e hierárquico (como no TrackSource) e ao mesmo tempo evitar vandalismo. Talvez permitindo o download dos feeds e publicando como foi configurado o servidor, qualquer um teria a liberdade de criar um serviço concorrente/melhor/etc.

Pelo menos em Porto Alegre, falta importar a numeração das casas pra que esse serviço seja realmente útil pra população, mas já estamos providenciando. :stuck_out_tongue:

Fernando, que tal esclarecer a sopa de letrinhas aí? :stuck_out_tongue: Eu mesmo confesso que estou perdido.

Oi Fernando,

Alguém colocou no ar uma instância do OpenTripPlanner para Curitiba, faz um tempo:

http://www.onibuscuritiba.org/sitc-webapp/index.html

Montar, manter e atrair atenção para este tipo de serviço não é fácil, ainda que seja bom que existisse. Eu mesmo já tentei colocar no ar um anteriormente, mas no final das contas acho que nossa ajuda (como mapeadores) seria mais efetiva se nós estruturassemos bem a maneira como o transporte é mapeado no OSM.

Eu estou desenvolvendo um site em Rails para calcular automaticamente as rotas entre as cidades para verificar suas conexões, baseado em um outro projeto que fiz:

http://caminhos.mapaslivres.org

Depois de construir esta funcionalidade de verificar conexões, quero desenvolver também uma maneira de visualizar as paradas de ônibus e linhas. Não só visualizar, mas também oferecer uma maneira de baixar dados de transporte para qualquer cidade brasileira.

Enfim, isto ainda vai tomar um tempo para desenvolver, mas topo participar de um esforço organizado para termos bons dados de transporte dentro do OpenStreetMap.

Abs,
Vitor

OTP = OpenTripPlanner (http://wiki.openstreetmap.org/wiki/OpenTripPlanner)

GTFS = General Transit Feed Specification (http://en.wikipedia.org/wiki/General_Transit_Feed_Specification), um requisito do OTP, um formato aberto especificado pelo Google para o Google Maps e usado amplamente para implementar o roteamento por transporte público

HOT = Humanitarian OpenStreetMap Team (http://hot.openstreetmap.org), foi quem fez o Tasking Manager (http://tasks.hotosm.org) para cadastramento de tarefas de mapeamentos ligados à ajuda humanitária (há pouco alguém na lista propôs que o Brasil tivesse um servidor dedicado para suas próprias tarefas)

diff = arquivo de diferenças (o que mudou no mapa ao longo de um período, basicamente a consolidação de todos os changesets do período)

planet.osm = o arquivo com o mapa do OSM completo para todo o planeta

Faltou alguma letrinha? :stuck_out_tongue:

Legal Vitor! Como você faz o cálculo das rotas? O bom do OTP é que eles implementam o algoritmo de “contraction hierarchies”, que deixa o cálculo bem leve (vi uma pesquisa mostrando que esse algoritmo rodando offline num smartphone consegue encontrar rotas entre qualquer dois pontos na Europa em menos de 500ms, geralmente algo em torno de 10ms a 50ms).

Para visualizar o transporte, sei que existe o ÖPVNKarte: http://xn–pnvkarte-m4a.de/?zoom=15&lat=-30.0346&lon=-51.22329&layers=TBTTT
(estou corrigindo essas rotas, mas serve como exemplo)

Entrei em contato com o autor do OnibusCuritiba.org (http://whois.domaintools.com/onibuscuritiba.org) convidando ele a participar dessa discussão.

Pelo que li até agora, acho que, num mundo ideal, as paradas e as rotas estariam armazenadas no OSM, essas informações preencheriam automaticamente uma parte das informações do feed GTFS (há scripts que fazem isso) e a outra parte (os horários) seria feita por outra via (no próprio servidor OTP), talvez através de um aplicativo web ou de um web service. Se as rotas estiverem no OSM, temos que controlar os changesets de perto já que muitos usuários novos não entendem muito bem as relações e costumam quebrá-las.

Legal o ÖPVNKarte.

Sobre o cálculo de rotas, eu uso o Open Source Routing Machine (OSRM):

http://map.project-osrm.org/

Ele é muito rápido, inclusive o desenvolvedor foi contratado pela Mapbox, e eu acho que eles devem ter uma API de rotas em breve.

Instalei uma versão local dele, mas quando a aplicação estiver pronta vou ver se posso fazer chamadas no servidor do projeto.

Quando eu tiver um tempinho vou tentar atualizar a área de transporte público lá no wiki, pois está meio bagunçado. Você está utilizando alguma página para Porto Alegre?

Li que o OSRM compartilha o código do algoritmo de “contraction hierarchies” com o OTP, por isso é tão rápido. Uso muito o OSRM por aqui porque é o único serviço que me permite calcular rotas considerando os desvios necessários poucos dias depois de eu ter marcado os trechos em obras no mapa (mudando o valor da tag access ou mudando a tag highway para construction, depende).

Eu provavelmente vou fazer uma página mais completa assim que terminar de importar as rotas de ônibus (estou no meio do processo). Por enquanto, eu só tenho uma página genérica sobre Porto Alegre com uma pequena seção sobre o transporte público: http://wiki.openstreetmap.org/wiki/WikiProject_Brazil/RS/Porto_Alegre/Status#Transporte_p.C3.BAblico

Olá pessoal. Desculpem pela demora em responder ao tópico.
Eu sou um dos responsáveis pelo OTP de Curitiba http://www.onibuscuritiba.org, conforme comentado pelo Fernando Trebien.

Infelizmente, não estamos mais conseguindo dar continuidade no projeto, principalmente devido à falta de tempo que temos para nos dedicar a ele.
Esse abandono também foi consequência da dificuldade em conseguir informações sobre as linhas e pontos de paradas dos ônibus na época em que estávamos desenvolvendo.

Acho a iniciativa boa. Podemos tentar maturar essa ideia e buscar mais apoio para uma implementação futura.
As maiores dificuldades (pelo menos as que entramos com o nosso site) foram encontrar informações coerentes sobre o sistema de transporte, conseguir separar um tempo para se dedicar ao projeto e conseguir um apoio financeiro (que, no nosso caso, não conseguimos).

Quando chegar a hora do servidor, o pessoal do TransportesPublicos.pt pode nos ajudar.
P.ex., quando pedi se eles poderiam comparar o OTP e OSRM, eles atualizaram o wiki:
http://wiki.openstreetmap.org/wiki/Routing/OnlineRouters#Comparison_matrix
Inclusive confiram a estratégia de financiamento coletivo deles:
http://www.transportespublicos.pt/crowdfunding/
Uma doação hoje pode ser um investimento no nosso amanhã… :wink:
Também é possível que o serviço de hospedagem especializado oferecido pela empresa por trás do OTP, http://openplans.org/, seja econômico.

Mas concordo que a dificuldade maior agora é nos dados, nem tanto no software.
Por isso eu tenho batalhado por uso livre – não apenas acesso livre – dos dados municipais.
Portugal têm mais amparo legal para isso do que temos no Brasil, veja p.ex. http://pt.wikipedia.org/wiki/Wikipédia:Recursos_livres#Conteúdo_governamental_na_internet

Tentando ajudar o FTrebrien na iniciativa de POA, criei uma lista de tarefas, com dicas de ferramentas que podem auxiliar na integração do OSM e OTP via GTFS:
http://wiki.openstreetmap.org/wiki/Talk:WikiProject_Brazil/RS/Porto_Alegre/Status#TO-DO
Talvez possa servir de modelo inicial para iniciativas semelhantes em outros lugares.

Abc,
-FGN.