@golemio/pid 2.22.1-dev.1486226664 → 2.22.1-dev.1490009031
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/migrations/postgresql/sqls/20241004085815-after-track-delayed-down.sql +28 -2
- package/db/migrations/postgresql/sqls/20241004085815-after-track-delayed-up.sql +28 -2
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js +2 -1
- package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,32 @@
|
|
|
1
|
-
--
|
|
2
|
-
|
|
1
|
+
-- Remove after_track_delayed state from possible states for vehicle positions
|
|
2
|
+
CREATE OR REPLACE VIEW v_vehiclepositions_past_stop_times
|
|
3
|
+
AS SELECT sub.trips_id AS rt_trip_id,
|
|
4
|
+
sub.last_stop_sequence AS stop_sequence,
|
|
5
|
+
sub.last_stop_id AS stop_id,
|
|
6
|
+
sub.last_stop_arrival_time AS stop_arrival,
|
|
7
|
+
sub.last_stop_departure_time AS stop_departure,
|
|
8
|
+
sub.stop_arr_delay,
|
|
9
|
+
sub.stop_dep_delay,
|
|
10
|
+
sub.stop_name,
|
|
11
|
+
sub.lat,
|
|
12
|
+
sub.lng
|
|
13
|
+
FROM ( SELECT rt_position.trips_id,
|
|
14
|
+
rt_position.last_stop_sequence,
|
|
15
|
+
rt_position.last_stop_id,
|
|
16
|
+
rt_position.last_stop_arrival_time,
|
|
17
|
+
rt_position.last_stop_departure_time,
|
|
18
|
+
rs.stop_name,
|
|
19
|
+
rs.stop_lat AS lat,
|
|
20
|
+
rs.stop_lon AS lng,
|
|
21
|
+
max(rt_position.delay_stop_arrival) AS stop_arr_delay,
|
|
22
|
+
min(rt_position.delay_stop_departure) AS stop_dep_delay
|
|
23
|
+
FROM vehiclepositions_positions rt_position
|
|
24
|
+
JOIN ropidgtfs_stops rs ON rs.stop_id::text = rt_position.last_stop_id::text
|
|
25
|
+
WHERE (rt_position.delay_stop_arrival IS NOT NULL OR rt_position.delay_stop_departure IS NOT NULL) AND (rt_position.state_position::text = ANY (ARRAY['on_track'::character varying::text, 'at_stop'::character varying::text, 'after_track'::character varying::text]))
|
|
26
|
+
GROUP BY rt_position.trips_id, rt_position.last_stop_sequence, rt_position.last_stop_id, rt_position.last_stop_arrival_time, rt_position.last_stop_departure_time, rs.stop_name, rs.stop_lat, rs.stop_lon) sub
|
|
27
|
+
ORDER BY sub.trips_id, sub.last_stop_sequence;
|
|
3
28
|
|
|
29
|
+
-- Remove after_track_delayed state from possible states for vehicle positions
|
|
4
30
|
CREATE OR REPLACE VIEW v_public_vehiclepositions_past_stop_times AS
|
|
5
31
|
SELECT
|
|
6
32
|
sub.trips_id AS rt_trip_id,
|
|
@@ -1,6 +1,32 @@
|
|
|
1
|
-
--
|
|
2
|
-
|
|
1
|
+
-- Add after_track_delayed state to possible states for vehicle positions
|
|
2
|
+
CREATE OR REPLACE VIEW v_vehiclepositions_past_stop_times
|
|
3
|
+
AS SELECT sub.trips_id AS rt_trip_id,
|
|
4
|
+
sub.last_stop_sequence AS stop_sequence,
|
|
5
|
+
sub.last_stop_id AS stop_id,
|
|
6
|
+
sub.last_stop_arrival_time AS stop_arrival,
|
|
7
|
+
sub.last_stop_departure_time AS stop_departure,
|
|
8
|
+
sub.stop_arr_delay,
|
|
9
|
+
sub.stop_dep_delay,
|
|
10
|
+
sub.stop_name,
|
|
11
|
+
sub.lat,
|
|
12
|
+
sub.lng
|
|
13
|
+
FROM ( SELECT rt_position.trips_id,
|
|
14
|
+
rt_position.last_stop_sequence,
|
|
15
|
+
rt_position.last_stop_id,
|
|
16
|
+
rt_position.last_stop_arrival_time,
|
|
17
|
+
rt_position.last_stop_departure_time,
|
|
18
|
+
rs.stop_name,
|
|
19
|
+
rs.stop_lat AS lat,
|
|
20
|
+
rs.stop_lon AS lng,
|
|
21
|
+
max(rt_position.delay_stop_arrival) AS stop_arr_delay,
|
|
22
|
+
min(rt_position.delay_stop_departure) AS stop_dep_delay
|
|
23
|
+
FROM vehiclepositions_positions rt_position
|
|
24
|
+
JOIN ropidgtfs_stops rs ON rs.stop_id::text = rt_position.last_stop_id::text
|
|
25
|
+
WHERE (rt_position.delay_stop_arrival IS NOT NULL OR rt_position.delay_stop_departure IS NOT NULL) AND (rt_position.state_position::text = ANY (ARRAY['on_track'::character varying::text, 'at_stop'::character varying::text, 'after_track'::character varying::text, 'after_track_delayed'::character varying::text]))
|
|
26
|
+
GROUP BY rt_position.trips_id, rt_position.last_stop_sequence, rt_position.last_stop_id, rt_position.last_stop_arrival_time, rt_position.last_stop_departure_time, rs.stop_name, rs.stop_lat, rs.stop_lon) sub
|
|
27
|
+
ORDER BY sub.trips_id, sub.last_stop_sequence;
|
|
3
28
|
|
|
29
|
+
-- Add after_track_delayed state to possible states for vehicle positions
|
|
4
30
|
CREATE OR REPLACE VIEW v_public_vehiclepositions_past_stop_times AS
|
|
5
31
|
SELECT
|
|
6
32
|
sub.trips_id AS rt_trip_id,
|
package/dist/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.js
CHANGED
|
@@ -49,7 +49,8 @@ let StopTimesTripScopeHandler = exports.StopTimesTripScopeHandler = class StopTi
|
|
|
49
49
|
let prevStopArrivalTime = null;
|
|
50
50
|
let prevStopDepartureTime = null;
|
|
51
51
|
for (const stopTimeWithDelay of stopTimesWithDelay) {
|
|
52
|
-
|
|
52
|
+
// note: We can improve performance here if needed
|
|
53
|
+
const stopTime = stopTimes.find((currentStopTime) => currentStopTime.properties.stop_sequence === stopTimeWithDelay.sequence);
|
|
53
54
|
if (stopTime) {
|
|
54
55
|
// note: optimization point here in case of worsening performance on output API (additional cache)
|
|
55
56
|
const rtArrivalTime = stopTimeWithDelay.arr_delay === null
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StopTimesTripScopeHandler.js","sourceRoot":"","sources":["../../../../../../../src/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAMA,iEAA6D;AAC7D,6HAAoI;AAGpI,+DAAsF;AAEtF,6EAAwE;AACxE,2DAA2D;AAC3D,iEAAwE;AACxE,yFAAsF;AAG/E,IAAM,yBAAyB,uCAA/B,MAAM,yBAA0B,SAAQ,mEAAgC;IAG3E,YAC8D,0BAAuD,EACzD,kBAAuC;QAE/F,KAAK,EAAE,CAAC;QAHkD,+BAA0B,GAA1B,0BAA0B,CAA6B;QACzD,uBAAkB,GAAlB,kBAAkB,CAAqB;QAG/F,IAAI,CAAC,2BAA2B,GAAG,IAAI,yEAAmC,EAAE,CAAC;IACjF,CAAC;IAEY,MAAM,CAAC,MAA8B,EAAE,eAAmC;;YACnF,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,wBAAwB,CACxF,eAAe,CAAC,YAAY,CAC/B,CAAC;YAEF,IAAI,CAAC,qBAAqB,EAAE;gBACxB,MAAM,IAAI,6BAAY,CAAC,mCAAmC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;aACtG;YAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACvF,MAAM,SAAS,GAAG,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,iBAAiB,
|
|
1
|
+
{"version":3,"file":"StopTimesTripScopeHandler.js","sourceRoot":"","sources":["../../../../../../../src/output-gateway/public/service/helpers/trip-scope/strategy/StopTimesTripScopeHandler.ts"],"names":[],"mappings":"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"}
|