@golemio/pid 5.17.3-dev.2697498781 → 5.17.3-dev.2717798752

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.
@@ -557,6 +557,43 @@ INSERT INTO "ropidgtfs_run_numbers_actual"("route_id","run_number","service_id",
557
557
  VALUES
558
558
  (E'L991',1,E'1111100-1',E'991_1_210419',3,NULL,E'2021-05-19 05:35:04.963+02',NULL,NULL,NULL,E'2021-05-19 05:35:04.963+02',NULL);
559
559
 
560
+ -- route_licence_number/trip_number for 152_60_201230, used by TripsRepository.findGTFSTripIdBasic tests
561
+ INSERT INTO "ropidgtfs_run_numbers_actual"("route_id","run_number","service_id","trip_id","vehicle_type","trip_number","route_licence_number","created_at","create_batch_id","created_by","update_batch_id","updated_at","updated_by")
562
+ VALUES
563
+ (E'L152',39,E'1111111-1',E'152_60_201230',3,95,100152,E'2021-05-19 05:35:04.963+02',NULL,NULL,NULL,E'2021-05-19 05:35:04.963+02',NULL);
564
+
565
+ -- >>> edge-case fixtures for TripsRepository.findGTFSTripIdBasic (old vs new query parity)
566
+
567
+ INSERT INTO "ropidgtfs_routes_actual" ("agency_id","is_night","route_color","route_desc","route_id","route_long_name","route_short_name","route_text_color","route_type","route_url","create_batch_id","created_at","created_by","update_batch_id","updated_at","updated_by","is_regional","is_substitute_transport")
568
+ VALUES
569
+ (E'99',E'0',E'007DA8',NULL,E'L900',E'Test route for edge cases',E'900',E'FFFFFF',E'3',E'https://pid.cz/linka/900',-1,E'2024-01-01 00:00:00+01',NULL,-1,E'2024-01-01 00:00:00+01',NULL,E'0',E'0');
570
+
571
+ INSERT INTO "ropidgtfs_trips_actual"("bikes_allowed","block_id","direction_id","exceptional","route_id","service_id","shape_id","trip_headsign","trip_id","wheelchair_accessible","create_batch_id","created_at","created_by","update_batch_id","updated_at","updated_by","trip_operation_type","trip_short_name")
572
+ VALUES
573
+ (2,NULL,1,0,E'L900',E'1111111-1',E'L900V1',E'Test Midnight Trip',E'900_501_990101',1,-1,E'2024-01-01 00:00:00+01',NULL,-1,E'2024-01-01 00:00:00+01',NULL,1,NULL),
574
+ (2,NULL,1,0,E'L900',E'1111111-1',E'L900V2',E'Test Ambiguous A',E'900_777_990101A',1,-1,E'2024-01-01 00:00:00+01',NULL,-1,E'2024-01-01 00:00:00+01',NULL,1,NULL),
575
+ (2,NULL,1,0,E'L900',E'1111111-1',E'L900V3',E'Test Ambiguous B',E'900_777_990101B',1,-1,E'2024-01-01 00:00:00+01',NULL,-1,E'2024-01-01 00:00:00+01',NULL,1,NULL);
576
+
577
+ INSERT INTO "ropidgtfs_stop_times_actual"("arrival_time","arrival_time_seconds","departure_time","departure_time_seconds","drop_off_type","pickup_type","shape_dist_traveled","stop_headsign","stop_id","stop_sequence","trip_id","create_batch_id","created_at","created_by","update_batch_id","updated_at","updated_by","timepoint")
578
+ VALUES
579
+ -- Scenario 1: first stop departs after GTFS midnight ("25:15:00" == 01:15 the following calendar day)
580
+ (E'25:15:00',NULL,E'25:15:00',NULL,E'0',E'0',0,NULL,E'U510Z2P',1,E'900_501_990101',-1,E'2024-01-01 00:00:00+01',NULL,-1,E'2024-01-01 00:00:00+01',NULL,NULL),
581
+ (E'25:35:00',NULL,E'25:35:00',NULL,E'0',E'0',3.0,NULL,E'U474Z4P',2,E'900_501_990101',-1,E'2024-01-01 00:00:00+01',NULL,-1,E'2024-01-01 00:00:00+01',NULL,NULL),
582
+ -- Scenario 3: two distinct trip_ids sharing the same route_licence_number+trip_number -> genuine ambiguity
583
+ (E'10:05:00',NULL,E'10:05:00',NULL,E'0',E'0',0,NULL,E'U510Z2P',1,E'900_777_990101A',-1,E'2024-01-01 00:00:00+01',NULL,-1,E'2024-01-01 00:00:00+01',NULL,NULL),
584
+ (E'10:25:00',NULL,E'10:25:00',NULL,E'0',E'0',3.0,NULL,E'U474Z4P',2,E'900_777_990101A',-1,E'2024-01-01 00:00:00+01',NULL,-1,E'2024-01-01 00:00:00+01',NULL,NULL),
585
+ (E'10:05:00',NULL,E'10:05:00',NULL,E'0',E'0',0,NULL,E'U510Z2P',1,E'900_777_990101B',-1,E'2024-01-01 00:00:00+01',NULL,-1,E'2024-01-01 00:00:00+01',NULL,NULL),
586
+ (E'10:25:00',NULL,E'10:25:00',NULL,E'0',E'0',3.0,NULL,E'U474Z4P',2,E'900_777_990101B',-1,E'2024-01-01 00:00:00+01',NULL,-1,E'2024-01-01 00:00:00+01',NULL,NULL);
587
+
588
+ -- route_licence_number/trip_number fixtures used by TripsRepository.findGTFSTripIdBasic edge-case tests
589
+ INSERT INTO "ropidgtfs_run_numbers_actual"("route_id","run_number","service_id","trip_id","vehicle_type","trip_number","route_licence_number","created_at","create_batch_id","created_by","update_batch_id","updated_at","updated_by")
590
+ VALUES
591
+ (E'L900',501,E'1111111-1',E'900_501_990101',3,501,100900,E'2024-01-01 00:00:00+01',NULL,NULL,NULL,E'2024-01-01 00:00:00+01',NULL),
592
+ (E'L900',777,E'1111111-1',E'900_777_990101A',3,777,100900,E'2024-01-01 00:00:00+01',NULL,NULL,NULL,E'2024-01-01 00:00:00+01',NULL),
593
+ (E'L900',778,E'1111111-1',E'900_777_990101B',3,777,100900,E'2024-01-01 00:00:00+01',NULL,NULL,NULL,E'2024-01-01 00:00:00+01',NULL);
594
+
595
+ -- <<<
596
+
560
597
  INSERT INTO ropidgtfs_trips_actual (trip_id,bikes_allowed,block_id,direction_id,exceptional,route_id,service_id,shape_id,trip_headsign,trip_operation_type,trip_short_name,wheelchair_accessible,create_batch_id,created_at,created_by,update_batch_id,updated_at,updated_by) VALUES
561
598
  ('991_1_210419',1,NULL,0,0,'L991','0000001-1','L991V2','Nemocnice Motol',NULL,NULL,1,NULL,'2023-04-09 05:27:39.626',NULL,NULL,'2023-04-09 05:27:39.626',NULL);
562
599
 
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ const fs = require('fs/promises');
4
+ const path = require('path');
5
+
6
+ const runSql = (db, name) =>
7
+ fs.readFile(path.join(__dirname, 'sqls', name), 'utf-8').then((sql) => {
8
+ console.log('received data: ' + sql);
9
+ return db.runSql(sql);
10
+ });
11
+
12
+ exports.up = (db) => runSql(db, '20260723120000-fix-train-trip-lookup-seq-scan-up.sql');
13
+
14
+ exports.down = (db) => runSql(db, '20260723120000-fix-train-trip-lookup-seq-scan-down.sql');
15
+
16
+ exports._meta = { version: 1 };
@@ -0,0 +1 @@
1
+ ALTER FUNCTION pid.get_wanted_trip(character varying) ROWS 1000;
@@ -0,0 +1,2 @@
1
+
2
+ ALTER FUNCTION pid.get_wanted_trip(character varying) ROWS 1;
@@ -249,24 +249,17 @@ let TripsRepository = class TripsRepository extends models_1.PostgresModel {
249
249
  };
250
250
  this.findGTFSTripIdBasic = async (trip) => {
251
251
  const connection = this.connector.getConnection();
252
- const startDate = (0, moment_timezone_1.default)(trip.start_timestamp).tz("Europe/Prague");
253
- const startDateDayBefore = startDate.clone().subtract(1, "day");
254
- const startDateYMD = startDate.format("YYYY-MM-DD");
255
- const startDateDayName = startDate.format("dddd").toLowerCase();
256
- const startDateDayBeforeYMD = startDateDayBefore.format("YYYY-MM-DD");
257
- const startDateDayBeforeDayName = startDateDayBefore.format("dddd").toLowerCase();
258
- const parsedAswStopId = trip.start_asw_stop_id ? parseInt(trip.start_asw_stop_id, 10) : 0;
252
+ const startDateYMD = (0, moment_timezone_1.default)(trip.start_timestamp).tz("Europe/Prague").format("YYYY-MM-DD");
253
+ const cisLineId = trip.cis_line_id && /^\d+$/.test(trip.cis_line_id) ? parseInt(trip.cis_line_id, 10) : null;
254
+ if (cisLineId === null || trip.cis_trip_number === null || trip.cis_trip_number === undefined) {
255
+ this.logger.warn({ cis_line_id: trip.cis_line_id, cis_trip_number: trip.cis_trip_number }, `${this.constructor.name}: Missing cis_line_id/cis_trip_number for id '${trip.id}' (basic).`);
256
+ return [];
257
+ }
259
258
  const replacements = {
260
- startDateDayBeforeYMD,
259
+ cisLineId,
260
+ cisTripNumber: trip.cis_trip_number,
261
261
  startDateYMD,
262
- cisLineShortName: trip.cis_line_short_name,
263
- startCisStopId: trip.start_cis_stop_id || 0,
264
- startAswStopId: parsedAswStopId % 10000,
265
- startAswNodeID: Math.floor(parsedAswStopId / 10000),
266
- startCisStopPlatformCode: trip.start_cis_stop_platform_code,
267
- startDateFormatted: startDate.utc().format(),
268
- startDateDayName,
269
- startDateDayBeforeDayName,
262
+ startTimestamp: trip.start_timestamp,
270
263
  };
271
264
  const sqlQuery = RawQueryProvider_1.RawQueryProvider.getFindGtfsCommonTripsQuery();
272
265
  let result = (await connection.query(sqlQuery, {
@@ -274,10 +267,14 @@ let TripsRepository = class TripsRepository extends models_1.PostgresModel {
274
267
  replacements,
275
268
  }));
276
269
  if (result.length < 1) {
277
- this.logger.warn({ ...replacements, parsedAswStopId }, `${this.constructor.name}: Model data was not found for id '${trip.id}' (basic).`);
270
+ this.logger.warn({ ...replacements }, `${this.constructor.name}: Model data was not found for id '${trip.id}' (basic).`);
278
271
  }
279
272
  else if (result.length > 1) {
280
- this.logger.warn(replacements, `There are too many gtfs trips (${result.length}) linked with id '${trip.id}' (trip).`);
273
+ this.logger.warn({
274
+ ...replacements,
275
+ tripRunNumber: trip.run_number,
276
+ candidates: result.map((r) => ({ gtfs_trip_id: r.gtfs_trip_id, internal_run_number: r.internal_run_number })),
277
+ }, `There are too many gtfs trips (${result.length}) linked with id '${trip.id}' (trip).`);
281
278
  result = [];
282
279
  }
283
280
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"TripsRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TripsRepository.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.ts"],"names":[],"mappings":"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"}
@@ -22,59 +22,44 @@ class RawQueryProvider {
22
22
  `;
23
23
  }
24
24
  static getFindGtfsCommonTripsQuery() {
25
- /* eslint-disable max-len */
26
25
  return `
27
- SET LOCAL search_path TO ${const_1.PG_SCHEMA};
28
- SELECT DISTINCT
29
- ropidgtfs_trips.trip_id AS gtfs_trip_id,
30
- ropidgtfs_trips.block_id AS gtfs_block_id,
31
- ropidgtfs_trips.direction_id AS gtfs_direction_id,
32
- ropidgtfs_trips.shape_id AS gtfs_shape_id,
33
- ropidgtfs_precomputed_trip_schedule.date AS gtfs_date,
34
- ropidgtfs_trips.trip_headsign AS gtfs_trip_headsign,
35
- ropidgtfs_routes.route_id AS gtfs_route_id,
36
- ropidgtfs_routes.route_type AS gtfs_route_type,
37
- ropidgtfs_routes.route_short_name AS gtfs_route_short_name,
38
- ropidgtfs_precomputed_minmax_stop_sequences.min_stop_time,
39
- ropidgtfs_precomputed_minmax_stop_sequences.max_stop_time,
40
- ropidgtfs_precomputed_trip_schedule.run_number AS internal_run_number,
41
- ropidgtfs_precomputed_trip_schedule.origin_route_name AS internal_route_name
42
- FROM ropidgtfs_trips
43
- INNER JOIN ropidgtfs_routes
44
- ON ropidgtfs_trips.route_id = ropidgtfs_routes.route_id
45
- INNER JOIN ropidgtfs_stop_times
46
- ON ropidgtfs_trips.trip_id = ropidgtfs_stop_times.trip_id
47
- LEFT JOIN ropidgtfs_precomputed_trip_schedule
48
- ON ropidgtfs_trips.trip_id = ropidgtfs_precomputed_trip_schedule.trip_id
49
- AND ropidgtfs_precomputed_trip_schedule.start_timestamp::date = current_date
50
- LEFT JOIN ropidgtfs_precomputed_minmax_stop_sequences
51
- ON ropidgtfs_trips.trip_id = ropidgtfs_precomputed_minmax_stop_sequences.trip_id
52
- WHERE ropidgtfs_routes.route_short_name LIKE :cisLineShortName
53
- AND ropidgtfs_stop_times.stop_id = ANY(STRING_TO_ARRAY(get_ropidgtfs_stops_by_asw(:startAswNodeID, :startCisStopPlatformCode), ','))
54
- AND stop_sequence = '1'
55
- AND normalize_departure_time(ropidgtfs_stop_times.departure_time) = TO_CHAR(
56
- (:startDateFormatted at time zone 'Europe/Prague'), 'FMHH24:MI:SS'
57
- )
58
- AND (
59
- CASE
60
- WHEN SUBSTRING(LPAD(ropidgtfs_stop_times.departure_time, 8, '0'), 1, 2)::int < 24 THEN
61
- ropidgtfs_trips.service_id IN (
62
- select service_id from get_service_ids_from_ropidgtfs_calendar(:startDateDayName, :startDateYMD)
63
- )
64
- ELSE
65
- ropidgtfs_trips.service_id IN (
66
- select service_id from get_service_ids_from_ropidgtfs_calendar(:startDateDayBeforeDayName, :startDateDayBeforeYMD)
67
- )
68
- END
69
- )
26
+ SET LOCAL search_path TO ${const_1.PG_SCHEMA};
27
+ SELECT
28
+ gtfs_trip_id, gtfs_block_id, gtfs_direction_id, gtfs_shape_id, gtfs_date, gtfs_trip_headsign,
29
+ gtfs_route_id, gtfs_route_type, gtfs_route_short_name, min_stop_time, max_stop_time,
30
+ internal_run_number, internal_route_name
31
+ FROM (
32
+ SELECT DISTINCT ON (trip_id)
33
+ trip_id AS gtfs_trip_id,
34
+ block_id AS gtfs_block_id,
35
+ direction_id AS gtfs_direction_id,
36
+ shape_id AS gtfs_shape_id,
37
+ date AS gtfs_date,
38
+ trip_headsign AS gtfs_trip_headsign,
39
+ route_id AS gtfs_route_id,
40
+ route_type AS gtfs_route_type,
41
+ route_short_name AS gtfs_route_short_name,
42
+ min_stop_time::varchar AS min_stop_time,
43
+ max_stop_time::varchar AS max_stop_time,
44
+ run_number AS internal_run_number,
45
+ origin_route_name AS internal_route_name,
46
+ abs(extract(epoch from (
47
+ start_timestamp - :startTimestamp::timestamptz
48
+ ))) AS distance_seconds
49
+ FROM ropidgtfs_precomputed_trip_schedule
50
+ WHERE route_licence_number = :cisLineId
51
+ AND trip_number = :cisTripNumber
52
+ AND date BETWEEN :startDateYMD::date - 1 AND :startDateYMD::date
53
+ ORDER BY trip_id, distance_seconds ASC
54
+ ) picked
70
55
  ORDER BY gtfs_trip_id ASC;
71
56
  `;
72
- /* eslint-enable max-len */
73
57
  }
74
58
  static getFindGtfsTrainTripsQuery() {
75
59
  /* eslint-disable max-len */
76
60
  return `
77
61
  SET LOCAL search_path TO ${const_1.PG_SCHEMA};
62
+ SET LOCAL jit = off;
78
63
  SELECT DISTINCT
79
64
  ropidgtfs_trips.trip_id AS gtfs_trip_id,
80
65
  ropidgtfs_trips.direction_id AS gtfs_direction_id,
@@ -91,23 +76,26 @@ class RawQueryProvider {
91
76
  ropidgtfs_precomputed_minmax_stop_sequences.max_stop_time,
92
77
  NULL AS internal_run_number,
93
78
  NULL AS internal_route_name
94
- FROM
79
+ FROM
95
80
  ropidgtfs_trips
96
- INNER JOIN
81
+ INNER JOIN
97
82
  get_wanted_trip(:tripId) AS wanted_trip ON 1 = 1
98
- INNER JOIN
83
+ INNER JOIN
99
84
  ropidgtfs_routes ON ropidgtfs_trips.route_id = ropidgtfs_routes.route_id
100
- INNER JOIN
85
+ INNER JOIN
101
86
  ropidgtfs_stop_times ON ropidgtfs_trips.trip_id = ropidgtfs_stop_times.trip_id
102
- LEFT JOIN
103
- ropidgtfs_precomputed_services_calendar psc ON
87
+ LEFT JOIN
88
+ ropidgtfs_precomputed_services_calendar psc ON
104
89
  psc.service_id = ropidgtfs_trips.service_id
105
90
  AND psc.date IN (current_date, current_date - 1)
106
- LEFT JOIN
107
- ropidgtfs_precomputed_minmax_stop_sequences ON
91
+ LEFT JOIN
92
+ ropidgtfs_precomputed_minmax_stop_sequences ON
108
93
  ropidgtfs_trips.trip_id = ropidgtfs_precomputed_minmax_stop_sequences.trip_id
109
94
  WHERE
110
- match_trip_id(ropidgtfs_trips.trip_id, wanted_trip.cis_trip_number)
95
+ CASE
96
+ WHEN split_part(ropidgtfs_trips.trip_id, '_', 2) ~ '^[0-9]+$'
97
+ THEN (split_part(ropidgtfs_trips.trip_id, '_', 2))::int
98
+ END = wanted_trip.cis_trip_number
111
99
  AND ropidgtfs_routes.route_type = '2'
112
100
  AND stop_sequence = 1
113
101
  AND is_within_12_hours(
@@ -1 +1 @@
1
- {"version":3,"file":"RawQueryProvider.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.ts"],"names":[],"mappings":";;;AAAA,2EAAuD;AACvD,sEAAuC;AACvC,+GAA4E;AAC5E,yGAAsE;AACtE,6GAA0E;AAC1E,6IAA0G;AAC1G,mDAA8C;AAE9C,MAAa,gBAAgB;IAClB,MAAM,CAAC,2BAA2B;QACrC,OAAO;;;;;;;oBAOK,iBAAS,KAAK,2BAAY,CAAC,UAAU;;SAEhD,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,2BAA2B;QACrC,4BAA4B;QAC5B,OAAO;qCACsB,iBAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA4CrC,CAAC;QACF,2BAA2B;IAC/B,CAAC;IAEM,MAAM,CAAC,0BAA0B;QACpC,4BAA4B;QAC5B,OAAO;uCACwB,iBAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA+DvC,CAAC;QACF,2BAA2B;IAC/B,CAAC;IAEM,MAAM,CAAC,0BAA0B;QACpC,OAAO;sBACO,iBAAS,KAAK,2BAAY,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;oEAyBS,6BAAa,CAAC,QAAQ;;;;;wBAKlE,iBAAS,KAAK,qDAAyB,CAAC,SAAS;8BAC3C,iBAAS,KAAK,2CAAoB,CAAC,YAAY,CAAC,WAAW;;;;+DAI1B,yBAAiB,CAAC,WAAW;mEACzB,yBAAiB,CAAC,mBAAmB;;;SAG/F,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,sCAAsC;QAChD,OAAO;;;;;;;;;;;;;;;;;;;mBAmBI,iBAAS,KAAK,2BAAY,CAAC,UAAU;;;;;;;;2BAQ7B,iBAAS,KAAK,qCAAiB,CAAC,KAAK,CAAC,WAAW;;;;SAInE,CAAC;IACN,CAAC;CACJ;AArND,4CAqNC"}
1
+ {"version":3,"file":"RawQueryProvider.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.ts"],"names":[],"mappings":";;;AAAA,2EAAuD;AACvD,sEAAuC;AACvC,+GAA4E;AAC5E,yGAAsE;AACtE,6GAA0E;AAC1E,6IAA0G;AAC1G,mDAA8C;AAE9C,MAAa,gBAAgB;IAClB,MAAM,CAAC,2BAA2B;QACrC,OAAO;;;;;;;oBAOK,iBAAS,KAAK,2BAAY,CAAC,UAAU;;SAEhD,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,2BAA2B;QACrC,OAAO;uCACwB,iBAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA8BvC,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,0BAA0B;QACpC,4BAA4B;QAC5B,OAAO;uCACwB,iBAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAmEvC,CAAC;QACF,2BAA2B;IAC/B,CAAC;IAEM,MAAM,CAAC,0BAA0B;QACpC,OAAO;sBACO,iBAAS,KAAK,2BAAY,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;oEAyBS,6BAAa,CAAC,QAAQ;;;;;wBAKlE,iBAAS,KAAK,qDAAyB,CAAC,SAAS;8BAC3C,iBAAS,KAAK,2CAAoB,CAAC,YAAY,CAAC,WAAW;;;;+DAI1B,yBAAiB,CAAC,WAAW;mEACzB,yBAAiB,CAAC,mBAAmB;;;SAG/F,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,sCAAsC;QAChD,OAAO;;;;;;;;;;;;;;;;;;;mBAmBI,iBAAS,KAAK,2BAAY,CAAC,UAAU;;;;;;;;2BAQ7B,iBAAS,KAAK,qCAAiB,CAAC,KAAK,CAAC,WAAW;;;;SAInE,CAAC;IACN,CAAC;CACJ;AAzMD,4CAyMC"}
@@ -15,3 +15,4 @@
15
15
  - [TCP DPP metro](./state_position_tracking/tcp_dpp_metro.md)
16
16
  - [TCP Telmax Arriva City](./state_position_tracking/tcp_telmax_arriva_city.md)
17
17
  - [**Mapování MPVNet vehicle type na GTFS**](./vehicle_types.md)
18
+ - [**Mapování MPVNet spojů na GTFS**](./trip_matching.md)
@@ -0,0 +1,30 @@
1
+ # Mapování MPVNet spojů na GTFS (nevlakové spoje)
2
+
3
+ Platí pro autobusy (mimo DPP) a přívozy přijaté přes HTTP MPVNet (`provider_source_type` 0/1). Vlaky mají vlastní logiku (`getFindGtfsTrainTripsQuery`). DPP tramvaje/trolejbusy/metro nechodí přes MPVNet vůbec (viz [http_mpvnet.md](./input_realtime_data/http_mpvnet.md)) a párují se jinou cestou (`workers/runs`), tady popsanou logikou neprochází.
4
+
5
+ ## Klíč párování
6
+
7
+ MPVNet atribut `lin` (číslo linky dle CIS) a `spoj` (číslo spoje dle CIS) se z příchozí zprávy uloží jako `cis_line_id` / `cis_trip_number` na řádku `vehiclepositions_trips`. `getFindGtfsCommonTripsQuery` (`RawQueryProvider.ts`) je hledá přímo v `ropidgtfs_precomputed_trip_schedule` podle:
8
+
9
+ - `route_licence_number = cis_line_id`
10
+ - `trip_number = cis_trip_number`
11
+ - `date` v okně `[včera, dnes]` vztaženo ke skutečnému `start_timestamp` spoje
12
+
13
+ Žádné spojení na `ropidgtfs_trips`/`ropidgtfs_routes`/zastávky není potřeba - `ropidgtfs_precomputed_trip_schedule` už má všechny potřebné sloupce (route_id, route_type, route_short_name, block_id, direction_id, shape_id, min/max_stop_time) denormalizované.
14
+
15
+ ## Proč okno dvou dnů a ne jen "dnes"
16
+
17
+ Spoj, jehož první zastávka odjíždí až po půlnoci (GTFS zápis `>=24:00:00`), má v `ropidgtfs_precomputed_trip_schedule.date` předchozí kalendářní den. Zpráva z MPVNet ale nese reálný čas (žádná `>24h` notace), takže samotné datum zprávy neodpovídá datu ve schedule tabulce.
18
+
19
+ Zároveň může být stejné `trip_id` platné jak včera, tak dnes (pravidelně jezdící spoj), takže nejde jen zkusit "dnes, a když nic, tak včera" - u obou dnů může něco vyjít, ale jen jeden je ten skutečně právě jedoucí.
20
+
21
+ Řešení: pro každé `trip_id` v okně `[včera, dnes]` se spočítá `start_timestamp` (předpočítaný přes `gtfs_timestamp()`, řeší `>24h` notaci i DST) a vybere se ten řádek daného `trip_id`, který je časově nejblíž reálně pozorovanému `start_timestamp` spoje (`DISTINCT ON (trip_id) ORDER BY trip_id, distance_seconds`). Různá `trip_id` se takto nesbalí - pokud po tomhle výběru zbydou dvě různá `trip_id`, jde o skutečnou nejednoznačnost (viz níže).
22
+
23
+ ## Nejednoznačný a chybějící výsledek
24
+
25
+ - Víc než 1 výsledné `trip_id` -> `TripsRepository.findGTFSTripIdBasic` výsledek zahodí, spoj zůstane nenapárovaný a zaloguje se `warn` (včetně `run_number` spoje a kandidátů).
26
+ - 0 výsledků -> buď dopravce/linka nemá v `ropidgtfs_run_numbers` vůbec `trip_number` přiřazený (celá linka), nebo číslo spoje z MPVNet neodpovídá číslu přiřazenému v `ropidgtfs_run_numbers` pro stejný fyzický spoj (nesoulad mezi MPVNet a `ropidgtfs_run_numbers`, u jednotlivých spojů/dopravců).
27
+
28
+ ## Známé problémy (aktuální stav)
29
+
30
+ - **Linka 523 (Arriva SČ, Plzeň)** - `ropidgtfs_run_numbers` přiřazuje `trip_number` v jiné číselné řadě (např. 1008), než jaké `spoj` hlásí reálná MPVNet zpráva pro stejný fyzický spoj (např. 16) - nejde o mezeru, ale o neshodu dvou číslování. Nahlášeno poskytovateli dat, čeká se na vyjádření.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/pid",
3
- "version": "5.17.3-dev.2697498781",
3
+ "version": "5.17.3-dev.2717798752",
4
4
  "description": "Golemio PID Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",