UNPKG

@golemio/pid

Version:
111 lines (67 loc) 2.97 kB
# Kdy je odjezd oznacen jako MISSING Odjezd je oznacen jako **MISSING**, pokud vozidlo **melo jet**, ale **nejsou k dispozici zadna validni realtime data (delay / poloha)**. Implementace: `src/output-gateway/pid/models/helpers/SkipHelper.ts` - metoda `isVehicleMissing()` --- ## Konstanty | Konstanta | Hodnota | Popis | |-----------|---------|-------| | `START_SOON_MINUTES_THRESHOLD` | 30 min | Prah pro "brzy zacina" (non-metro) | | `START_SOON_METRO_MINUTES_THRESHOLD` | 5 min | Prah pro "brzy zacina" (metro) | | `DEPARTURED_MINUTES_THRESHOLD` | -2 min | Trip mel zacit pred vice nez 2 minutami | | `TRIP_GAP_MINUTES_THRESHOLD` | 60 min | Velka mezera mezi tripy v runu | --- ## MISSING = true (odjezd se nezobrazuje) Odjezd je **MISSING**, pokud plati nasledujici: ### 1. Zakladni podminky (musi platit vsechny) - `is_delay_available = false` - `trip.start_timestamp` **nebo** `planned_start_timestamp` existuje - `run_number` existuje (neni null) - `route_id` existuje (neni null) ### 2. Casove podminky Trip zacina v casovem okne: - **Non-metro:** do 30 minut - **Metro:** do 5 minut A zaroven: - Trip **uz mel zacit** (`minutesToStart < -2`) **Vysledek:** odjezd je **MISSING** --- ### 3. Odjezd navazuje na predchozi jizdu bez dat Pokud trip **jeste uplne nesplnuje bod 2** (nezacal pred 2+ minutami), muze byt stale oznacen jako **MISSING**, pokud: 1. Existuje `runSchedule` pro dany run 2. Trip **neni prvni v runu** 3. Mezi aktualnim a predchozim tripem **neni mezera >= 60 minut** 4. Predchozi trip: - **nema realtime data** (je v `untrackedTrips`) - **uz mel zacit** (`previousMinutesToStart < -2`) **Vysledek:** odjezd je **MISSING** --- ### 4. Rozsirena kontrola pres predchozi jizdu Pokud predchozi trip sam **neni prvni v runu** (index > 0) a: - Mezi jeho startem a koncem jeste starsi jizdy **neni mezera >= 60 minut** Predchozi jizda je take povazovana za chybejici a **aktualni odjezd je MISSING**. --- ## NOT MISSING = false (odjezd se zobrazi) Odjezd **neni MISSING**, pokud plati alespon jedna z techto podminek: ### Chybi vstupni data - `trip.start_timestamp` neexistuje (a `planned_start_timestamp` taky ne) - `run_number = null` - `route_id = null` ### Ma realtime data - `is_delay_available = true` ### Je prilis brzy Trip zacina: - **Non-metro:** za >= 30 minut - **Metro:** za >= 5 minut ### Nelze overit navaznost jizd - `runSchedule` pro dany run neexistuje - Trip neni nalezen v run schedule - Trip je **prvni v runu** (index = 0) ### Mezi jizdami je velka mezera - Mezera od predchozi jizdy >= 60 minut - Mezera pred predchozi jizdou >= 60 minut ### Predchozi jizda ma data nebo jeste nezacala - Predchozi trip **ma realtime data** (neni v `untrackedTrips`) - Predchozi trip **jeste nemel zacit** (`previousMinutesToStart >= -2`) --- ## Shrnnuti > **Odjezd je MISSING, kdyz uz mel jet, nema zadna realtime data a zaroven neni duvod si myslet, ze vozidlo teprve prijede z jine jizdy.**