entropia / web-info-screen

A web-based alternative to https://github.com/entropia/entropia-info-beamer
MIT License
2 stars 1 forks source link

Show departure list for multiple stations in a combined view #4

Open evlli opened 4 months ago

evlli commented 4 months ago

from a user experience it would be nice to have multiple stations departures listed, each filtered by specific line's destinations, as we are in the middle of 4 stations and depending on where you want to go you want to choose a different station.

I would imagine a configuration like the following to use regex to show desired destinations.

it comes with the obvious downside of not showing redirected lines, but I'm sure we could come up with ideas for that aswell.

{
    "Rüppurrer Tor": {
        "3": "Daxlanden",
        "4": ".+",
        "5": ".+",
    },
    "Kronenplatz": {
        "1": "Durlach Bf",
        "2": "Wolfartsweier",
        "3": "Rintheim",
        "S2": "Reitschulschlag|Blankenloch|Spöck",
        "S4": "Bretten|Gölshausen|Flehingen|Eppingen|Heilbronn|Öhringen",
        "S5|S51": "Berghausen|Söllingen|Pforzheim Hbf",
        "S7|S8": "Tullastraße",
    },
    "Marktplatz": {
            "1": "Heide",
            "S5|S51": "Rheinbergstraße|Wörth (Rhein)|Wörth Badepark|Germersheim",
            "S1|S11": "Neureut Kirchfeld|Hochstetten",
    },
    "Ettlinger Tor\/Stattstheater": {
            ".+": "Hauptbahnhof",
            "2": "Knielingen Nord"
            "S1|S11": "Ettlingen Albgaubad|Ittersbach Rathaus|Bad Herrenalb"
            "S4": "Albtalbahnhof",
            "S7": "Rastatt|Baden-Baden|Bühl",
            "S8": "Rastatt|Forbach|Freudenstadt|Bondorf",
            "S52": "Wörth (Rhein)|Germersheim",
    },
}
pascalwittler commented 4 months ago

Multi station support is already implemented. The currently shown tram stops are:

Each 15 seconds, the visible departure list cycles through the different stops listed above.

pascalwittler commented 4 months ago

Is the feature you request a combined view and/or adding "Ettlinger Tor" as the fourth station?

evlli commented 4 months ago

I would like a combined view but I can understand if that's too complex

pascalwittler commented 4 months ago

A combined view would not be too hard to implement. You can check if a tram/train has already passed another station from the list and show only its departure at the stop with the latest departure time.

The main disadvantage of a combined view that I personally see is the user experience:

A list with 11 lines (1, 2, 3, 4, 5, S1/S11, S2, S4, S5, S7, S8) with two possible directions each, departing from 4 stops means that you need at least 22 rows and an extra column (or at least more text) to indicate the stop to which a person must go for each departure.

A compromise to decrease the amount of visible (hard to read) text could be to only show the next ~10 departures, but then people would have to wait for their tram/train to appear in the list just like without a combined display.

pascalwittler commented 4 months ago

The reason why the stop "Ettlinger Tor" is not displayed is that there is no possibility for lines to depart from this stop without also being available at any of the other three stops, neither during regular service nor in case of rerouting or route closures in any direction.

evlli commented 4 months ago

my idea here was to have one "virtual station" with prioritized deduplication. I think we can just subtract the time-to-platform from the departure time and choose the highest value. the servingLine.stateless id (something like kvv:21012:E:H:j24) in combination with AVMSTripID from the attrs dict should give us a unique identifier for each journey, regardless of what station it is at.

you think this approach might be worth implementing? it should also work flawlessly with rerouting of trips

pascalwittler commented 4 months ago

I will keep this feature request in mind and probably implement a combined view for further evaluation later.