Jetzt auch mit Leaflet. Noch hässlich, und nur Direktverbindungen. Umstiege kommen dann als nächstes
Jetzt auch mit Leaflet. Noch hässlich, und nur Direktverbindungen. Umstiege kommen dann als nächstes
@javahippie Du hast die kompletten ÖPNV Fahrpläne für Deutschlandm dann klingt das nach einem einzigen schönen, maschinenlesbaren File ... wo bekommt man das denn her?
@oli Nach Registrierung kannst du dir hier die Soll Fahrplandaten als GTFS runterladen:
Ist eine Sammlung von CSV Dateien:
https://gtfs.org/documentation/schedule/reference/
Schrittchen für Schrittchen...
Jetzt auch mit Leaflet. Noch hässlich, und nur Direktverbindungen. Umstiege kommen dann als nächstes
Die erste Version online, keine Ahnung wie viel Last das auf meinen Server verursacht. Erst mal nur Direktverbindungen (Laden kann etwas dauern, seit gnädig)
https://mainzmap.javahippie.net/
cc @Bundesligatrainer weil du gefragt hattest
@javahippie frage mich gerade wie man da noch schön unterbringen kann wie oft pro stunde diese Verbindung zur Verfügung steht... (z.b. regio wäre superschnell, fährt aber halt nicht oft)
@mknoszlig Das ist tatsächlich ein wichtiger Punkt. Hatte an sowas gedacht wie "Durchschnittliche Wartezeit", das wäre dann aber pro Verbindung
@javahippie @mknoszlig ich hatte mal überlegt, dass so etwas wie eine durchschnittliche Gesamtdauer hilfreich wäre. Also inklusive Wartezeit für das erste Fahrzeug in das man steigt. Das würde dann seltene Verbindungen sinnvoll (?) miteinbeziehen. Aber müsste man vermutlich für verschiedene Tagesabschnitte einzeln aufdröseln, damit es aussagekräftig ist. Und mathematisch war das schon im Bereich dass ich nachdenken müsste, deshalb wurd da noch nix draus 😅
@javahippie vielleicht verbindungsdauer / frequenz als spontanitätsscore, das könnte man noch über verschiedene Verbindungen kombinieren 🤔 manchmal will/kann man ja nicht planen sondern einfach los und die nächstmögliche verbindung nehmen
@Bundesligatrainer Code ist hier, Apache 2.0 https://github.com/javahippie/mainzmap
@javahippie Was ist denn die URL zu #Leaflet beziehungsweise #Openstreetmap mit der Ansicht im Screenshot?
@Bundesligatrainer Das baue ich gerade noch auf meinem Laptop, momentan hängt die Applikation nicht im Internet
@javahippie Was für eine Frage 😇. hab das vor Jahren Mal gemacht https://faboo.org/2021/01/loading-uk-gtfs/ sicher nicht mehr ganz aktuell. Aber geht. Und in meiner Python etl-lib hab ich das als example drin
@taseroth cool, schaue ich mir auch an, Danke!
@javahippie Eine Graph-Datenbank macht auch nichts anderes als einen Self-Join, nicht unähnlich einer Recursive Common Table Expression.
@isotopp Oh, ich bin mir sicher, dass man den Usecase relational abbilden kann, aber bei manchen Tools ist der Weg ja vielleicht schneller ;)
Ja, nein, nicht wirklich, es ist kompliziert.
Ja – Du hast entweder einen MATCH-Cypher, den Du Dir bauen kannst, und der sieht mehr oder weniger aus wie eine RECURSIVE CTE, nur weniger verbose als SQL in der Notation, oder Du verwendest GDS Dijkstra, aber das ist kaum lohnend (maximal 3 Umstiege, maximal 60-120 Steps in einer Stadt).
Nein, Graph-Datenbanken krepieren Dir in der Regel schnell, wenn es mehr Daten sind als in das RAM passen oder wenn die Daten sich schnell ändern (nicht statisch sind). Das ist bei Deinem Problem jedoch nicht der Fall, also kann es gehen.
Es ist kompliziert – am Ende hast Du einen Medienbruch von einem führenden System (meist SQL) in das neo4j und zurück, und das kann kein Problem sein, oder eines in der Zukunft werden. Du verwendest sehr wenig graph-spezifische Funktionalität, sodaß Du Dir eine Dependency und die Notwendigkeit, das System zu beherrschen ins Haus holst ohne viel Gewinn.
@isotopp Wenn ich so etwas produktiv bauen würde, bin ich direkt bei dir, da würde ich keine neue Komponente reinziehen. Für ein Spielprojekt wie es hier wird, schaue ich mir evtl beides mal an, ich suche seit Jahren einen Grund Neo4J mal auszuprobieren 😁
Danke für den Input!
@rotnroll666 Oh nice, danke!
Hatte vorher mal grob reingeschaut und glaube, bis auf die Wartezeiten zwischen den Umstiegen wäre ich ganz gut vorangekommen. Lese ich mir später mal durch
@javahippie Hier ist das Dataset von meinem Kollegen dazu https://github.com/dogofbrian/ukrailway (Auch der Autor des Artikels auf Medium)
Sorry für direktes Nerdsniping, aber ich glaube da ist @rotnroll666 tief drin 😅