Opentransportdata.swiss

Abfahrts-/Ankunftsanzeiger

Ist beim DestinationText bei internationalen Zügen eine Anpassung vorgesehen in Zukunft?

Basel Bad Bf DE

Danke für`s Teilen des Requests. Der hier publizierte Request hat nicht funktioniert, weil die “DepArrTime” zu weit in der Vergangenheit lag. Ich habe dies soeben angepasst. Der Content-Type muss „text/XML“ oder „application/XML, richtig.

Danke für den wertvollen Hinweis! Dieser Bug ist bereits in Bearbeitung und wir mit dem nächsten Release behoben werden.

Hallo @tobias.frommenwiler . Wo erhalten Sie diesen Text und was genau wäre der Wunsch? Bin dankbar, wenn Sie die Frage noch genauer ausformulieren könnten, damit ich antworten kann.

Beispiel: alle ICE und EC enden in Basel Bad Bf - die fahren aber noch weiter

Grundsätzlich werden keine ausländischen Fahrten geliefert.
Die öV-Schweiz Info±Datei enthält verschiedene ausländische Fahrten. Dies führt dazu, dass diese ebenfalls in VDV 431 abgebildet sind. Z.B.:

  • SBB GmbH
  • Gewisse Züge nach Paris

Im Online-Fahrplan erscheint hier zum Beispiel bei der S6 als Ziel Zell(Wiesental). Bei der Abfrage erhalte ich aber als Ziel “Basel Bad Bf”. Mir ist klar, dass es der letzte “Schweizer” Bahnhof ist, aber für die meisten Anwendungen ist das Ziel “Zell” relevant.

Wann kommen die nächsten Schritte wie Gleisangaben?

Hallo @tobias.frommenwiler
Eine erste Version der Gleisangaben ist bereits vorhanden! Wir haben dies in den Release Notes Ende Januar kommuniziert.
Release notes: https://opentransportdata.swiss/de/cookbook/release-notes/

Leider erst zu spät gesehen - danke!

Frage 1: Angenommen, für für eine Abfahrtsabfrage wird DepArrTime=XYZ verwendet. Schliessen die Resultate dann Abfahrten mit ein, die geplant vor XYZ liegen, tatsächlich aber verspätet nach XYZ? i.e. soll man bei Abfragen immer noch ein delta X zurück gehen in der Zeit, und erreicht damit nur eine beschränkte “Abfrage-Auflösung” (worst case nur Verspätungen kleiner/gleich X) oder ist das nicht nötig?

Frage 2: In der gleichen Response kommen für die gleichen Verkehrsmittel (Beispiel S-Bahn Zürich in Schlieren/8503509) ThisCalls vor, welche eine EstimatedTime aufweisen, aber auch einige solche ohne. Wie ist das fehlen einer EstimatedTime zu interpretieren? Keine Verspätung, Verspätung unbekannt? Falls ersteres, wie unterscheidet sich dies von TimetabledTime=EstimatedTime? Falls zweiteres, wie kommt es, dass zu gewissen Zügen diese Information vorhanden ist, und zu gewissen nicht?

Frage 3: Eine Abfahrtsanfrage in Schlieren/8503509 schliesst derzeit in den Resultaten nur weitere Zuglaufpunkte (PreviousCall/OnwardCall) mit den Stationen zwischen Dietikon und Zürich Altstetten mit ein. Mich dünkt, das war früher mal nicht so, da war mehr oder sogar der komplette Zuglauf miteingeschlossen. Was zusätzlich stört, ist, dass auch OriginText sowie DestinationText nicht mit den tatsächlichen Zugläufen übereinstimmt. So ist bei einer aktuellen Abfrage OriginText=“Glanzenberg” und DestinationText=“Zürich Altstetten”, obwohl die entsprechende S 3 (mit Abfahrt in Schlieren heute, 22:49) gemäss SBB-Fahrplanabfrage nicht eingekürzt ist.

Bin gespannt und froh über jegliche Antworten!

Hallo!

Frage 1
Hier ist es momentan bei der Ausgabe so, dass wir eine Abfrage für 12:00 Uhr machen, und die nächste Sollfahrt um 12:05 wäre, aber aufgrund einer Verspätung eine andere Fahrt um 12:04 abfährt, dass die Fahrt um 12:04 als erstes erscheint.

Frage 2
Keine estimated calls kann folgendes bedeuten

  1. Keine Echtzeitmeldung zur Fahrt
  2. Echtzeitmeldung zur Fahrt, aber prognoseMoeglich false (VDV 454 AUS)
  3. Echtzeitmledung zur Fahrt, PrognoseStatus unbekannt
  4. Fahrt kann nicht gemapped, werden da Zugnummer unbekannt, oder Soll Fahrweg/zeiten nicht mit dem Sollfahrweg/zeiten aus Info+ übereinstimmen

Frage 3
Bitte stelle einen Request inkl. Antwort zur Verfügung, damit wir dem nachgehen können. Du kannst dies auch gerne an opendata@sbb.ch senden.

Hoffe die Antworten helfen weiter!

Ist geplant, die Abfahrts- und Ankunftsanzeige nach Transportmittel filtern zu können? Dies clientseitig zu filtern ist aufgrund der Beschränkung von maximal 40 Einträgen schwierig, da je nach Filter u.U. nur wenige oder gar keine Halte übrigbleiben.

Hallo @fhirter! Aktuell ist dies nicht geplant. Ich verstehe jedoch deinen Wunsch gut, wir haben diesen auf unserer Liste möglicher Weiterentwicklungen aufgenommen.

Bei PreviousCall und OnwardCall wird sowohl und zurückgeliefert, unabhängig von StopEventType.
Könnte dies für ThisCall auch implementiert werden?

1 Like

Bei PreviousCall und OnwardCall werden nun auch “EstimatedTimes” geliefert (sofern verfügbar).
Was mir dabei aufgefallen ist:
Die “Estimated Departures” scheinen mit jenen übereinzustimmen, die auch über den “TripInfoRequest” geliefert werden.
Bei den “Estimated Arrivals” gibt es aber erhebliche Unterschiede zwischen “StopEvent” und “TripInfo”. Wie erklärt sich das? Ein Bug? Und vor allem: Welcher der beiden Services liefert die korrekten Angaben???

Bei meiner Frage fehlt ein wesentlicher Punkt, sollte heissen:

Bei PreviousCall und OnwardCall wird sowohl Ankunfts- und Abfahrtszeit zurückgeliefert, unabhängig von StopEventType. Könnte dies für ThisCall auch implementiert werden?

Hallo
ich erhalte immer “error”: “Authorization field missing”, in der Nutzungsstatistik sind aber immer nur erfolgreiche Aufrufe vermerkt.
Ich habe gelesen, dass dieser Fehler am Header liegt und nicht am Key. Ich setzte den Header so:

xhttp.setRequestHeader(“Authorization”, “57c5dbbb…”);

Ich seh den Fehler nicht. Wäre dankbar für einen Wink mit dem Zaunpfahl.

Fehlt vieleicht das Feld Content-Type?

Bei mir schaut das so aus:

xhrArr = new XMLHttpRequest();
xhrArr.open(‘POST’, that.url);
xhrArr.setRequestHeader(‘Authorization’,that.apiKey);
xhrArr.setRequestHeader(‘Content-Type’,‘application/xml’);
xhrArr.addEventListener(‘load’,function () { … });
xhrArr.send(requestArr);

Metabahnhöfe
Heisst das, wenn ich die Abfahrtszeiten von einem Point of interest wie “Bern, Wankdorf” anzeigen will, muss ich zuerst das DiDok file durchsuchen, alle didok-ids auslesen die “Bern, Wankdorf” enthalten und dann für jeden einen einzelnen Eintrag ein request machen?
Und danach alle Antworten konsolidieren?

Oder geht das auch einfacher?

Wie macht das z.b
http://fahrplan.sbb.ch/bin/stboard.exe/
Mit dem Bsp. “Glattbrugg, Bahnhof”?
Hier werden ja die Abfahrtszeiten von zwei verschiedenen didoks angezeigt.

Vielen Dank für eure Tips!