carrismetropolitana / api

Carris Metropolitana schedules in JSON.
https://carrismetropolitana.pt/opendata
32 stars 1 forks source link

Missing fields in /stops/X/realtime & other questions #29

Open Movs22 opened 2 days ago

Movs22 commented 2 days ago

Boa noite, Nos últimos meses tenho estado a experimentar com a API da CMetropolitana, tendo criado um site para mostrar as partidas em tempo real. Contudo, uma coisa que eu reparei é que a endpoint "/stops/:stop/realtime" passou a devolver "null" na hora prevista de chegada (1ª imagem), algo que não acontecia à 1 semana atrás. Temporariamente, tenho estado a utilizar o endpoint dos serviços e o "/vehicles" para calcular o tempo aproximado da chegada do veículo (ao verificar se existe algum veículo com o mesmo trip_id que é devolvido pelo endpoint das partidas em tempo real e calculando a hora de chegada através da posição atual do veículo "stop_id" e da duração da viagem entre esta posição e a paragem). Para referência, tenho estado a trabalhar apenas com as paragens e serviços da Zona 1 (operada pela Viação Alvorada). Por acaso reparei que os horários em tempo real funcionam normalmente na Zona 2 (pelo menos nas paragens da Ericeira). Existe alguma previsão para quando é que este endpoint vai voltar a funcionar e/ou uma página onde seja possível ver o status da API?

Adicionalmente, outra coisa que estava a pensar em adicionar ao meu projeto é um botão para "ler" o nome da paragem (através da ferramente TTS que a CMetropolitana usa), uma funcionalidade que existe no site da CMetropolitana e no Google Maps. Apesar de existir um repositório que permite criar estes ficheiros, infelizmente, é necessário pagar-se para ter acesso à API necessário. Contudo, quando fui ver o site da CMetropolitana, com as dev tools, reparei que quando clicava no botão para reproduzir este áudio, na página da CMetropolitana, a página realizava um pedido para um subdomínio da CMetropolitana (que contém todos os anúcios a bordo como ficheiros MP3) (2ª imagem). Fiz uma pesquisa e reparei que este domínio não está publicado em lado nenhum mas, dado a sua importância (i.e. para ajudar turistas/pessoas estrangeiras a pronúciar as paragens), seria possível que se cria-se um endpoint que permitisse aceder a estes ficheiros? (Ou disponibilizá-los no GitHub)

P.S: Tenho-me divertido bastante com o vosso API e até me fui útil para poder criar um bot no discord que me mandava um aviso quando o autocarro estivesse quase a chegar (e se era um autocarro dos pequenos ou dos grandes). Estou muito agradecido por terem disponibilizado um API tão útil como este! (Algo que nem todas as empresas fazem)

Anyways... Obrigado e resto de um bom trabalho!

image image

linear[bot] commented 2 days ago

ISO-257 Missing fields in /stops/X/realtime & other questions

joao-vasconcelos commented 1 day ago

Olá @Movs22! Muito obrigado pelo bom feedback!

A primeira situação em princípio ficou resolvida desde hoje de manhã (15 Out 2024). O estimador de tempos de chegada é um sistema completamente distinto das posições dos veículos, e tem dependências com um sistema interno de troca e aprovação de planos GTFS entre TML e Operadores. Apenas a Área 1 foi afetada por esta situação, que não é um bug mas sim uma particularidade desse sistema. Estamos a avaliar a possibilidade de simplificar alguns destes processos. É mais frequente esta situação acontecer no início de cada mês, e ser rapidamente resolvida.

Sobre a segunda situação, estamos a planear ter uma página de documentação a sério onde sejam explicados conceitos como o nosso GTFS-TML, docs deste API e outros projetos, etc. Não tem sido muito fácil dedicar tempo a este tema. De qualquer forma, o domínio é https://storage.carrismetropolitana.pt/static. É daqui que servimos também o GTFS, que inicialmente estava no Github mas que se tornou complicado lidar com os aumentos sucessivos de tamanho e frequência de alterações.

Muito obrigado e bom trabalho!

Movs22 commented 15 hours ago

Olá, boa tarde.

Muito obrigado pelo esclarecimento, fico feliz pelo facto de essa situação já se encontrar resolvida (se não estou em erro, o meu programa já deve automaticamente usar os valores das chegadas estimadas, embora vá fazer as devidas alterações). Presumo que o que aconteceu este mês foi devido às alterações na Zona 1 (como a desativação da linha 1602). Desejo-lhe uma boa sorte com essa avaliação e agradeço pelo vosso ótimo trabalho e empenho em resolver os problemas.

Em relação à página de documentação, seria uma adição bastante útil (embora me tenha safado com a documentação no github e um pouco de experimentação/análise do código fonte) e mal posso esperar para ver quando estiver concluída. (embora percebo perfeitamente que isto não esteja no topo das prioridades da CMetropolitana)

Em relação ao domínio com os GTFS (e outros ficheiros), agradeço a clarificação. De facto tinha reparado que alguns dos documentos neste domínio estavam publicados no Github, embora seja perfeitamente natural que seria impossível manter todos aqueles ficheiros no Github, especialmente com as mudanças na rede que ocorrem práticamente todos os meses. Vai-me ser bastante útil para uma funcionalidade que queria adicionar ao meu projeto.

Finalmente, para futuras questões da API (e relacionadas com o meu projeto), devo abrir outro Issue nesta página ou seria possível entrar em contacto (por exemplo pelo Discord)?

Obrigado pelo seu tempo e resto de bom trabalho!