Zugverbindungs Website programmieren?
Hallo,
mein Kollege und ich würden gerne eine Website programmieren die zum Beispiel wie der DB Navigator funktioniert. Sie soll aber Verbindungen beinhalten die wir selber einfügen möchten mit unseren eigenen Bahnhöfen, also keine Kopie von der DB. Wir möchten keinen Fahrplan von der DB, sondern selber einen Fahrplan bauen. In dieser soll man eingeben können wo man startet und wo man hin möchte. Dabei sollte sie anzeigen wie oft und wo man umsteigen muss.
Wir haben beide ein bisschen Erfahrung mit Programmieren, aber das haben wir nicht geschafft. Die Website oder das Tool würden wir gerne mit der Zeit erweitern.
4 Antworten
Naja die erste Frage ist ja ob ihr echte Routen Planen wollt/müsst oder ob eine Art Fake Fahrplan reicht. Bei den Echten routen könnten ihr zwar einmalig die Daten vielleicht bekommen und dann mit diesen Rechnen, aber da ändert sich ja ständig etwas. Bei realen Planungen wären also API's z.B. von der Deutschen Bahn notwendig. Weiteres Problem sind z.B. Ausfälle und Verspätungen, aber vielleicht hat die db da auch eine API.
Dann würde ich mal das Streckennetz und den Fahrplan mit entsprechenden Tabellen in der Datenbank modellieren. Danach könntest du etwas wie einen abgeänderten Dijkstra probieren für die Routenfindung. Hauptproblem sind da wohl Umsteigezeiten und der Fahrplan. Du kannst ja nicht einfach wie bei einem Autonavi zu jeder zeit einfach weiter solange eine Straße existiert, sondern musst auf den nächsten Zug warten.
Danke das ist schon mal was. Nehmen wir mal an das Umsteigezeiten kein Problem sind und das die Strecken immer frei sind. Denkst du dann wäre es möglich für zwei leicht erfahrende Programmierer so etwas zu machen?
Ich meine mich dunkel zu erinnern, dass jemand vom Chaos Computer Club ein derartiges Tool einmal programmiert und in einem Video vorgestellt hat. Der Knackpunkt war, soweit ich mich erinnere, die Abfrage der DB Server - hier sollte man also eine Erlaubnis einholen, sonst könnte das Ärger geben, wenn ihr die Server mit zu vielen Anfragen abschießt. Das Programm selber war recht simpel, die Datenbankabfrage war hier der Knackpunkt, bzw. das bekommen der Daten, ohne Probleme an der anderen Seite zu verursachen.
Heutzutage braucht man die DB nicht mehr hacken, die haben eine offene API fuer alles, Fahrplaene, Cargo, Stationen, Parkplaetze...
Ja - aber wenn du da mit deinem Server alle paar Sekunden zugreifst und die Datenbank abfragst, könnten die das als nicht so toll empfinden, je nachdem, was du einsetzt ;) Gehackt hat der CCC die ja soweit ich weiß auch nicht. Die Frage wäre jetzt, wie man sein "eigenes Streckennetz" hier einpflegen will - das ist doch eine gigantische Arbeit, je nachdem, wie viele Dinge man eingeben muss.
Na dazu ist die API ja da, die definiert die Regeln, setzt cache ein usw.
Danke für die Antwort. Habe wohl vergessen rein zu schreiben das wir keine Abfrage von der DB machen wollen sondern unserer "eigenes Streckennetz" verwalten möchten.
Gruß an den guten Onkel Dijkstra:
nehmt doch die Fahrplan API: https://data.deutschebahn.com/dataset/api-fahrplan.html
Danke für die Antwort. Wir möchten keine Abfrage bei der DB machen sondern unser "eigenes Streckennetz" verwalten das mit der DB soll nur als Leitlinie dienen.