Nový filtr routeHeadingOnceNoGap
Nevýhoda v současnosti používaného filtru routeHeadingOnce
je v tom, že zobrazuje i neužitečné spoje, které jedou za dlouho. Pro cestujícího je to zbytečná a spíše rušivá informace (viz níže příklad devítky v 8:00, před níž ale jede ještě 12 jiných devítek a tato se zobrazuje pouze proto, že má jiný cíl).
Řešení (dle modelu DPP) je nezobrazovat spoje stejné linky, pokud je mezi nimi jeden nebo více spojů téže linky skryto. Na příkladu výše by se tedy 9 do Vozovny Motol zobrazila pouze za předpokladu, že je nejbližším spojem linky 9, anebo následuje po nejbližším spoji linky 9 a na oba dva odjezdy je prostor.
Návrh názvu filtru: routeHeadingOnceNoGap
(k tomu též routeHeadingOnceNoGapFill
analogický k routeHeadingOnceFill
- tj. s doplněním chronologicky nejdřívějších původně vynechaných odjezdů).
Algoritmus: odpovídá filtru routeHeadingOnce
s následujícím rozdílem:
- Při filtrování odjezdů odstraňujeme též ty odjezdy, u jejichž linek byly již nějaké odjezdy odstraněny.
Příklad:
Poř. | Linka, směr | Odjezd | routeHeadingOnce |
routeHeadingOnceNoGap |
---|---|---|---|---|
1. | 22 Bílá Hora | 7:00 | zobrazí | zobrazí |
2. | 22 Bílá Hora | 7:04 | nezobrazí, shodná linka a cíl s již zobrazovaným odjezdem na ř. 1 | nezobrazí, stejný důvod |
3. | 9 Spojovací | 7:05 | zobrazí | zobrazí |
4. | 22 Vypich | 7:08 | zobrazí | nezobrazí - sice žádná 22 směr Vypich výše není, ovšem již jsme nezobrazili odjezd na ř. 2, a tedy žádné další 22 již zobrazovat nebudeme |
5. | 9 Vozovna Motol | 7:09 | zobrazí | zobrazí - je unikátní linkosměr a zatím jsme žádnou devítku nevynechali |
Reference kódu
- přidat testy viz výše
- přidat funkcionalitu
- přidat popis parametrů v APIARY (dodá @hrdilu ?)
- https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/output-gateway/pid/models/RopidDeparturesModel.ts