KDE PIM/KPublicTransport/Endpoint Configuration: Difference between revisions
(Created page with "== Public Transport Provider Endpoint Configurations == Can we share public transport provider API endpoint configurations with a wider set of users, beyond KDE? What would b...") |
|||
(One intermediate revision by the same user not shown) | |||
Line 2: | Line 2: | ||
Can we share public transport provider API endpoint configurations with a wider set of users, beyond KDE? What would be a sensible subset of information? | Can we share public transport provider API endpoint configurations with a wider set of users, beyond KDE? What would be a sensible subset of information? | ||
=== Motivation === | |||
* All existing projects use subsets of available endpoints, so most if not all could benefit from more endpoint configurations becoming available with little extra effort for them. | |||
* Maintaining endpoint configurations is work, some parameters require elaborate research to obtain. | |||
=== Existing Implementations === | === Existing Implementations === | ||
Line 7: | Line 12: | ||
==== Gnome Maps ==== | ==== Gnome Maps ==== | ||
Code: https:// | Code: https://gitlab.gnome.org/GNOME/gnome-maps/-/tree/master/src/transitplugins | ||
Format: JSON - see https://gis.gnome.org/services/v1/service.json<br> | Format: JSON - see https://gis.gnome.org/services/v1/service.json<br> | ||
Backends: OTP (via REST), custom (OpenDataCH, Resrobot)<br> | Backends: OTP (via REST), custom (OpenDataCH, Resrobot)<br> | ||
Line 39: | Line 44: | ||
* Attribution | * Attribution | ||
* Geographic bounding box | * Geographic bounding box | ||
* Primary country/region ISO 3166-1/2 codes as part of the file name. | |||
==== marudor.de ==== | ==== marudor.de ==== |
Latest revision as of 13:38, 12 December 2020
Public Transport Provider Endpoint Configurations
Can we share public transport provider API endpoint configurations with a wider set of users, beyond KDE? What would be a sensible subset of information?
Motivation
- All existing projects use subsets of available endpoints, so most if not all could benefit from more endpoint configurations becoming available with little extra effort for them.
- Maintaining endpoint configurations is work, some parameters require elaborate research to obtain.
Existing Implementations
Gnome Maps
Code: https://gitlab.gnome.org/GNOME/gnome-maps/-/tree/master/src/transitplugins
Format: JSON - see https://gis.gnome.org/services/v1/service.json
Backends: OTP (via REST), custom (OpenDataCH, Resrobot)
Additional information:
- Attribution
- Geographic bounding box
- Description
- Priority
hafas-client
Code: https://github.com/public-transport/hafas-client
Format: JS, partly JSON-ish - see https://github.com/public-transport/hafas-client/tree/master/p
Backends: Hafas
Additional information:
- Product mapping
- Locale
- Timezone
KPublicTransport
Code: https://phabricator.kde.org/source/kpublictransport/
Format: JSON - https://phabricator.kde.org/source/kpublictransport/browse/master/src/lib/networks/
Backends: Navitia, OTP (3 variants), Hafas (2 variants), EFA (2 variants)
Additional information:
- Hafas product mapping
- Location identifier normalization/mapping to UIC/IBNR station codes
- Localized names/descriptions
- Supported languages
- Static timezones for backends not providing timezone information
- Attribution
- Geographic bounding box
- Primary country/region ISO 3166-1/2 codes as part of the file name.
marudor.de
Code: https://github.com/marudor/BahnhofsAbfahrten/tree/master/src/server/HAFAS
Format: TypeScript, but largely declarative/JSON-ish: https://github.com/marudor/BahnhofsAbfahrten/blob/master/src/server/HAFAS/profiles.ts
Backends: Hafas
Additional information:
oeffisear.ch
Code: https://git.ctu.cx/ctucx/oeffisearch
Format: N/A (hardcoded)
Backends: Hafas
public-transport-enabler
Code: https://gitlab.com/oeffi/public-transport-enabler/
Format: Java code, API keys not included (part of Öffi/Transportr) - see https://gitlab.com/oeffi/public-transport-enabler/-/tree/master/src/de/schildbach/pte
Backends: Navitia, Hafas (2 variants), EFA (2 variants), custom (VRS, and one other one IIRC)
Additional information:
- Hafas product mapping, line and product name normalization (in code)
pyhafas
Code: https://github.com/n0emis/pyhafas
Format: Python code, some JSON elements - see https://github.com/n0emis/pyhafas/tree/master/pyhafas/profile
Backends: Hafas
smurfy/fahrplan
Code: https://github.com/smurfy/fahrplan/
Format: in code? - see https://github.com/smurfy/fahrplan/tree/master/src/parser
Backends: Hafas (2 variants), EFA
TripKit
Code: https://github.com/alexander-albers/tripkit
Format: Swift Code - see https://github.com/alexander-albers/tripkit/tree/master/TripKit
Note: Swift port of public-transport-enabler, with matching backend/configuration approach.