UNPKG

@golemio/pid

Version:
175 lines (118 loc) 9.47 kB
# HTTP MPVNet ## Městské a příměstské autobusy (mimo DPP) ```xml <?xml version="1.0" encoding="utf-8"?> <m disp="http://77.93.194.81:8716/api"> <spoj ka="2" kb="0" den="2025-03-30" lin="100194" alias="194" spoj="4009" dopr="ABOUT ME" doprSkut="ABOUT ME" kmenl="194" t="3" tcis="A" np="true" po="2" vuzevc="1907" skol="false" posl="false" sled="2" lat="50.09078" lng="14.42738" cpoz="09:34:59" azimut="76" rychl="1" zast="63505" asw="14100002" zpoz_prij="-59"> <zast stan="A" odj="09:20" zast="59168" asw="29530001" zpoz_typ_odj="3" zpoz_odj="28" /> <zast stan="D" odj="09:23" zast="59104" asw="3610004" zpoz_typ_prij="3" zpoz_typ_odj="3" zpoz_prij="-33" zpoz_odj="9" /> <zast stan="I" odj="09:26" zast="57811" asw="3600009" zpoz_typ_prij="3" zpoz_typ_odj="3" zpoz_prij="-84" zpoz_odj="-44" /> <zast stan="A" odj="09:27" zast="59299" asw="7030081" zpoz_typ_prij="3" zpoz_typ_odj="3" zpoz_prij="-36" zpoz_odj="-3" /> <zast stan="B" odj="09:29" zast="63506" asw="14080002" zpoz_typ_prij="3" zpoz_typ_odj="3" zpoz_prij="-70" zpoz_odj="5" /> <zast stan="A" odj="09:32" zast="59300" asw="29620001" zpoz_typ_prij="3" zpoz_typ_odj="3" zpoz_prij="-94" zpoz_odj="-9" /> <zast stan="A" odj="09:33" zast="59108" asw="29630001" zpoz_typ_prij="3" zpoz_typ_odj="3" zpoz_prij="-18" zpoz_odj="-1" /> <zast stan="B" odj="09:35" zast="63505" asw="14100002" zpoz_typ_prij="3" zpoz_typ_odj="2" zpoz_prij="-59" zpoz_odj="0" /> <zast stan="A" odj="09:37" zast="63507" asw="14090001" zpoz_typ_prij="2" zpoz_typ_odj="2" zpoz_prij="0" zpoz_odj="0" /> <zast stan="B" odj="09:39" zast="59203" asw="29560002" zpoz_typ_prij="2" zpoz_typ_odj="2" zpoz_prij="0" zpoz_odj="0" /> <zast stan="B" odj="09:40" zast="58766" asw="320052" zpoz_typ_prij="2" zpoz_typ_odj="2" zpoz_prij="0" zpoz_odj="0" /> <zast stan="H" prij="09:41" zast="27863" asw="6890008" zpoz_typ_prij="2" zpoz_prij="0" /> </spoj> </m> ``` - _spoj_ - informace o spoji a vozidlu - **ka** - ??? nepoužíváme - **kb** - ??? nepoužíváme - **den** - datum, kdy spoj vyjel - **lin** - označení linky podle CIS - **alias** - číslo/označení linky podle CIS - **spoj** - označení spoje podle CIS - **dopr** - smluvní dopravce podle JŘ - **doprSkut** - reálný dopravce vykonávající oběh - **kmenl** - kmenová linka, může se lišit od **alias** - **t** - typ vozidla, viz [vehicle_types.md](../vehicle_types.md) - **tcis** - ??? nepoužíváme - **np** - indikátor nízkopodlažnosti - **po** - oběhové číslo - **vuzevc** - [Evidenční číslo vozidla](https://cs.wikipedia.org/wiki/Eviden%C4%8Dn%C3%AD_%C4%8D%C3%ADslo_vozidla) - **skol** - nejspíš indikátor školního spoje ??? nepoužíváme - **posl** - nejspíš indikátor poslední spoje na oběhu ??? nepoužíváme - **sled** - indikátor, zda je spoj sledovaný (tracked) - 0 - nesledovaný (spoj je před trasou nebo dojel nebo je zrušen) - 2 - sledovaný (spoj je na trase nebo v zastávce) - **lat** - zeměpisná šířka - **lng** - zeměpisná délka - **cpoz** - čas odeslání zprávy (nejspíš z vozidla), nesmí být více než 5 minut v budoucnu - **azimut** - azimut - **rychl** - rychlost vozidla - **zast** - aktuální nebo poslední projetá zastávka CIS (miniuzel) - **asw** - aktuální nebo poslední projetá zastávka ASW - **zpoz_prij** - zpoždění na příjezdu do aktuální nebo poslední projeté zastávky - **zpoz_odj** - zpoždění na odjezdu z poslední projeté zastávky. Pokud je vozidlo v zastávce, pak není vyplněno - **zrus** - indikátor, zda byl spoj zrušen - **zrusod** - příklad 59168/A, nejspíš od které zastávky byl spoj zrušen ??? - _zast_ - informace o projetých i budoucích zastávkách spoje - **stan** - stanoviště/nástupiště/kolej podle CIS - **odj** - čas odjezdu za zastávky podle JŘ - **prij** - čas příjezdu do zastávky podle JŘ - **zast** - identifikátor miniuzlu (CIS), kam zastávka patří - **asw** - ASW identifikátor zastávky - **zpoz_typ_prij** - typ zpoždění příjezd do zastávky (2 predikce, 3 reálný stav) - **zpoz_typ_odj** - typ zpoždění odjezd ze zastávky (2 predikce, 3 reálný stav) - **zpoz_prij** - zpoždění příjezd do zastávky - **zpoz_odj** - zpoždění příjezd do zastávky ## Přívozy ```xml <?xml version="1.0" encoding="utf-8"?> <m disp="http://77.93.194.81:8716/api"> <spoj ka="2" kb="0" den="2025-03-30" lin="199693" alias="P3" spoj="4096" dopr="VITTUS GROUP" doprSkut="VITTUS GROUP" kmenl="1803" t="12" tcis="P" np="true" po="1" vuzevc="302" skol="false" posl="false" sled="0" lat="50.04807" lng="14.41222" cpoz="09:18:29" azimut="337" rychl="2"> <zast stan="K" odj="09:32" zast="58997" asw="1100011" zpoz_typ_odj="2" zpoz_odj="0" /> <zast stan="K" prij="09:34" zast="28003" asw="3370011" zpoz_typ_prij="2" zpoz_prij="0" /> </spoj> </m> ``` ## Vlaky ### Parsování stanoviště (`stan`) u vlaků Atribut `stan` v elementu `<zast>` u vlaků může obsahovat složený řetězec ve formátu `část1/část2` nebo `část1 část2` (např. `5S/22S`, `-/6`, `2/3`). Jako kanonický kód nástupiště se použije **první platný segment** – první token oddělený lomítkem nebo mezerou, pokud není prázdný nebo `-`. Příklady výsledků po parsování: | Vstup (`stan`) | Výsledný `platform_code` | |---|---| | `1/3` | `1` | | `-/BUS` | `BUS` | | `2/100V` | `2` | | `5A/- A C` | `5A` | | `5S/22S` | `5S` | Parsování provádí `MpvStopParser.parsePlatformCode()`. Výsledný kód je uložen jako `cis_stop_platform_code` v tabulce `vehiclepositions_positions` a na výstupu se pro vlaky preferuje před GTFS `platform_code` (viz `PlatformCodeResolver`). ### Zprávy s informací o nástupišti jako syntetická poloha Pokud MPVNet zpráva vlaku obsahuje informaci o nástupišti (`$.stan`) pro budoucí zastávku a vlak ještě nemá žádnou aktivní RT polohu, vytvoří se syntetická poloha ve stavu `before_track` na základě dat z této zastávky. Díky tomu lze zobrazit kód nástupiště ještě před fyzickým příjezdem vlaku na stanoviště. Kód nástupiště se parsuje stejným způsobem jako výše (`MpvStopParser.parsePlatformCode()`). ```xml <?xml version="1.0" encoding="utf-8"?> <m disp="http://77.93.194.81:8716/api"> <spoj ka="1" kb="0" den="2025-03-30" lin="" alias="S8" spoj="9055" dopr="ČESKÉ DRÁHY" t="0" np="true" skol="false" posl="false" sled="2" lat="49.8657227" lng="14.4618721" cpoz="09:35:19" zast="5455746" zpoz_prij="600" zpoz_odj="600"> <zast stan="5S/22S" odj="08:25" zast="5457076" zpoz_typ_odj="3" zpoz_odj="720" /> <zast stan="-/6" prij="08:29" odj="08:30" zast="5457276" zpoz_typ_prij="3" zpoz_typ_odj="3" zpoz_prij="720" zpoz_odj="780" /> <zast stan="-/1" odj="08:34" zast="5457287" zpoz_typ_prij="3" zpoz_typ_odj="3" zpoz_prij="720" zpoz_odj="780" /> <zast stan="-/2" odj="08:38" zast="5457156" zpoz_zxtyp_prij="3" zpoz_typ_odj="3" zpoz_prij="660" zpoz_odj="720" /> <zast stan="2/-" prij="08:42" odj="08:43" zast="5457016" zpoz_typ_prij="3" zpoz_typ_odj="3" zpoz_prij="660" zpoz_odj="660" /> <zast stan="-/2" prij="08:46" odj="08:47" zast="5457386" zpoz_typ_prij="3" zpoz_typ_odj="3" zpoz_prij="720" zpoz_odj="720" /> <zast stan="-/1" odj="08:49" zast="5455526" zpoz_typ_prij="3" zpoz_typ_odj="3" zpoz_prij="780" zpoz_odj="840" /> <zast stan="-/3" odj="08:53" zast="5455536" zpoz_typ_prij="3" zpoz_typ_odj="3" zpoz_prij="720" zpoz_odj="780" /> <zast stan="-/1" odj="08:57" zast="5455556" zpoz_typ_prij="3" zpoz_typ_odj="3" zpoz_prij="720" zpoz_odj="780" /> <zast stan="2/3" prij="09:01" odj="09:02" zast="5455546" zpoz_typ_prij="3" zpoz_typ_odj="3" zpoz_prij="720" zpoz_odj="720" /> <zast stan="-/1" odj="09:05" zast="5458316" zpoz_typ_prij="3" zpoz_typ_odj="3" zpoz_prij="660" zpoz_odj="660" /> <zast stan="-/2" prij="09:12" odj="09:13" zast="5455696" zpoz_typ_prij="3" zpoz_typ_odj="3" zpoz_prij="600" zpoz_odj="600" /> <zast stan="-/1" odj="09:16" zast="5455716" zpoz_typ_prij="3" zpoz_typ_odj="3" zpoz_prij="600" zpoz_odj="660" /> <zast stan="-/1" odj="09:19" zast="5455726" zpoz_typ_prij="3" zpoz_typ_odj="3" zpoz_prij="600" zpoz_odj="660" /> <zast stan="-/1" odj="09:24" zast="5455746" zpoz_typ_prij="3" zpoz_typ_odj="3" zpoz_prij="600" zpoz_odj="600" /> <zast stan="-/1" prij="09:30" odj="09:31" zast="5455736" zpoz_typ_prij="2" zpoz_typ_odj="2" zpoz_prij="720" zpoz_odj="720" /> <zast prij="09:35" odj="09:36" zast="5455756" zpoz_typ_prij="2" zpoz_typ_odj="2" zpoz_prij="720" zpoz_odj="720" /> <zast prij="09:38" odj="09:39" zast="5455776" zpoz_typ_prij="2" zpoz_typ_odj="2" zpoz_prij="720" zpoz_odj="720" /> <zast prij="09:42" odj="09:43" zast="5455766" zpoz_typ_prij="2" zpoz_typ_odj="2" zpoz_prij="720" zpoz_odj="720" /> <zast odj="09:46" zast="5455796" zpoz_typ_prij="2" zpoz_typ_odj="2" zpoz_prij="720" zpoz_odj="720" /> <zast prij="09:49" odj="10:03" zast="5455786" zpoz_typ_prij="2" zpoz_typ_odj="2" zpoz_prij="720" zpoz_odj="720" /> <zast prij="10:06" odj="10:07" zast="5455806" zpoz_typ_prij="2" zpoz_typ_odj="2" zpoz_prij="720" zpoz_odj="720" /> <zast prij="10:11" odj="10:12" zast="5455816" zpoz_typ_prij="2" zpoz_typ_odj="2" zpoz_prij="720" zpoz_odj="720" /> <zast prij="10:14" odj="10:15" zast="5455096" zpoz_typ_prij="2" zpoz_typ_odj="2" zpoz_prij="720" zpoz_odj="720" /> <zast prij="10:19" zast="5455046" zpoz_typ_prij="2" zpoz_prij="300" /> </spoj> </m> ```