public-transport / transport-apis Goto Github PK
View Code? Open in Web Editor NEWmachine-readable list of transport API endpoints
License: Creative Commons Zero v1.0 Universal
machine-readable list of transport API endpoints
License: Creative Commons Zero v1.0 Universal
transport-apis/data/de/ulm-otp.json
Line 5 in 236d88d
I wanted to check out the available documentation for the Ulm OTP endpoint, but the homepage does not work anymore. Do you know an updated version? Is it known whether the endpoint is still available, although the homepage isn't ?
You might know about MOTIS: https://motis-project.de/
As part of my job I started to work on a library to communicate with Motis-Instances and came to the point that it would make sense to have configuration files. So instead of creating my own format I would like to discuss the format here and ideally upstream the specification to this repo instead. Compared to TRIA, Hafas, EFA, etc. I am not aware of any "official" MOTIS-Servers provided by a public transport provider, but there are public instances like https://europe.motis-project.de/.
I also created a upstream issue here: motis-project/motis#276
If you have any additional aspects you would think about let me know in this issue. And if you would be fine adding the specification to this repository, I would similar to the TRIAS create a draft PR to discuss a proposed format.
I found that in
transport-apis/data/de/ulm-otp.json
Line 19 in 236d88d
transport-apis/data/de/stadtnavi-otp.json
Line 19 in 236d88d
So imho it would make sense to add it there and maybe link to the possible values (e.g. this https://docs.opentripplanner.org/en/dev-2.x/RoutingModes/ if I'm not mistaken).
If you agree I could make a little PR adding the documentation
To my surprise, bwegt-trias.json now supports Trias 1.2 without me noticing before.
If the request contains <Trias version="1.1"
, it answers like a Trias 1.1.
If the request contains <Trias version="1.2"
, it answers like a Trias 1.2.
The same holds for VVO Trias.
Before I write a PR updating those values, I'd like to discuss the Trias Schema:
It might be valuable for a client to know that a Trias instance supports version 1.1 AND 1.2.
Storing this information appears to be not possible with the current JSON schema.
In #53 I discovered that the bwegt-trias-endpoint blocks certain user-agent headers, as described here: https://python.tutorialink.com/post-request-to-trias-api-does-not-work-with-requests/
This seems to be a very weird issue and is rarely documented anywhere. However it would might make sense to document it in the .json as well, as else the requests will fail with 502 Error code, with no obvious reason. @derhuerst mentioned a similar issue in his comment I contacted a contact at nvbw regarding this issue and will update the issue when I get an answer. The solution for me was just to set the user-agent manually to a working string.
Some naive possibilities how to document the blocked user-agents:
If anyone has any thoughts on that, or did encounter this issue as well, I would appreciate some opinions :)
@andaryjo started doing this in the trias-client
docs.
@vkrause's kpublictransport
also has support for >1 TRIAS endpoint.
Let's define a way to specify all relevant aspects of TRIAS API endpoints in a machine-readable way, so that client libraries can use this information! This way, there will be
In derhuerst/live-icomera-position#3, @Adwirawien proposed to have a central place to collect machine-readable knowledge about on-board (as in: available in the vehicle-local WiFi) APIs:
[...] I [...] noticed the
wifi-on-ice-portal-client
as well asdigital-im-regio-portal-client
and a few others. From what I can tell they are more or less all using the same icomera api with a few exceptions.[...] This would prevent the sort of chaos, that we're noticing regarding public transport information apis and could act as a central place for documentation of all the available on-board information systems.
[...] it would be useful to have a central place, much like what WoBike is for bike/scooter sharing APIs, or transport-apis.
Let's focus the discussion here on how to add data to transport-apis
, and keep the general discussion on how to obtain it and potential future projects building on top over at derhuerst/live-icomera-position#3.
What do you think @derf?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.