@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.
- package/db/example/03_ropidgtfs_dump.sql +37 -0
- package/db/migrations/postgresql/20260723120000-fix-train-trip-lookup-seq-scan.js +16 -0
- package/db/migrations/postgresql/sqls/20260723120000-fix-train-trip-lookup-seq-scan-down.sql +1 -0
- package/db/migrations/postgresql/sqls/20260723120000-fix-train-trip-lookup-seq-scan-up.sql +2 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +15 -18
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js +42 -54
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/helpers/RawQueryProvider.js.map +1 -1
- package/docs/processing/index.md +1 -0
- package/docs/processing/trip_matching.md +30 -0
- package/package.json +1 -1
|
@@ -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;
|
|
@@ -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
|
|
253
|
-
const
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
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
|
-
|
|
259
|
+
cisLineId,
|
|
260
|
+
cisTripNumber: trip.cis_trip_number,
|
|
261
261
|
startDateYMD,
|
|
262
|
-
|
|
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
|
|
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(
|
|
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
|
-
|
|
28
|
-
SELECT
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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
|
-
|
|
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,
|
|
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"}
|
package/docs/processing/index.md
CHANGED
|
@@ -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í.
|