@golemio/pid 2.3.4-dev.704404204 → 2.3.4-dev.705246340
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,868 @@
|
|
|
1
|
+
# Implementační dokumentace modulu _pid_
|
|
2
|
+
|
|
3
|
+
## Záměr
|
|
4
|
+
|
|
5
|
+
Modul slouží k ukládání a poskytování informací o jízdních řádech a real-time polohových datech v Praze a Středočeském kraji.
|
|
6
|
+
|
|
7
|
+
## Vstupní data
|
|
8
|
+
|
|
9
|
+
### Data aktivně stahujeme
|
|
10
|
+
|
|
11
|
+
**Dostupní poskytovatelé**:
|
|
12
|
+
|
|
13
|
+
- ROPID FTP
|
|
14
|
+
- GTFS (General Transit Feed Specification) jízdní rády
|
|
15
|
+
- CIS (Celostátní informační systém) zastávkový číselník
|
|
16
|
+
- OIS (Odbavovací a informační systém) mapovací číselník pro tramvaje
|
|
17
|
+
- Oběhy vozidel
|
|
18
|
+
- Presets (definice pro zkracovač URL)
|
|
19
|
+
- ROPID VYMI (Výluky a mimořádnosti)
|
|
20
|
+
- Statická data
|
|
21
|
+
- Ukazatelé směru jízdy
|
|
22
|
+
- Kolejové obvody pro metro
|
|
23
|
+
|
|
24
|
+
#### _ROPID FTP (obecně)_
|
|
25
|
+
|
|
26
|
+
- přístupy
|
|
27
|
+
- host: config.datasources.RopidFTP.host
|
|
28
|
+
- user: config.datasources.RopidFTP.user
|
|
29
|
+
- password: config.datasources.RopidFTP.password
|
|
30
|
+
- secure: config.datasources.RopidFTP.secure
|
|
31
|
+
|
|
32
|
+
#### _GTFS jízdní řády_
|
|
33
|
+
|
|
34
|
+
- identifikátor: PID_GTFS
|
|
35
|
+
- zdroj dat
|
|
36
|
+
- cesta: /GTFS (config.datasources.RopidGTFSPath)
|
|
37
|
+
- soubory:
|
|
38
|
+
- PID_GTFS.zip (config.datasources.RopidGTFSFilename) -> agency.txt, calendar.txt, calendar_dates.txt, shapes.txt, stop_times.txt, stops.txt, routes.txt, trips.txt
|
|
39
|
+
- formát dat
|
|
40
|
+
- protokol: ftp
|
|
41
|
+
- datový typ: csv
|
|
42
|
+
- validační schéma: není, mapování rovnou do tabulek, viz [SDMA definice pro RopidGtfsSchedule](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/schema-definitions/ropid-gtfs/RopidGtfsSchedule.ts)
|
|
43
|
+
- příklad vstupnich dat https://gitlab.com/operator-ict/golemio/code/modules/pid/-/snippets/2462385
|
|
44
|
+
- frekvence stahování
|
|
45
|
+
- cron definice:
|
|
46
|
+
- cron.vehicle-positions.ropidgtfs.checkForNewData
|
|
47
|
+
- rabin `0 35 5,12 * * *`
|
|
48
|
+
- prod `0 50 5,12 * * *`
|
|
49
|
+
- názvy rabbitmq front
|
|
50
|
+
- vehicle-positions.ropidgtfs.checkForNewData
|
|
51
|
+
- vehicle-positions.ropidgtfs.downloadDatasets se zprávou `["PID_GTFS"]`
|
|
52
|
+
|
|
53
|
+
#### _CIS zastávkový číselník_
|
|
54
|
+
|
|
55
|
+
- identifikátor: CIS_STOPS
|
|
56
|
+
- zdroj dat
|
|
57
|
+
- cesta: /PUBLIC/ZASTAVKY/JSON (config.datasources.RopidGTFSCisStopsPath)
|
|
58
|
+
- soubory:
|
|
59
|
+
- Stops.Min.json (config.datasources.RopidGTFSCisStopsFilename)
|
|
60
|
+
- formát dat
|
|
61
|
+
- protokol: ftp
|
|
62
|
+
- datový typ: json
|
|
63
|
+
- validační schéma: [datasourceJsonSchema](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/schema-definitions/ropid-gtfs/RopidGTFSCisStops.ts#L31)
|
|
64
|
+
- příklad vstupnich dat https://gitlab.com/operator-ict/golemio/code/modules/pid/-/snippets/2462390
|
|
65
|
+
- frekvence stahování
|
|
66
|
+
- cron definice:
|
|
67
|
+
- viz GTFS jízdní řády
|
|
68
|
+
- názvy rabbitmq front
|
|
69
|
+
- vehicle-positions.ropidgtfs.checkForNewData
|
|
70
|
+
- vehicle-positions.ropidgtfs.downloadDatasets se zprávou `["CIS_STOPS"]`
|
|
71
|
+
|
|
72
|
+
#### _OIS mapovací číselník pro tramvaje_
|
|
73
|
+
|
|
74
|
+
_:warning: Původním záměrem bylo využití OIS číselníku během zpracování poloh tramvají z MPVNETU. Momentálně zůstavá nevyužit, v budoucnu bude smazán_
|
|
75
|
+
|
|
76
|
+
- identifikátor: OIS_MAPPING
|
|
77
|
+
- zdroj dat
|
|
78
|
+
- cesta: / (config.datasources.RopidGTFSOisPath)
|
|
79
|
+
- soubory:
|
|
80
|
+
- oisMapping.json (config.datasources.RopidGTFSOisFilename)
|
|
81
|
+
- formát dat
|
|
82
|
+
- protokol: ftp
|
|
83
|
+
- datový typ: json
|
|
84
|
+
- validační schéma: [datasourceJsonSchema](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/schema-definitions/ropid-gtfs/RopidGTFSOisMapping.ts#L13)
|
|
85
|
+
- příklad vstupnich dat
|
|
86
|
+
```json
|
|
87
|
+
[
|
|
88
|
+
{
|
|
89
|
+
"ois": 5067,
|
|
90
|
+
"node": 67,
|
|
91
|
+
"name": "Čechovo náměstí"
|
|
92
|
+
}
|
|
93
|
+
]
|
|
94
|
+
```
|
|
95
|
+
- frekvence stahování
|
|
96
|
+
- cron definice:
|
|
97
|
+
- viz GTFS jízdní řády
|
|
98
|
+
- názvy rabbitmq front
|
|
99
|
+
- vehicle-positions.ropidgtfs.checkForNewData
|
|
100
|
+
- vehicle-positions.ropidgtfs.downloadDatasets se zprávou `["OIS_MAPPING"]`
|
|
101
|
+
|
|
102
|
+
#### _Oběhy vozidel_
|
|
103
|
+
|
|
104
|
+
- identifikátor: RUN_NUMBERS
|
|
105
|
+
- zdroj dat
|
|
106
|
+
- cesta: / (config.datasources.RopidGTFSRunNumbersPath)
|
|
107
|
+
- soubory:
|
|
108
|
+
- obehy.csv (config.datasources.RopidGTFSRunNumbersFilename)
|
|
109
|
+
- formát dat
|
|
110
|
+
- protokol: ftp
|
|
111
|
+
- datový typ: csv
|
|
112
|
+
- validační schéma: [datasourceJsonSchema](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/schema-definitions/ropid-gtfs/RopidGTFSRunNumbers.ts#L19)
|
|
113
|
+
- příklad vstupnich dat
|
|
114
|
+
```csv
|
|
115
|
+
route_id,run_number,service_id,trip_id,vehicle_type
|
|
116
|
+
L991,1,1111100-1,991_1342_220901,3
|
|
117
|
+
L991,1,1111100-1,991_1343_220901,3
|
|
118
|
+
```
|
|
119
|
+
- frekvence stahování
|
|
120
|
+
- cron definice:
|
|
121
|
+
- viz GTFS jízdní řády
|
|
122
|
+
- názvy rabbitmq front
|
|
123
|
+
- vehicle-positions.ropidgtfs.checkForNewData
|
|
124
|
+
- vehicle-positions.ropidgtfs.downloadDatasets se zprávou `["RUN_NUMBERS"]`
|
|
125
|
+
|
|
126
|
+
#### _Presets definice pro zkracovač URL_
|
|
127
|
+
|
|
128
|
+
- identifikátor: DEPARTURES_PRESETS
|
|
129
|
+
- zdroj dat
|
|
130
|
+
- cesta: / (config.datasources.RopidDeparturesPresetsPath)
|
|
131
|
+
- soubory:
|
|
132
|
+
- presets.json (config.datasources.RopidDeparturesPresetsFilename)
|
|
133
|
+
- formát dat
|
|
134
|
+
- protokol: ftp
|
|
135
|
+
- datový typ: json
|
|
136
|
+
- validační schéma: [outputPresetsJsonSchema](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/schema-definitions/ropid-departures-presets/RopidDeparturesPresetsOutputSchemas.ts)
|
|
137
|
+
- příklad vstupnich dat: [ropiddeparturespresets-data.json](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/test/integration-engine/ropid-gtfs/data/ropiddeparturespresets-data.json)
|
|
138
|
+
- frekvence stahování
|
|
139
|
+
- cron definice:
|
|
140
|
+
- cron.vehicle-positions.ropidgtfs.checkForNewDeparturesPresets
|
|
141
|
+
- rabin `15 */4 * * * *`
|
|
142
|
+
- prod `15 */4 * * * *`
|
|
143
|
+
- názvy rabbitmq front
|
|
144
|
+
- vehicle-positions.ropidgtfs.checkForNewDeparturesPresets
|
|
145
|
+
- vehicle-positions.ropidgtfs.downloadDeparturesPresets
|
|
146
|
+
|
|
147
|
+
#### _VYMI výluky a mimořádnosti_
|
|
148
|
+
|
|
149
|
+
- zdroj dat
|
|
150
|
+
- url: https://vymipid.ropid.cz/ws/list_publ (config.datasources.RopidVYMIApiUrl)
|
|
151
|
+
- parametry dotazu: config.datasources.RopidVYMIApiHeaders
|
|
152
|
+
- formát dat
|
|
153
|
+
- protokol: http
|
|
154
|
+
- datový typ: json
|
|
155
|
+
- validační schéma: [datasourceJsonSchema](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/schema-definitions/ropid-vymi/index.ts#L62)
|
|
156
|
+
- příklad vstupnich dat: [ropidvymi-datasource.json](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/test/integration-engine/ropid-vymi/data/ropidvymi-datasource.json)
|
|
157
|
+
- frekvence stahování
|
|
158
|
+
- cron definice:
|
|
159
|
+
- cron.vehicle-positions.ropidvymi.checkForNewEvents
|
|
160
|
+
- rabin `*/30 * * * * *`
|
|
161
|
+
- prod `*/30 * * * * *`
|
|
162
|
+
- názvy rabbitmq front
|
|
163
|
+
- vehicle-positions.ropidvymi.checkForNewEvents
|
|
164
|
+
|
|
165
|
+
#### _Ukazatelé směru jízdy_
|
|
166
|
+
|
|
167
|
+
- zdroj dat
|
|
168
|
+
- pomocná statická data
|
|
169
|
+
- data nahrávány přímo do tabulky https://gitlab.com/operator-ict/golemio/code/modules/pid/-/snippets/2462793
|
|
170
|
+
- formát dat
|
|
171
|
+
- datový typ: sql
|
|
172
|
+
- validační schéma: [outputDeparturesDirectionsJsonSchema](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/schema-definitions/ropid-departures-directions/RopidDeparturesDirectionsOutputSchemas.ts#L1)
|
|
173
|
+
- příklad vstupnich dat: viz zdroj dat
|
|
174
|
+
- frekvence stahování
|
|
175
|
+
- manuální refresh dat
|
|
176
|
+
- název rabbitmq fronty
|
|
177
|
+
- neexistuje
|
|
178
|
+
|
|
179
|
+
#### _Kolejové obvody pro metro_
|
|
180
|
+
|
|
181
|
+
- zdroj dat
|
|
182
|
+
- soubor: statická data dodává ROPID [metro_railtrack_data_route_A.csv](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/static/metro_railtrack_data_route_A.csv)
|
|
183
|
+
- zatím pouze linka A
|
|
184
|
+
- formát dat
|
|
185
|
+
- datový typ: csv
|
|
186
|
+
- validační schéma: [MetroRailtrackDataSchema](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/ropid-gtfs/workers/railtrack/tasks/schema/MetroRailtrackDataSchema.ts)
|
|
187
|
+
- příklad vstupnich dat: viz zdroj dat
|
|
188
|
+
- frekvence stahování
|
|
189
|
+
- manuální refresh dat https://gitlab.com/operator-ict/golemio/code/modules/pid/-/snippets/2431869
|
|
190
|
+
- název rabbitmq fronty
|
|
191
|
+
- vehicle-positions.ropidgtfsrailtrack.saveMetroRailtrackDataToDB
|
|
192
|
+
|
|
193
|
+
### Data nám jsou posílána
|
|
194
|
+
|
|
195
|
+
**Dostupní poskytovatelé**:
|
|
196
|
+
|
|
197
|
+
- MPVNET (Monitorování provozu vozidel) - ROPID + CHAPS
|
|
198
|
+
- autobusy (mimo DPP), trolejbusy, vlaky, přívozy, lanovky
|
|
199
|
+
- TCP zprávy o obězích vozidel - DPP + CHAPS
|
|
200
|
+
- autobusy (pouze DPP) a tramvaje
|
|
201
|
+
- UDP zprávy o obězích vozidel - DPP + CHAPS
|
|
202
|
+
- metro
|
|
203
|
+
|
|
204
|
+
#### _Vehicle Positions_
|
|
205
|
+
|
|
206
|
+
- formát dat
|
|
207
|
+
- protokol: http
|
|
208
|
+
- datový typ: xml
|
|
209
|
+
- validační schéma: [datasourceJsonSchema](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/schema-definitions/vehicle-positions/index.ts#L7)
|
|
210
|
+
- příklad vstupních dat
|
|
211
|
+
```xml
|
|
212
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
213
|
+
<m disp="http://77.93.194.81:8716/api">
|
|
214
|
+
<spoj lin="999999" alias="155" spoj="1" t="3" sled="2" np="true" zrus="false" lat="50.08323" lng="14.51035" cpoz="11:09:06" po="1" zast="56699" zpoz_prij="426" zpoz_odj="426">
|
|
215
|
+
<zast zast="57517" stan="C" prij="" odj="11:00" zpoz_typ="3" zpoz_prij="311" zpoz_odj="311"></zast>
|
|
216
|
+
</spoj>
|
|
217
|
+
</m>
|
|
218
|
+
```
|
|
219
|
+
- endpoint v input-gateway
|
|
220
|
+
- openapi specifikace [/vehiclepositions](https://api.golemio.cz/v2/pid/input/docs/openapi/#/%F0%9F%9B%A4%20Vehicle%20Positions/post_vehiclepositions)
|
|
221
|
+
- nastavení práv v permission-proxy
|
|
222
|
+
- endpoint `/input-gateway/v1/vehiclepositions/spoje`
|
|
223
|
+
- přeposíláno z [produkční data proxy](https://gitlab.com/operator-ict/golemio/devops/infrastructure/-/blob/master/cluster_production/golemio_data-proxy-values.yaml#L65)
|
|
224
|
+
- transformace raw dat
|
|
225
|
+
- zprávy jsou xml body parserem převedeny do jsonu a přeposlány do rabbitmq fronty
|
|
226
|
+
- název rabbitmq fronty
|
|
227
|
+
- vehicle-positions.vehiclepositions.saveDataToDB
|
|
228
|
+
- ukládání raw dat na blob storage
|
|
229
|
+
- název kontejneru: {rabin,golem}-input-gateway
|
|
230
|
+
- cesta: /vehiclepositions/yyyy-MM-dd/HH_mm_ss.SSS.xml
|
|
231
|
+
- agregace dat: není
|
|
232
|
+
- odhadovaná zátěž
|
|
233
|
+
- jednotky až desítky za minutu
|
|
234
|
+
|
|
235
|
+
#### _Vehicle Positions Common Runs_
|
|
236
|
+
|
|
237
|
+
- formát dat
|
|
238
|
+
- protokol: tcp
|
|
239
|
+
- datový typ: xml
|
|
240
|
+
- validační schéma: není, pouze základní kontrola xml v [parserech](https://gitlab.com/operator-ict/golemio/code/tcp-input-gateway/-/tree/development/src/receivers/parsers) a zparsovaných dat ve [VehiclePositionsUtils](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/vehicle-positions/VehiclePositionsUtils.ts#L64)
|
|
241
|
+
- příklad vstupnich dat
|
|
242
|
+
```xml
|
|
243
|
+
<M>
|
|
244
|
+
<V turnus="134/3" line="134" evc="3738" np="ano" lat="50.03952" lng="14.42919" akt="07960001" takt="2022-06-29T17:28:13" konc="01100005" tjr="2022-06-29T17:23:00" pkt="12709236" tm="2022-06-29T17:28:22" events="O" />
|
|
245
|
+
</M>
|
|
246
|
+
```
|
|
247
|
+
- adresa: api.golemio.cz:3003 (tramvaje) a api.golemio.cz:3004 (autobusy)
|
|
248
|
+
- dokumentace tcp receiverů: [transport input gateway#dpp-trams](https://gitlab.com/operator-ict/golemio/code/tcp-input-gateway#dpp-trams), [transport input gateway#dpp-busses](https://gitlab.com/operator-ict/golemio/code/tcp-input-gateway#dpp-busses)
|
|
249
|
+
- řízení přístupů řešeno na síťové úrovni mimo permission proxy
|
|
250
|
+
- přeposíláno z [produkční data proxy](https://gitlab.com/operator-ict/golemio/devops/infrastructure/-/blob/master/cluster_production/golemio_data-proxy-values.yaml#L35)
|
|
251
|
+
- transformace raw dat
|
|
252
|
+
- úplné zprávy jsou knihovnou `xml2js` převedeny do jsonu a přeposlány do rabbitmq fronty
|
|
253
|
+
- implementace tram/bus receiverů je totožná, pouze se zprávy přeposílají do jiných front a ukládají se do jiné složky na blob storage
|
|
254
|
+
- název rabbitmq front
|
|
255
|
+
- vehicle-positions.vehiclepositions.saveTramRunsToDB
|
|
256
|
+
- vehicle-positions.vehiclepositions.saveBusRunsToDB
|
|
257
|
+
- ukládání raw dat na blob storage
|
|
258
|
+
- název kontejneru: {rabin,golem}-input-gateway
|
|
259
|
+
- cesta: /tcp-dpp-{tram,bus}-data/yyyy-MM-dd/HH_mm_ss.SSS.xml
|
|
260
|
+
- agregace dat: 1 MB
|
|
261
|
+
- odhadovaná zátěž
|
|
262
|
+
- tramvaje - desítky zpráv za minutu
|
|
263
|
+
- autobusy - jednotky až desítky zpráv za sekundu
|
|
264
|
+
|
|
265
|
+
#### _Vehicle Positions Metro Runs_
|
|
266
|
+
|
|
267
|
+
- formát dat
|
|
268
|
+
- protokol: udp
|
|
269
|
+
- datový typ: xml
|
|
270
|
+
- validační schéma: základní kontrola xml v [parseru](https://gitlab.com/operator-ict/golemio/code/tcp-input-gateway/-/blob/development/src/receivers/parsers/dpp-metro.parser.ts), validační schéma pro parsovaný json [MetroRunsSchema](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/vehicle-positions/workers/runs/tasks/schema/MetroRunsSchema.ts)
|
|
271
|
+
- příklad vstupnich dat
|
|
272
|
+
```xml
|
|
273
|
+
<m linka="A" tm="2022-07-20T13:45:34Z" gvd="GD20a">
|
|
274
|
+
<vlak csp=" 3" csr=" 3" cv="279" ko="1809" odch="25" />
|
|
275
|
+
</m>
|
|
276
|
+
```
|
|
277
|
+
- adresa: udp.golemio.cz:3005
|
|
278
|
+
- dokumentace udp receiveru: [transport input gateway#dpp-metro](https://gitlab.com/operator-ict/golemio/code/tcp-input-gateway#dpp-metro)
|
|
279
|
+
- řízení přístupů řešeno na síťové úrovni mimo permission proxy
|
|
280
|
+
- přeposíláno z [produkční data proxy](https://gitlab.com/operator-ict/golemio/devops/infrastructure/-/blob/master/cluster_production/golemio_data-proxy-values.yaml#L55)
|
|
281
|
+
- transformace raw dat
|
|
282
|
+
- úplné zprávy jsou knihovnou `xml2js` převedeny do jsonu a přeposlány do rabbitmq fronty
|
|
283
|
+
- název rabbitmq front
|
|
284
|
+
- vehicle-positions.vehiclepositionsruns.saveMetroRunsToDB
|
|
285
|
+
- ukládání raw dat na blob storage
|
|
286
|
+
- název kontejneru: {rabin,golem}-input-gateway
|
|
287
|
+
- cesta: /udp-dpp-metro-data/yyyy-MM-dd/HH_mm_ss.SSS.xml
|
|
288
|
+
- agregace dat: 1 MB
|
|
289
|
+
- odhadovaná zátěž
|
|
290
|
+
- desítky až stovky zpráv za minutu
|
|
291
|
+
|
|
292
|
+
## Zpracování dat / transformace
|
|
293
|
+
|
|
294
|
+
Všechny tabulky se nachází ve schématu `pid`
|
|
295
|
+
|
|
296
|
+
### _RopidGTFSWorker_
|
|
297
|
+
|
|
298
|
+
Worker má na starost kontrolu a aktualizaci všech číselníků
|
|
299
|
+
|
|
300
|
+
#### _checkForNewData()_
|
|
301
|
+
|
|
302
|
+
- vstupní rabbitmq fronta
|
|
303
|
+
- název: vehicle-positions.ropidgtfs.checkForNewData
|
|
304
|
+
- TTL: 19 minut
|
|
305
|
+
- parametry: žádné
|
|
306
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
307
|
+
- název: vehicle-positions.ropidgtfs.downloadDatasets
|
|
308
|
+
- datové zdroje
|
|
309
|
+
- ROPID FTP
|
|
310
|
+
- transformace
|
|
311
|
+
- žádné
|
|
312
|
+
- data modely
|
|
313
|
+
- RopidGTFSMetadataModel `ropidgtfs_metadata`
|
|
314
|
+
|
|
315
|
+
#### _downloadDatasets()_
|
|
316
|
+
|
|
317
|
+
- vstupní rabbitmq fronta
|
|
318
|
+
- název: vehicle-positions.ropidgtfs.downloadDatasets
|
|
319
|
+
- TTL: 59 minut
|
|
320
|
+
- parametry: `["PID_GTFS", "CIS_STOPS", "OIS_MAPPING", "RUN_NUMBERS"]`
|
|
321
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
322
|
+
- název: vehicle-positions.ropidgtfs.transformAndSaveData
|
|
323
|
+
- název: vehicle-positions.ropidgtfs.checkSavedRowsAndReplaceTables
|
|
324
|
+
- datové zdroje
|
|
325
|
+
- ROPID FTP
|
|
326
|
+
- transformace
|
|
327
|
+
- žádné
|
|
328
|
+
- data modely
|
|
329
|
+
- RopidGTFSMetadataModel `ropidgtfs_metadata`
|
|
330
|
+
|
|
331
|
+
#### _transformAndSaveData()_
|
|
332
|
+
|
|
333
|
+
- vstupní rabbitmq fronta
|
|
334
|
+
- název: vehicle-positions.ropidgtfs.transformAndSaveData
|
|
335
|
+
- TTL: 23 hodin
|
|
336
|
+
- parametry: `{ filepath, name, mtime, type, dataset }`
|
|
337
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
338
|
+
- žádné
|
|
339
|
+
- datové zdroje
|
|
340
|
+
- ROPID FTP
|
|
341
|
+
- transformace
|
|
342
|
+
- [RopidGTFSTransformation](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/ropid-gtfs/transformations/RopidGTFSTransformation.ts)
|
|
343
|
+
- [RopidGTFSCisStopsTransformation](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/ropid-gtfs/transformations/RopidGTFSCisStopsTransformation.ts)
|
|
344
|
+
- [RopidGTFSOisMappingTransformation](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/ropid-gtfs/transformations/RopidGTFSOisTransformation.ts)
|
|
345
|
+
- [RopidGTFSRunNumbersTransformation](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/ropid-gtfs/transformations/RopidGTFSRunNumbersTransformation.ts)
|
|
346
|
+
- data modely
|
|
347
|
+
- RopidGTFSMetadataModel `ropidgtfs_metadata`
|
|
348
|
+
- RopidGTFSAgencyModel `ropidgtfs_agency`
|
|
349
|
+
- RopidGTFSCalendarModel `ropidgtfs_calendar`
|
|
350
|
+
- RopidGTFSCalendarDatesModel `ropidgtfs_calendar_dates`
|
|
351
|
+
- RopidGTFSRoutesModel `ropidgtfs_routes`
|
|
352
|
+
- RopidGTFSShapesModel `ropidgtfs_shapes`
|
|
353
|
+
- RopidGTFSStopTimesModel `ropidgtfs_stop_times`
|
|
354
|
+
- RopidGTFSStopsModel `ropidgtfs_stops`
|
|
355
|
+
- RopidGTFSTripsModel `ropidgtfs_trips`
|
|
356
|
+
- RopidGTFSCisStopsModel `ropidgtfs_cis_stops`
|
|
357
|
+
- RopidGTFSCisStopGroupsModel `ropidgtfs_cis_stop_groups`
|
|
358
|
+
- RopidGTFSOisModel `ropidgtfs_ois`
|
|
359
|
+
- RopidGTFSRunNumbersModel `ropidgtfs_run_numbers`
|
|
360
|
+
|
|
361
|
+
#### _checkSavedRowsAndReplaceTables()_
|
|
362
|
+
|
|
363
|
+
- vstupní rabbitmq fronta
|
|
364
|
+
- název: vehicle-positions.ropidgtfs.checkSavedRowsAndReplaceTables
|
|
365
|
+
- TTL: 23 hodin
|
|
366
|
+
- parametry: `["PID_GTFS", "CIS_STOPS", "OIS_MAPPING", "RUN_NUMBERS"]`
|
|
367
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
368
|
+
- název: vehicle-positions.ropidgtfs.downloadDatasets
|
|
369
|
+
- datové zdroje
|
|
370
|
+
- ROPID FTP
|
|
371
|
+
- transformace
|
|
372
|
+
- žádné
|
|
373
|
+
- data modely
|
|
374
|
+
- RopidGTFSMetadataModel `ropidgtfs_metadata`
|
|
375
|
+
- RopidGTFSAgencyModel `ropidgtfs_agency`
|
|
376
|
+
- RopidGTFSCalendarModel `ropidgtfs_calendar`
|
|
377
|
+
- RopidGTFSCalendarDatesModel `ropidgtfs_calendar_dates`
|
|
378
|
+
- RopidGTFSRoutesModel `ropidgtfs_routes`
|
|
379
|
+
- RopidGTFSShapesModel `ropidgtfs_shapes`
|
|
380
|
+
- RopidGTFSStopTimesModel `ropidgtfs_stop_times`
|
|
381
|
+
- RopidGTFSStopsModel `ropidgtfs_stops`
|
|
382
|
+
- RopidGTFSTripsModel `ropidgtfs_trips`
|
|
383
|
+
- RopidGTFSCisStopsModel `ropidgtfs_cis_stops`
|
|
384
|
+
- RopidGTFSCisStopGroupsModel `ropidgtfs_cis_stop_groups`
|
|
385
|
+
- RopidGTFSOisModel `ropidgtfs_ois`
|
|
386
|
+
- RopidGTFSRunNumbersModel `ropidgtfs_run_numbers`
|
|
387
|
+
- RopidGTFSServicesModel `ropidgtfs_services_first14days`
|
|
388
|
+
- RopidGTFSTripsMinMaxSequencesModel `ropidgtfs_trips_minmaxsequences`
|
|
389
|
+
- RopidGTFSDeparturesModel `ropidgtfs_departures`
|
|
390
|
+
- RopidGTFSScheduledTripsModel `ropidgtfs_scheduled_trips`
|
|
391
|
+
|
|
392
|
+
#### _checkForNewDeparturesPresets()_
|
|
393
|
+
|
|
394
|
+
- vstupní rabbitmq fronta
|
|
395
|
+
- název: vehicle-positions.ropidgtfs.checkForNewDeparturesPresets
|
|
396
|
+
- TTL: 4 minuty
|
|
397
|
+
- parametry: žádné
|
|
398
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
399
|
+
- název: vehicle-positions.ropidgtfs.downloadDeparturesPresets
|
|
400
|
+
- datové zdroje
|
|
401
|
+
- ROPID FTP
|
|
402
|
+
- transformace
|
|
403
|
+
- žádné
|
|
404
|
+
- data modely
|
|
405
|
+
- RopidGTFSMetadataModel `ropidgtfs_metadata`
|
|
406
|
+
|
|
407
|
+
#### _downloadDeparturesPresets()_
|
|
408
|
+
|
|
409
|
+
- vstupní rabbitmq fronta
|
|
410
|
+
- název: vehicle-positions.ropidgtfs.downloadDeparturesPresets
|
|
411
|
+
- TTL: 4 minuty
|
|
412
|
+
- parametry: žádné
|
|
413
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
414
|
+
- žádné
|
|
415
|
+
- datové zdroje
|
|
416
|
+
- ROPID FTP
|
|
417
|
+
- transformace
|
|
418
|
+
- [RopidDeparturesPresetsTransformation](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/ropid-gtfs/transformations/RopidDeparturesPresetsTransformation.ts)
|
|
419
|
+
- data modely
|
|
420
|
+
- RopidGTFSMetadataModel `ropidgtfs_metadata`,
|
|
421
|
+
- RopidDeparturesDirectionsModel `ropid_departures_directions`
|
|
422
|
+
|
|
423
|
+
### _RailtrackWorker_
|
|
424
|
+
|
|
425
|
+
Worker má na starost aktualizaci kolejových obvodů
|
|
426
|
+
|
|
427
|
+
#### _task: SaveMetroRailtrackDataToDBTask_
|
|
428
|
+
|
|
429
|
+
- vstupní rabbitmq fronta
|
|
430
|
+
- název: vehicle-positions.ropidgtfsrailtrack.saveMetroRailtrackDataToDB
|
|
431
|
+
- TTL: 5 minut
|
|
432
|
+
- parametry: `{ data: [{ track_section, line, gps_lat, gps_lon, stop_id }] }`
|
|
433
|
+
- validační schéma: [MetroRailtrackDataSchema](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/ropid-gtfs/workers/railtrack/tasks/schema/MetroRailtrackDataSchema.ts)
|
|
434
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
435
|
+
- žádné
|
|
436
|
+
- datové zdroje
|
|
437
|
+
- statická data dodává ROPID
|
|
438
|
+
- transformace
|
|
439
|
+
- [MetroRailtrackDataTransformation](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/ropid-gtfs/workers/railtrack/tasks/transformations/MetroRailtrackDataTransformation.ts)
|
|
440
|
+
- data modely
|
|
441
|
+
- MetroRailtrackGPSModel `ropidgtfs_metro_railtrack_gps`
|
|
442
|
+
|
|
443
|
+
### _RopidVYMIWorker_
|
|
444
|
+
|
|
445
|
+
Worker má na starost přípravu podkladových dat pro infotexty pro odjezdové tabule a GTFS real-time alerty
|
|
446
|
+
|
|
447
|
+
#### _task: CheckForNewEventsTask_
|
|
448
|
+
|
|
449
|
+
- vstupní rabbitmq fronta
|
|
450
|
+
- název: vehicle-positions.ropidvymi.checkForNewEvents
|
|
451
|
+
- TTL: 1 minuta
|
|
452
|
+
- parametry: žádné
|
|
453
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
454
|
+
- název: vehicle-positions.ropidvymi.fetchAndProcessEvents
|
|
455
|
+
- datové zdroje
|
|
456
|
+
- ROPID VYMI
|
|
457
|
+
- transformace
|
|
458
|
+
- žádné
|
|
459
|
+
- data modely
|
|
460
|
+
- RopidVYMIMetadataModel `ropidvymi_metadata`
|
|
461
|
+
|
|
462
|
+
#### _task: FetchAndProcessEventsTask_
|
|
463
|
+
|
|
464
|
+
- vstupní rabbitmq fronta
|
|
465
|
+
- název: vehicle-positions.ropidvymi.fetchAndProcessEvents
|
|
466
|
+
- TTL: 1 minuta
|
|
467
|
+
- parametry: `{ digest, data }`
|
|
468
|
+
- validační schéma: [EventFetchOutputValidationSchema](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/ropid-vymi/workers/tasks/schema/EventFetchOutputValidationSchema.ts)
|
|
469
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
470
|
+
- žádné
|
|
471
|
+
- datové zdroje
|
|
472
|
+
- ROPID VYMI
|
|
473
|
+
- transformace
|
|
474
|
+
- [RopidVYMIEventsTransformation](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/ropid-vymi/RopidVYMIEventsTransformation.ts)
|
|
475
|
+
- data modely
|
|
476
|
+
- RopidVYMIMetadataModel `ropidvymi_metadata`
|
|
477
|
+
- RopidVYMIEventsModel `ropidvymi_events`
|
|
478
|
+
- RopidVYMIEventsRoutesModel `ropidvymi_events_routes`
|
|
479
|
+
- RopidVYMIEventsStopsModel `ropidvymi_events_stops`
|
|
480
|
+
|
|
481
|
+
### _VehiclePositionsWorker_
|
|
482
|
+
|
|
483
|
+
Worker má na starost zpracování a transformaci polohových dat, výpočet zpoždění a přípravu GTFS real-time výstupních dat
|
|
484
|
+
|
|
485
|
+
_:warning: Stávající funkcionalita bude postupně refactorována a přesunuta do separátních tasků u VPWorkeru a RunsWorkeru_
|
|
486
|
+
|
|
487
|
+
#### _saveDataToDB()_
|
|
488
|
+
|
|
489
|
+
- vstupní rabbitmq fronta
|
|
490
|
+
- název: vehicle-positions.vehiclepositions.saveDataToDB
|
|
491
|
+
- TTL: 5 minut
|
|
492
|
+
- parametry: `{ $, zast }`
|
|
493
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
494
|
+
- název: vehicle-positions.vehiclepositions.updateGTFSTripId
|
|
495
|
+
- datové zdroje
|
|
496
|
+
- MPVNET
|
|
497
|
+
- transformace
|
|
498
|
+
- [VehiclePositionsTransformation](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/vehicle-positions/transformations/VehiclePositionsTransformation.ts)
|
|
499
|
+
- data modely
|
|
500
|
+
- VehiclePositionsTripsModel `vehiclepositions_trips`
|
|
501
|
+
|
|
502
|
+
#### _updateGTFSTripId()_
|
|
503
|
+
|
|
504
|
+
- vstupní rabbitmq fronta
|
|
505
|
+
- název: vehicle-positions.vehiclepositions.updateGTFSTripId
|
|
506
|
+
- TTL: 5 minut
|
|
507
|
+
- parametry: `{ trips, positions }`
|
|
508
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
509
|
+
- název: vehicle-positions.vehiclepositions.updateDelay
|
|
510
|
+
- datové zdroje
|
|
511
|
+
- MPVNET
|
|
512
|
+
- transformace
|
|
513
|
+
- žádné
|
|
514
|
+
- data modely
|
|
515
|
+
- RopidGTFSScheduledTripsModel `ropidgtfs_scheduled_trips`
|
|
516
|
+
- VehiclePositionsPositionsModel `vehiclepositions_positions`
|
|
517
|
+
|
|
518
|
+
#### _updateDelay()_
|
|
519
|
+
|
|
520
|
+
- vstupní rabbitmq fronta
|
|
521
|
+
- název: vehicle-positions.vehiclepositions.updateDelay
|
|
522
|
+
- TTL: 5 minut
|
|
523
|
+
- parametry: `{ updatedTrips, positions, schedule }`
|
|
524
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
525
|
+
- název: vehicle-positions.vehiclepositions.propagateDelay
|
|
526
|
+
- datové zdroje
|
|
527
|
+
- MPVNET, CHAPS TCP + UDP
|
|
528
|
+
- transformace
|
|
529
|
+
- determinace pozic tripů v rámci jednoho GTFS block id (platí pouze pro některé vlakové linky)
|
|
530
|
+
- [PositionsManager.computePositions](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/vehicle-positions/helpers/PositionsManager.ts#L32): obohacení pozicových dat, aproximace pozice, dopočet zpoždění
|
|
531
|
+
- data modely
|
|
532
|
+
- VehiclePositionsTripsModel `vehiclepositions_trips`
|
|
533
|
+
- VehiclePositionsPositionsModel `vehiclepositions_positions`
|
|
534
|
+
|
|
535
|
+
#### _propagateDelay()_
|
|
536
|
+
|
|
537
|
+
- vstupní rabbitmq fronta
|
|
538
|
+
- název: vehicle-positions.vehiclepositions.propagateDelay
|
|
539
|
+
- TTL: 5 minut
|
|
540
|
+
- parametry: `{ processedPositions, trips }`
|
|
541
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
542
|
+
- žádné
|
|
543
|
+
- datové zdroje
|
|
544
|
+
- MPVNET, CHAPS TCP + UDP
|
|
545
|
+
- transformace
|
|
546
|
+
- [mapDelayedPositionsToRunTrips](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/vehicle-positions/VehiclePositionsWorker.ts#L449): transformace výstupních pozic z updateDelay na oběhy
|
|
547
|
+
- [propagateDelayForGtfsTrip](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/vehicle-positions/VehiclePositionsWorker.ts#L475): přepočet zpoždění u spojů se zpožděním před tratí
|
|
548
|
+
- VehiclePositionsPositionsModel `vehiclepositions_positions`
|
|
549
|
+
|
|
550
|
+
#### _saveTramRunsToDB()_
|
|
551
|
+
|
|
552
|
+
- vstupní rabbitmq fronta
|
|
553
|
+
- název: vehicle-positions.vehiclepositions.saveTramRunsToDB
|
|
554
|
+
- TTL: 10 minut
|
|
555
|
+
- parametry: `{ M: V: $[] }`
|
|
556
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
557
|
+
- název: vehicle-positions.vehiclepositions.updateRunsGTFSTripId
|
|
558
|
+
- datové zdroje
|
|
559
|
+
- CHAPS TCP
|
|
560
|
+
- transformace
|
|
561
|
+
- [VehiclePositionsRunsTransformation](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/vehicle-positions/transformations/VehiclePositionsRunsTransformation.ts)
|
|
562
|
+
- data modely
|
|
563
|
+
- VehiclePositionsRunsModel `vehiclepositions_runs`
|
|
564
|
+
- VehiclePositionsRunsMessagesModel `vehiclepositions_runs_messages`
|
|
565
|
+
|
|
566
|
+
#### _saveBusRunsToDB()_
|
|
567
|
+
|
|
568
|
+
- vstupní rabbitmq fronta
|
|
569
|
+
- název: vehicle-positions.vehiclepositions.saveBusRunsToDB
|
|
570
|
+
- TTL: 5 minut
|
|
571
|
+
- parametry: `{ M: V: $[] }`
|
|
572
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
573
|
+
- název: vehicle-positions.vehiclepositions.updateRunsGTFSTripId
|
|
574
|
+
- datové zdroje
|
|
575
|
+
- CHAPS TCP
|
|
576
|
+
- transformace
|
|
577
|
+
- [VehiclePositionsRunsTransformation](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/vehicle-positions/transformations/VehiclePositionsRunsTransformation.ts)
|
|
578
|
+
- data modely
|
|
579
|
+
- VehiclePositionsRunsModel `vehiclepositions_runs`
|
|
580
|
+
- VehiclePositionsRunsMessagesModel `vehiclepositions_runs_messages`
|
|
581
|
+
|
|
582
|
+
#### _updateRunsGTFSTripId()_
|
|
583
|
+
|
|
584
|
+
- vstupní rabbitmq fronta
|
|
585
|
+
- název: vehicle-positions.vehiclepositions.updateRunsGTFSTripId
|
|
586
|
+
- TTL: 5 minut
|
|
587
|
+
- parametry: `{ run, run_message }`
|
|
588
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
589
|
+
- název: vehicle-positions.vehiclepositions.updateDelay
|
|
590
|
+
- datové zdroje
|
|
591
|
+
- CHAPS TCP
|
|
592
|
+
- transformace
|
|
593
|
+
- oběh a nalezené GTFS scheduled trips se transformují na trips [VPTripsMapper.mapCommonRunToDto](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/vehicle-positions/models/helpers/VPTripsMapper.ts) a pozice [VPPositionsMapper.mapCommonRunToDto](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/vehicle-positions/models/helpers/VPPositionsMapper.ts) pro frontu `vehiclepositions.updateDelay`
|
|
594
|
+
- data modely
|
|
595
|
+
- RopidGTFSScheduledTripsModel `ropidgtfs_scheduled_trips`
|
|
596
|
+
- VehiclePositionsTripsModel `vehiclepositions_trips`
|
|
597
|
+
- VehiclePositionsPositionsModel `vehiclepositions_positions`
|
|
598
|
+
|
|
599
|
+
#### _generateGtfsRt()_
|
|
600
|
+
|
|
601
|
+
- vstupní rabbitmq fronta
|
|
602
|
+
- název: vehicle-positions.vehiclepositions.generateGtfsRt
|
|
603
|
+
- TTL: 29 sekund
|
|
604
|
+
- parametry: žádné
|
|
605
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
606
|
+
- žádné
|
|
607
|
+
- datové zdroje
|
|
608
|
+
- MPVNET, CHAPS TCP + UDP, ROPID FTP, ROPID VYMI
|
|
609
|
+
- transformace
|
|
610
|
+
- žádné
|
|
611
|
+
- data modely
|
|
612
|
+
- RopidGTFSStopTimesModel `ropidgtfs_stop_times`
|
|
613
|
+
- RopidVYMIEventsModel `ropidvymi_events`
|
|
614
|
+
- VehiclePositionsTripsModel `vehiclepositions_trips`
|
|
615
|
+
- VehiclePositionsPositionsModel `vehiclepositions_positions`
|
|
616
|
+
|
|
617
|
+
#### _deleteOldVehiclePositionsData()_
|
|
618
|
+
|
|
619
|
+
- vstupní rabbitmq fronta
|
|
620
|
+
- název: vehicle-positions.vehiclepositions.deleteOldVehiclePositionsData
|
|
621
|
+
- TTL: 29 minut
|
|
622
|
+
- parametry: `{ targetHours }`
|
|
623
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
624
|
+
- žádné
|
|
625
|
+
- datové zdroje
|
|
626
|
+
- MPVNET, CHAPS TCP
|
|
627
|
+
- transformace
|
|
628
|
+
- žádné
|
|
629
|
+
- data modely
|
|
630
|
+
- VehiclePositionsTripsModel `vehiclepositions_trips`
|
|
631
|
+
- VehiclePositionsTripsHistoryModel `vehiclepositions_trips_history`
|
|
632
|
+
- VehiclePositionsPositionsModel `vehiclepositions_positions`
|
|
633
|
+
- VehiclePositionsPositionsHistoryModel `vehiclepositions_positions_history`
|
|
634
|
+
- VehiclePositionsRunsModel `vehiclepositions_runs`
|
|
635
|
+
|
|
636
|
+
### _VPWorker_
|
|
637
|
+
|
|
638
|
+
Nová implementace VehiclePositionsWorkeru
|
|
639
|
+
|
|
640
|
+
#### _task: DataRetentionTask_
|
|
641
|
+
|
|
642
|
+
- vstupní rabbitmq fronta
|
|
643
|
+
- název: vehicle-positions.vehiclepositions.dataRetention
|
|
644
|
+
- TTL: 10 minut
|
|
645
|
+
- parametry: žádné
|
|
646
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
647
|
+
- žádné
|
|
648
|
+
- datové zdroje
|
|
649
|
+
- MPVNET, CHAPS TCP + UDP
|
|
650
|
+
- transformace
|
|
651
|
+
- žádné
|
|
652
|
+
- data modely
|
|
653
|
+
- VehiclePositionsPositionsModel `vehiclepositions_positions`
|
|
654
|
+
- VehiclePositionsPositionsHistoryModel `vehiclepositions_positions_history`
|
|
655
|
+
- VehiclePositionsTripsModel `vehiclepositions_trips`
|
|
656
|
+
- VehiclePositionsTripsHistoryModel `vehiclepositions_trips_history`
|
|
657
|
+
|
|
658
|
+
### _RunsWorker_
|
|
659
|
+
|
|
660
|
+
Worker má na starost zpracování a transformaci UDP oběhů
|
|
661
|
+
|
|
662
|
+
#### _task: SaveMetroRunsToDBTask_
|
|
663
|
+
|
|
664
|
+
- vstupní rabbitmq fronta
|
|
665
|
+
- název: vehicle-positions.vehiclepositionsruns.saveMetroRunsToDB
|
|
666
|
+
- TTL: 3 minuty
|
|
667
|
+
- parametry: `{ m: { $, vlak } }`
|
|
668
|
+
- validační schéma: [MetroRunsSchema](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/vehicle-positions/workers/runs/tasks/schema/MetroRunsSchema.ts)
|
|
669
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
670
|
+
- název: vehicle-positions.vehiclepositionsruns.processMetroRunMessages
|
|
671
|
+
- datové zdroje
|
|
672
|
+
- CHAPS UDP
|
|
673
|
+
- transformace
|
|
674
|
+
- [MetroRunsMessagesTransformation](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/vehicle-positions/workers/runs/tasks/transformations/MetroRunsMessagesTransformation.ts)
|
|
675
|
+
- data modely
|
|
676
|
+
- MetroRunsMessagesModel `vehiclepositions_metro_runs_messages`
|
|
677
|
+
|
|
678
|
+
#### _task: ProcessMetroRunsMessagesTask_
|
|
679
|
+
|
|
680
|
+
- vstupní rabbitmq fronta
|
|
681
|
+
- název: vehicle-positions.vehiclepositionsruns.processMetroRunMessages
|
|
682
|
+
- TTL: 10 minut
|
|
683
|
+
- parametry: `{ routeName, messages }`
|
|
684
|
+
- validační schéma: [MetroTransformedRunsSchema](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/vehicle-positions/workers/runs/tasks/schema/MetroTransformedRunsSchema.ts)
|
|
685
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
686
|
+
- název: vehicle-positions.vehiclepositions.updateDelay
|
|
687
|
+
- datové zdroje
|
|
688
|
+
- CHAPS UDP
|
|
689
|
+
- transformace
|
|
690
|
+
- [MetroRunsMessageProcessingTransformation](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/vehicle-positions/workers/runs/tasks/transformations/MetroRunsMessageProcessingTransformation.ts), dále se oběhy a nalezené GTFS scheduled trips transformují na trips [VPTripsMapper.mapMetroRunToDto](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/vehicle-positions/models/helpers/VPTripsMapper.ts) a pozice [VPPositionsMapper.mapMetroRunToDto](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/vehicle-positions/models/helpers/VPPositionsMapper.ts) pro frontu `vehiclepositions.updateDelay`
|
|
691
|
+
- data modely
|
|
692
|
+
- MetroRailtrackGPSModel `ropidgtfs_metro_railtrack_gps`
|
|
693
|
+
- RopidGTFSScheduledTripsModel `ropidgtfs_scheduled_trips`
|
|
694
|
+
- VehiclePositionsPositionsModel `vehiclepositions_positions`
|
|
695
|
+
- VehiclePositionsTripsModel `vehiclepositions_trips`
|
|
696
|
+
- VehiclePositionsRunsModel `vehiclepositions_runs`
|
|
697
|
+
|
|
698
|
+
#### _task: DeleteDataTask_
|
|
699
|
+
|
|
700
|
+
- vstupní rabbitmq fronta
|
|
701
|
+
- název: vehicle-positions.vehiclepositionsruns.deleteData
|
|
702
|
+
- TTL: 1 hodina
|
|
703
|
+
- parametry: `{ targetHours }`
|
|
704
|
+
- validační schéma: [DataDeletionSchema](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/src/integration-engine/vehicle-positions/workers/runs/tasks/schema/DataDeletionSchema.ts)
|
|
705
|
+
- závislé fronty (do kterých jsou odesílány zprávy z metody workeru)
|
|
706
|
+
- žádné
|
|
707
|
+
- datové zdroje
|
|
708
|
+
- CHAPS UDP
|
|
709
|
+
- transformace
|
|
710
|
+
- žádné
|
|
711
|
+
- data modely
|
|
712
|
+
- MetroRunsMessagesModel `vehiclepositions_metro_runs_messages`
|
|
713
|
+
|
|
714
|
+
## Uložení dat
|
|
715
|
+
|
|
716
|
+
- typ databáze
|
|
717
|
+
- PSQL
|
|
718
|
+
- databázové schéma
|
|
719
|
+
- GTFS JŘ
|
|
720
|
+

|
|
721
|
+
- GTFS statické a předpočítatné tabulky
|
|
722
|
+

|
|
723
|
+
- VYMI
|
|
724
|
+

|
|
725
|
+
- Polohy vozů
|
|
726
|
+

|
|
727
|
+
- retence dat
|
|
728
|
+
- jízdní řády se generují 1-2x denně na 14 dní dopředu
|
|
729
|
+
- polohová data si uchováváme 8 hodin
|
|
730
|
+
|
|
731
|
+
## Input API
|
|
732
|
+
|
|
733
|
+
### Obecné
|
|
734
|
+
|
|
735
|
+
- OpenAPI v3 dokumentace
|
|
736
|
+
- zdrojový soubor: [openapi-input.yaml](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/docs/openapi-input.yaml)
|
|
737
|
+
- rabin: https://rabin.golemio.cz/v2/pid/input/docs/openapi/
|
|
738
|
+
- golem: https://api.golemio.cz/v2/pid/input/docs/openapi/
|
|
739
|
+
- api je neveřejné
|
|
740
|
+
- postman kolekce
|
|
741
|
+
- TBD
|
|
742
|
+
|
|
743
|
+
### Vehicle Positions
|
|
744
|
+
|
|
745
|
+
#### _/vehiclepositions_
|
|
746
|
+
|
|
747
|
+
- cílová rabbitmq fronta
|
|
748
|
+
- vehicle-positions.vehiclepositions.saveDataToDB
|
|
749
|
+
- data nám pravidelně přichází z MPVNETu
|
|
750
|
+
|
|
751
|
+
## Output API
|
|
752
|
+
|
|
753
|
+
### Obecné
|
|
754
|
+
|
|
755
|
+
- OpenAPI v3 dokumentace
|
|
756
|
+
- zdrojový soubor: [openapi-output.yaml](https://gitlab.com/operator-ict/golemio/code/modules/pid/-/blob/development/docs/openapi-output.yaml)
|
|
757
|
+
- rabin: https://rabin.golemio.cz/v2/pid/docs/openapi/
|
|
758
|
+
- golem: https://api.golemio.cz/v2/pid/docs/openapi/
|
|
759
|
+
- real-time data jsou veřejná, zbývající endpointy jsou k dispozici všem registrovaným uživatelům
|
|
760
|
+
- postman kolekce
|
|
761
|
+
- TBD
|
|
762
|
+
|
|
763
|
+
### GTFS
|
|
764
|
+
|
|
765
|
+
#### _/gtfs/services_
|
|
766
|
+
|
|
767
|
+
- zdrojové tabulky
|
|
768
|
+
- `ropidgtfs_calendar`
|
|
769
|
+
|
|
770
|
+
#### _/gtfs/routes_
|
|
771
|
+
|
|
772
|
+
- zdrojové tabulky
|
|
773
|
+
- `ropidgtfs_routes`
|
|
774
|
+
|
|
775
|
+
#### _/gtfs/routes/{id}_
|
|
776
|
+
|
|
777
|
+
- zdrojové tabulky
|
|
778
|
+
- `ropidgtfs_routes`
|
|
779
|
+
|
|
780
|
+
#### _/gtfs/trips_
|
|
781
|
+
|
|
782
|
+
- zdrojové tabulky
|
|
783
|
+
- `ropidgtfs_trips`, `ropidgtfs_stop_times`, `ropidgtfs_calendar`
|
|
784
|
+
|
|
785
|
+
#### _/gtfs/trips/{id}_
|
|
786
|
+
|
|
787
|
+
- zdrojové tabulky
|
|
788
|
+
- `ropidgtfs_trips`, `ropidgtfs_stop_times`, `ropidgtfs_stops`, `ropidgtfs_shapes`, `ropidgtfs_calendar`, `ropidgtfs_routes`
|
|
789
|
+
|
|
790
|
+
#### _/gtfs/shapes/{id}_
|
|
791
|
+
|
|
792
|
+
- zdrojové tabulky
|
|
793
|
+
- `ropidgtfs_shapes`
|
|
794
|
+
|
|
795
|
+
#### _/gtfs/stops_
|
|
796
|
+
|
|
797
|
+
- zdrojové tabulky
|
|
798
|
+
- `ropidgtfs_stops`, `ropidgtfs_cis_stops`
|
|
799
|
+
- dodatečná transformace: Feature collection
|
|
800
|
+
|
|
801
|
+
#### _/gtfs/stops/{id}_
|
|
802
|
+
|
|
803
|
+
- zdrojové tabulky
|
|
804
|
+
- `ropidgtfs_stops`, `ropidgtfs_cis_stops`
|
|
805
|
+
- dodatečná transformace: Feature
|
|
806
|
+
|
|
807
|
+
#### _/gtfs/stoptimes/{id}_
|
|
808
|
+
|
|
809
|
+
- zdrojové tabulky
|
|
810
|
+
- `ropidgtfs_stop_times`, `ropidgtfs_stops`, `ropidgtfs_calendar`, `ropidgtfs_trips`
|
|
811
|
+
|
|
812
|
+
### Vehicle Positions
|
|
813
|
+
|
|
814
|
+
#### _/vehiclepositions_
|
|
815
|
+
|
|
816
|
+
- zdrojové tabulky
|
|
817
|
+
- `vehiclepositions_positions`, `vehiclepositions_trips`, `vehiclepositions_vehicle_types`
|
|
818
|
+
- dodatečná transformace: Feature collection
|
|
819
|
+
|
|
820
|
+
#### _/vehiclepositions/{gtfsTripId}_
|
|
821
|
+
|
|
822
|
+
- zdrojové tabulky
|
|
823
|
+
- `vehiclepositions_positions`, `vehiclepositions_trips`, `vehiclepositions_vehicle_types`
|
|
824
|
+
- dodatečná transformace: Feature
|
|
825
|
+
|
|
826
|
+
### Vehicle Positions GTFS RT
|
|
827
|
+
|
|
828
|
+
#### _/vehiclepositions/gtfsrt/trip_updates.pb_
|
|
829
|
+
|
|
830
|
+
- načtení souboru z Redis cache
|
|
831
|
+
- HGET files:gtfsRt trip_updates.pb
|
|
832
|
+
|
|
833
|
+
#### _/vehiclepositions/gtfsrt/trip_updates.json_
|
|
834
|
+
|
|
835
|
+
- načtení souboru z Redis cache
|
|
836
|
+
- HGET files:gtfsRt trip_updates.json
|
|
837
|
+
|
|
838
|
+
#### _/vehiclepositions/gtfsrt/vehicle_positions.pb_
|
|
839
|
+
|
|
840
|
+
- načtení souboru z Redis cache
|
|
841
|
+
- HGET files:gtfsRt vehicle_positions.pb
|
|
842
|
+
|
|
843
|
+
#### _/vehiclepositions/gtfsrt/vehicle_positions.json_
|
|
844
|
+
|
|
845
|
+
- načtení souboru z Redis cache
|
|
846
|
+
- HGET files:gtfsRt vehicle_positions.json
|
|
847
|
+
|
|
848
|
+
#### _/vehiclepositions/gtfsrt/alerts.pb_
|
|
849
|
+
|
|
850
|
+
- načtení souboru z Redis cache
|
|
851
|
+
- HGET files:gtfsRt alerts.pb
|
|
852
|
+
|
|
853
|
+
#### _/vehiclepositions/gtfsrt/alerts.json_
|
|
854
|
+
|
|
855
|
+
- načtení souboru z Redis cache
|
|
856
|
+
- HGET files:gtfsRt alerts.json
|
|
857
|
+
|
|
858
|
+
### PID Departure Boards
|
|
859
|
+
|
|
860
|
+
#### _/pid/departureboards_
|
|
861
|
+
|
|
862
|
+
- zdrojové tabulky
|
|
863
|
+
- `ropidgtfs_departures`, `ropidgtfs_stops`, `ropidgtfs_cis_stops`, `ropidvymi_events`, `ropidvymi_events_stops`, `ropid_departures_directions`, `vehiclepositions_positions`, `vehiclepositions_trips`
|
|
864
|
+
|
|
865
|
+
#### _/pid/infotexts_
|
|
866
|
+
|
|
867
|
+
- zdrojové tabulky
|
|
868
|
+
- `ropidvymi_events`, `ropidvymi_events_stops`, `ropidvymi_events_routes`, `ropidgtfs_stops`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/pid",
|
|
3
|
-
"version": "2.3.4-dev.
|
|
3
|
+
"version": "2.3.4-dev.705246340",
|
|
4
4
|
"description": "Golemio PID Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"@commitlint/cli": "^11.0.0",
|
|
34
34
|
"@commitlint/config-conventional": "^11.0.0",
|
|
35
35
|
"@golemio/cli": "1.3.3",
|
|
36
|
-
"@golemio/core": "1.2.
|
|
36
|
+
"@golemio/core": "1.2.21",
|
|
37
37
|
"@golemio/db-common": "1.0.2",
|
|
38
38
|
"@golemio/eslint-config": "^1.1.0",
|
|
39
39
|
"@ovos-media/ts-transform-paths": "^1.7.18-1",
|