BIC3 ODE Semesterproject, Thorina Boenke, ic21b060
Repository Url: https://github.com/thorinaboenke/PublicTransportMonitor
Die Applikation ist ein Display das für drei Orte die nächstgelegenen Haltestellen der Wiener Linien und stadtweite aktuelle Störungen des öffentlichen Nahverkehrs anzeigt. Es wird die API der Wiener Linien verwendet:
Wienerlinien Echtzeitdaten Dokumentation
- Es gibt einen hardcoded Liste von Standorten die aus einer Datei eingelesen werden.
- Ein Standort ist als Headquarter deklariert und per default als aktueller Standort ausgewählt
- In der Applikation kann ein anderer Standort aus der Liste ausgewählt werden und über einen Buttonklick zum aktuellen Standort deklariert werden
- Es werden die Haltestellen und Linien der umgebenden Haltestellen angezeigt
- Es gibt einen Button um eine neue Anfrage abzusenden/ die Anzeige zu aktualisieren
- Es werden außerdem die jeweiligen Endstationen und die nächsten Abfahrtszeiten angezeigt
- Es kann ein Report (.txt file) der aktuellen Anzeige generiert werden
- Es werden außerdem Informationen zu aktuellen (stadtweiten) Störungen angezeigt
- Statt durch einen Buttonklick getriggert aktualisiert sich die Anzeige in regelmäßigen Intervallen (z.B. 1 mal pro minute)
- Es kann als aktueller Standort der Standort des Endgerätes ausgewählt werden
- Statt der wählbaren Locations wird eine (google maps o.ä.) Karte eingebunden auf der ein Pin gesetzt werden kann um den aktuellen Standort zu wählen und sich nahegelegene Haltestellen anzeigen zu lassen.
Die verschiedenen Orte und ihre IDs werden aus dem file "locations.csv" eingelesen.
Ein Graphical User Interface wurde mit JavaFx generiert.
Bei Klick auf "Display Departures" wird ein Http GET request für die ID des aktuell ausgewählten Ort an
https://www.wienerlinien.at/ogd_realtime/monitor?stopId=<ID>&aArea=1gestellt. Der zurückerhaltene Json String wird in Objekte für LocationsStops, Lines und Deaprtures geparsed.
Bei Klick auf "Change Locations" wird der ausgewählte Ort gewechselt ohne eine neue Anfrage zustellen.
Bei Klick auf "Display Disruptions" wird ein Http GET request an
https://www.wienerlinien.at/ogd_realtime/trafficInfoListgestellt. Der zurückerhaltene Json String wird in Disruption Objekts geparsed.
Bei Klick auf "Generate Report" wird die aktuelle Anzeige von Linien und Störungen im file "report.txt" abgespeichert. Dies geschieht in einem separaten Thread.
Javadocs can be found in the folder "docs". Open "index.html" in a browser to look at the project documentation.
