@golemio/pid 2.12.2-rc.1222466179 → 2.12.3-dev.1226669491

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.
Files changed (51) hide show
  1. package/db/example/12_metro_line_A_gtfs_trips.sql +0 -5
  2. package/db/example/18_metroRailtrack.sql +369 -0
  3. package/db/migrations/postgresql/20240313100420-fix-gtfs-timestamp-dst.js +53 -0
  4. package/db/migrations/postgresql/sqls/20240313100420-fix-gtfs-timestamp-dst-down.sql +17 -0
  5. package/db/migrations/postgresql/sqls/20240313100420-fix-gtfs-timestamp-dst-up.sql +23 -0
  6. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js +6 -43
  7. package/dist/integration-engine/ropid-gtfs/data-access/precomputed/TripScheduleRepository.js.map +1 -1
  8. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js +4 -0
  9. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js.map +1 -1
  10. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js +16 -3
  11. package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js.map +1 -1
  12. package/dist/integration-engine/vehicle-positions/ioc/Di.js +8 -0
  13. package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
  14. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +3 -0
  15. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +9 -0
  16. package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
  17. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.d.ts +3 -0
  18. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js +12 -0
  19. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js.map +1 -1
  20. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.d.ts +1 -4
  21. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js +5 -21
  22. package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js.map +1 -1
  23. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js +3 -24
  24. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/TripsRepository.js.map +1 -1
  25. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.d.ts +9 -0
  26. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.js +59 -0
  27. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.js.map +1 -0
  28. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.d.ts +21 -0
  29. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.js +44 -0
  30. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DateTimeUtils.js.map +1 -1
  31. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.d.ts +3 -0
  32. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js +13 -3
  33. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js.map +1 -1
  34. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.d.ts +7 -18
  35. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js +27 -74
  36. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js.map +1 -1
  37. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.js +14 -10
  38. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.js.map +1 -1
  39. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.d.ts +12 -0
  40. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.js +121 -0
  41. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.js.map +1 -0
  42. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.d.ts +0 -10
  43. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js +7 -24
  44. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/regional-bus/RegionalBusPositionsManager.js.map +1 -1
  45. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.d.ts +1 -0
  46. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +7 -1
  47. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -1
  48. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.d.ts +3 -6
  49. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js +8 -19
  50. package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js.map +1 -1
  51. package/package.json +2 -2
@@ -33,13 +33,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
33
33
  };
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
35
  exports.DelayComputationManager = void 0;
36
+ const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
36
37
  const config_1 = require("@golemio/core/dist/integration-engine/config");
37
38
  const helpers_1 = require("@golemio/core/dist/integration-engine/helpers");
39
+ const ioc_1 = require("@golemio/core/dist/integration-engine/ioc");
38
40
  const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
39
41
  const turf = __importStar(require("@turf/turf"));
40
42
  class DelayComputationManager {
41
43
  constructor(gtfsTripsRepository) {
42
44
  this.gtfsTripsRepository = gtfsTripsRepository;
45
+ this.METRO_TRIP_PREFIX_REGEX = /^(991|992|993)/;
43
46
  /**
44
47
  * Return shape anchor points along trip track shape with stop times parameters
45
48
  *
@@ -59,7 +62,8 @@ class DelayComputationManager {
59
62
  else if (!(stop_times === null || stop_times === void 0 ? void 0 : stop_times.length)) {
60
63
  throw new golemio_errors_1.GeneralError(`getComputationObject: GTFS trip ${tripId} has no stop_times`, this.constructor.name);
61
64
  }
62
- const shapesGeometryAnchorPoints = this.getShapesGeometryAnchorPoints(shape_id, shapes, stop_times);
65
+ const isMetro = this.METRO_TRIP_PREFIX_REGEX.test(tripId);
66
+ const shapesGeometryAnchorPoints = this.getShapesGeometryAnchorPoints(shape_id, shapes, stop_times, isMetro);
63
67
  // MAKING COPY
64
68
  const shapePoints = [];
65
69
  // const to determine shape points of stops (in meters)
@@ -147,7 +151,7 @@ class DelayComputationManager {
147
151
  * @param {IStopTime[]} stops
148
152
  * @returns {IShapeGeometryAnchorPoint[]} - Result array of geometry points along trip track shape
149
153
  */
150
- this.getShapesGeometryAnchorPoints = (shapeId, shapes, stops) => {
154
+ this.getShapesGeometryAnchorPoints = (shapeId, shapes, stops, isMetro = false) => {
151
155
  try {
152
156
  let segmentShapes = [];
153
157
  // Splits shapes array to multiple arrays "delimited" by stops
@@ -171,7 +175,10 @@ class DelayComputationManager {
171
175
  let segmentArr = [];
172
176
  // concat arrays of stop divided segments with distributed shape points
173
177
  for (const segment of segmentShapes) {
174
- segmentArr = [...segmentArr, ...this.divideSegmentLine(segment)];
178
+ segmentArr = [
179
+ ...segmentArr,
180
+ ...this.divideSegmentLine(segment, isMetro ? this.stepBetweenPointsforMetro : this.stepBetweenPoints),
181
+ ];
175
182
  }
176
183
  // Make initial shapesGeometryAnchorPoints
177
184
  let stopCounter = 0;
@@ -271,6 +278,9 @@ class DelayComputationManager {
271
278
  };
272
279
  });
273
280
  };
281
+ const simpleConfig = ioc_1.IntegrationEngineContainer.resolve(CoreToken_1.CoreToken.SimpleConfig);
282
+ this.stepBetweenPoints = config_1.config.vehiclePositions.stepBetweenPoints;
283
+ this.stepBetweenPointsforMetro = Number(simpleConfig.getValue("module.pid.vehicle-positions.shapes.metro.stepBetweenPointsForMetro", "0.025"));
274
284
  }
275
285
  }
276
286
  exports.DelayComputationManager = DelayComputationManager;
@@ -1 +1 @@
1
- {"version":3,"file":"DelayComputationManager.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DelayComputationManager.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.ts"],"names":[],"mappings":"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"}
@@ -50,16 +50,6 @@ export default class PositionsManager {
50
50
  * @returns {IPositionToUpdate} - Result point as position to update in DB
51
51
  */
52
52
  private static getClosestPoint;
53
- /**
54
- * Returns date object for stop time
55
- * + given by start of day when trip starts
56
- * + and GTFS HH:mm:ss format of stop time in seconds
57
- *
58
- * @param {number} startDayTimestamp - Unix timestamp of local time midnight before trip starts
59
- * @param {number} timeSeconds - Number of seconds given by HH:mm:ss format of GTFS stop time
60
- * @returns {Date} - Returns date object
61
- */
62
- private static getLocalTimeToDateObject;
63
53
  /**
64
54
  * Corrects time delay at stop with dwelling time
65
55
  *
@@ -73,17 +63,16 @@ export default class PositionsManager {
73
63
  private static getCorrectedTimeDelay;
74
64
  /**
75
65
  * Get delay in seconds for positions before track to ensure correct delay propagation
76
- */
77
- private static getDelayBeforeTrack;
78
- /**
79
- * Get the daylight saving time (DST) offset of the first stop departure time relative to the start of the day of the current
80
- * position timestamp, in milliseconds
81
66
  *
82
- * @param firstStopDepartureTime The first stop departure time in seconds from the start of the day. For night trips, this
83
- * will be relative to the start of the previous day.
67
+ * @param lastPositionDelay The last position delay in seconds
68
+ * @param firstStopDepartureTime The first stop departure time in seconds. The time is measured from "noon minus 12h" of the
69
+ * service day (effectively midnight except for days on which daylight savings time changes occur). For times occurring after
70
+ * midnight on the service day, enter the time as a value greater than 24:00:00 in seconds. See also
71
+ * <https://gtfs.org/schedule/reference/#:~:text=A%20phone%20number.-,Time,-%2D%20Time%20in%20the>.
84
72
  * @param positionOriginUnixTimestamp The Unix Epoch timestamp of the current position, in milliseconds
73
+ * @param startDayUnixTimestamp The Unix Epoch timestamp of the start of the service day, in milliseconds
85
74
  */
86
- private static getDSTOffsetInMillis;
75
+ private static getDelayBeforeTrack;
87
76
  /**
88
77
  * Compute UTC timestamp of start of day when trip starts
89
78
  *
@@ -41,78 +41,49 @@ const moment_timezone_1 = __importDefault(require("moment-timezone"));
41
41
  const const_1 = require("../../../../../const");
42
42
  const RouteTypeEnums_1 = require("../../../../../helpers/RouteTypeEnums");
43
43
  const DPPUtils_1 = __importDefault(require("./DPPUtils"));
44
+ const DateTimeUtils_1 = require("./DateTimeUtils");
44
45
  const PositionHandlerEnum_1 = require("./PositionHandlerEnum");
45
46
  const ValidToCalculator_1 = __importDefault(require("./ValidToCalculator"));
46
47
  const AnchorPointSegmenter_1 = require("./anchor-points/AnchorPointSegmenter");
47
48
  const ComputeDelayHelper_1 = __importDefault(require("./compute-positions/ComputeDelayHelper"));
48
49
  const ONE_DAY_IN_SECONDS = 24 * 60 * 60;
49
- const ONE_HOUR_IN_SECONDS = 60 * 60;
50
+ const ONE_SECOND_IN_MILLIS = 1000;
50
51
  class PositionsManager {
51
52
  /**
52
53
  * Get delay in seconds for positions before track to ensure correct delay propagation
54
+ *
55
+ * @param lastPositionDelay The last position delay in seconds
56
+ * @param firstStopDepartureTime The first stop departure time in seconds. The time is measured from "noon minus 12h" of the
57
+ * service day (effectively midnight except for days on which daylight savings time changes occur). For times occurring after
58
+ * midnight on the service day, enter the time as a value greater than 24:00:00 in seconds. See also
59
+ * <https://gtfs.org/schedule/reference/#:~:text=A%20phone%20number.-,Time,-%2D%20Time%20in%20the>.
60
+ * @param positionOriginUnixTimestamp The Unix Epoch timestamp of the current position, in milliseconds
61
+ * @param startDayUnixTimestamp The Unix Epoch timestamp of the start of the service day, in milliseconds
53
62
  */
54
63
  static getDelayBeforeTrack(lastPositionDelay, firstStopDepartureTime, positionOriginUnixTimestamp, startDayUnixTimestamp) {
55
64
  if (typeof lastPositionDelay !== "number") {
56
65
  return null;
57
66
  }
58
- const dstOffsetInMillis = this.getDSTOffsetInMillis(firstStopDepartureTime, positionOriginUnixTimestamp);
59
- const firstStopDepartureTimeAccountingForDST = firstStopDepartureTime + dstOffsetInMillis / 1000;
60
- const departureTimeInSeconds = startDayUnixTimestamp / 1000 + firstStopDepartureTimeAccountingForDST;
61
- const positionOriginTimeInSeconds = positionOriginUnixTimestamp / 1000;
67
+ const startDayMoment = moment_timezone_1.default.utc(startDayUnixTimestamp).tz(DateTimeUtils_1.DateTimeUtils.TIMEZONE);
68
+ startDayMoment.hours(12).minutes(0).seconds(0).milliseconds(0);
69
+ startDayMoment.subtract(12, "hours");
70
+ startDayMoment.add(firstStopDepartureTime, "seconds");
71
+ const departureTimeInSeconds = Math.floor(startDayMoment.toDate().valueOf() / ONE_SECOND_IN_MILLIS);
72
+ const positionOriginTimeInSeconds = Math.floor(positionOriginUnixTimestamp / ONE_SECOND_IN_MILLIS);
62
73
  return Math.max(lastPositionDelay, positionOriginTimeInSeconds - departureTimeInSeconds);
63
74
  }
64
- /**
65
- * Get the daylight saving time (DST) offset of the first stop departure time relative to the start of the day of the current
66
- * position timestamp, in milliseconds
67
- *
68
- * @param firstStopDepartureTime The first stop departure time in seconds from the start of the day. For night trips, this
69
- * will be relative to the start of the previous day.
70
- * @param positionOriginUnixTimestamp The Unix Epoch timestamp of the current position, in milliseconds
71
- */
72
- static getDSTOffsetInMillis(firstStopDepartureTime, positionOriginUnixTimestamp) {
73
- const firstStopDepartureTimeHours = Math.floor((firstStopDepartureTime % ONE_DAY_IN_SECONDS) / ONE_HOUR_IN_SECONDS);
74
- const firstStopDepartureTimeMinutes = Math.floor((firstStopDepartureTime % ONE_HOUR_IN_SECONDS) / 60);
75
- const firstStopDepartureTimeSeconds = (firstStopDepartureTime % ONE_HOUR_IN_SECONDS) % 60;
76
- const startOfDay = moment_timezone_1.default.utc(positionOriginUnixTimestamp).tz("Europe/Prague").startOf("day");
77
- const startOfDayWithFirstStopDepartureTimeAdded = startOfDay
78
- .clone()
79
- .add(firstStopDepartureTime % ONE_DAY_IN_SECONDS, "seconds");
80
- const startOfDayWithFirstStopDepartureTimeSet = startOfDay
81
- .hours(firstStopDepartureTimeHours)
82
- .minutes(firstStopDepartureTimeMinutes)
83
- .seconds(firstStopDepartureTimeSeconds);
84
- const dstOffsetInMillis = startOfDayWithFirstStopDepartureTimeSet.valueOf() - startOfDayWithFirstStopDepartureTimeAdded.valueOf();
85
- return firstStopDepartureTime < ONE_DAY_IN_SECONDS || dstOffsetInMillis < 0 ? dstOffsetInMillis : 0;
86
- }
87
75
  static getStateAndStopSequences(gtfsRouteType, tripStopTimes, thisClosestPoint, positionProperties, context) {
88
- var _b, _c, _d;
76
+ var _b;
89
77
  let statePosition = thisClosestPoint.this_stop_sequence ? const_1.StatePositionEnum.AT_STOP : const_1.StatePositionEnum.ON_TRACK;
90
78
  let thisStopSequence = thisClosestPoint.this_stop_sequence;
91
79
  let lastStopSequence = thisClosestPoint.last_stop_sequence;
92
80
  let nextStopSequence = thisClosestPoint.next_stop_sequence;
93
- if (gtfsRouteType === RouteTypeEnums_1.GTFSRouteTypeEnum.METRO) {
94
- thisStopSequence = null;
95
- if (positionProperties.this_stop_id) {
96
- const thisStopTime = tripStopTimes.find((stopTime) => stopTime.stop_id === positionProperties.this_stop_id);
97
- if (thisStopTime) {
98
- statePosition = const_1.StatePositionEnum.AT_STOP;
99
- thisStopSequence = thisStopTime.stop_sequence;
100
- lastStopSequence = thisStopSequence;
101
- nextStopSequence = Math.min(tripStopTimes.length, thisStopSequence + 1);
102
- }
103
- }
104
- if (thisStopSequence === null) {
105
- statePosition = const_1.StatePositionEnum.ON_TRACK;
106
- if (context === null || context === void 0 ? void 0 : context.lastPositionTracking) {
107
- lastStopSequence = (_b = context.lastPositionTracking.properties.last_stop_sequence) !== null && _b !== void 0 ? _b : lastStopSequence;
108
- nextStopSequence = (_c = context.lastPositionTracking.properties.next_stop_sequence) !== null && _c !== void 0 ? _c : nextStopSequence;
109
- }
110
- }
111
- }
112
81
  // if current positions's TCP event is 'T' and previous position is tracked
113
- else if (positionProperties.tcp_event === const_1.TCPEventEnum.TIME && (context === null || context === void 0 ? void 0 : context.lastPositionTracking)) {
82
+ if (gtfsRouteType !== RouteTypeEnums_1.GTFSRouteTypeEnum.METRO &&
83
+ positionProperties.tcp_event === const_1.TCPEventEnum.TIME &&
84
+ (context === null || context === void 0 ? void 0 : context.lastPositionTracking)) {
114
85
  const previousPositionTcpEvent = context.lastPositionTracking.properties.tcp_event;
115
- const previousLastStopSequence = (_d = context.lastPositionTracking.properties.last_stop_sequence) !== null && _d !== void 0 ? _d : 0;
86
+ const previousLastStopSequence = (_b = context.lastPositionTracking.properties.last_stop_sequence) !== null && _b !== void 0 ? _b : 0;
116
87
  // if previous position was 'P' and current last stop sequence is lower than the previous last stop sequence
117
88
  // or if previous position was 'O', current position is at stop
118
89
  // and current last stop sequence is lower than the previous last stop sequence
@@ -399,11 +370,11 @@ PositionsManager.getClosestPoint = (currentPosition, context, startDayTimestamp,
399
370
  const tripStopTimes = tripGtfsData.stop_times;
400
371
  const firstTripShapePoint = tripShapePoints[0];
401
372
  const lastTripShapePoint = tripShapePoints[tripShapePoints.length - 1];
402
- const timeScheduledTimestamp = _a.getLocalTimeToDateObject(startDayTimestamp,
373
+ const timeScheduledTimestamp = DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(
403
374
  // take stop arrival time if is point at stop
404
375
  thisClosestPoint.this_stop_sequence
405
376
  ? tripStopTimes[thisClosestPoint.this_stop_sequence - 1].arrival_time_seconds
406
- : thisClosestPoint.time_scheduled_seconds);
377
+ : thisClosestPoint.time_scheduled_seconds, startDayTimestamp);
407
378
  let timeDelayInSeconds = Math.round((currentPosition.properties.origin_timestamp.getTime() - timeScheduledTimestamp.getTime()) / 1000);
408
379
  const isBusOrTram = gtfsRouteType === RouteTypeEnums_1.GTFSRouteTypeEnum.BUS ||
409
380
  gtfsRouteType === RouteTypeEnums_1.GTFSRouteTypeEnum.TROLLEYBUS ||
@@ -459,10 +430,10 @@ PositionsManager.getClosestPoint = (currentPosition, context, startDayTimestamp,
459
430
  last_stop_name: tripStopTimes[lastStopSequence - 1].stop.stop_name,
460
431
  next_stop_sequence: nextStopSequence,
461
432
  last_stop_sequence: lastStopSequence,
462
- next_stop_arrival_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[nextStopSequence - 1].arrival_time_seconds),
463
- last_stop_arrival_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[lastStopSequence - 1].arrival_time_seconds),
464
- next_stop_departure_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[nextStopSequence - 1].departure_time_seconds),
465
- last_stop_departure_time: _a.getLocalTimeToDateObject(startDayTimestamp, tripStopTimes[lastStopSequence - 1].departure_time_seconds),
433
+ next_stop_arrival_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[nextStopSequence - 1].arrival_time_seconds, startDayTimestamp),
434
+ last_stop_arrival_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[lastStopSequence - 1].arrival_time_seconds, startDayTimestamp),
435
+ next_stop_departure_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[nextStopSequence - 1].departure_time_seconds, startDayTimestamp),
436
+ last_stop_departure_time: DateTimeUtils_1.DateTimeUtils.getStopDateTimeForDayStart(tripStopTimes[lastStopSequence - 1].departure_time_seconds, startDayTimestamp),
466
437
  delay: timeDelayInSeconds,
467
438
  this_stop_id: (statePosition === const_1.StatePositionEnum.AT_STOP &&
468
439
  thisStopSequence &&
@@ -481,24 +452,6 @@ PositionsManager.getClosestPoint = (currentPosition, context, startDayTimestamp,
481
452
  };
482
453
  return estimatedPoint;
483
454
  };
484
- /**
485
- * Returns date object for stop time
486
- * + given by start of day when trip starts
487
- * + and GTFS HH:mm:ss format of stop time in seconds
488
- *
489
- * @param {number} startDayTimestamp - Unix timestamp of local time midnight before trip starts
490
- * @param {number} timeSeconds - Number of seconds given by HH:mm:ss format of GTFS stop time
491
- * @returns {Date} - Returns date object
492
- */
493
- PositionsManager.getLocalTimeToDateObject = (startDayTimestamp, timeSeconds) => {
494
- return (0, moment_timezone_1.default)(startDayTimestamp)
495
- .tz("Europe/Prague")
496
- .startOf("day")
497
- .hours(Math.floor(timeSeconds / 3600))
498
- .minutes(Math.floor((timeSeconds % 3600) / 60))
499
- .seconds(timeSeconds % 60)
500
- .toDate();
501
- };
502
455
  /**
503
456
  * Corrects time delay at stop with dwelling time
504
457
  *
@@ -1 +1 @@
1
- {"version":3,"file":"PositionsManager.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PositionsManager.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.ts"],"names":[],"mappings":"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"}
@@ -35,19 +35,23 @@ class MetroDelayAtStop extends AbstractDelayAtStop_1.default {
35
35
  context = this.resetContext(context, positionToUpdate, position);
36
36
  positionToUpdate.delay_stop_arrival = context.lastPositionLastStop.arrival_delay;
37
37
  positionToUpdate.delay_stop_departure = context.lastPositionLastStop.departure_delay;
38
- // Compute delay of the current metro position
39
- // as the difference between the scheduled and the origin timestamp of the original message
40
- let delayInSeconds = null;
41
- if (position.origin_timestamp !== null && position.scheduled_timestamp !== null) {
42
- delayInSeconds = (position.origin_timestamp.getTime() - position.scheduled_timestamp.getTime()) / 1000;
43
- }
44
38
  if (positionToUpdate.state_position === const_1.StatePositionEnum.AT_STOP && context.atStopStreak.stop_sequence === null) {
45
- positionToUpdate.delay_stop_arrival =
46
- delayInSeconds === null ? null : delayInSeconds + this.metroArrivalDelayAddition;
39
+ if (positionToUpdate.last_stop_sequence === 1) {
40
+ // first stop
41
+ positionToUpdate.delay_stop_arrival = null;
42
+ }
43
+ else {
44
+ const delayAtStopInSeconds = this.calcDelayAtStop(position.origin_timestamp.getTime(), positionToUpdate.last_stop_arrival_time);
45
+ positionToUpdate.delay_stop_arrival = delayAtStopInSeconds
46
+ ? delayAtStopInSeconds + this.metroArrivalDelayAddition
47
+ : null;
48
+ }
47
49
  }
48
50
  else if (positionToUpdate.state_position === const_1.StatePositionEnum.ON_TRACK && context.atStopStreak.stop_sequence) {
49
- positionToUpdate.delay_stop_departure =
50
- delayInSeconds === null ? null : delayInSeconds + this.metroDepartureDelayAddition;
51
+ const delayAtStopInSeconds = this.calcDelayAtStop(position.origin_timestamp.getTime(), positionToUpdate.last_stop_departure_time);
52
+ positionToUpdate.delay_stop_departure = delayAtStopInSeconds
53
+ ? delayAtStopInSeconds + this.metroDepartureDelayAddition
54
+ : null;
51
55
  }
52
56
  return positionToUpdate;
53
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MetroDelayAtStop.js","sourceRoot":"","sources":["../../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MetroDelayAtStop.js","sourceRoot":"","sources":["../../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { GeoMeasurementHelper } from "../../../../../../helpers/geo/GeoMeasurementHelper";
2
+ import { CachedMetroRailTrackLookup } from "../../data-access/metro/CachedMetroRailtrackLookup";
3
+ import { IComputationTrip } from "../../interfaces/VPInterfaces";
4
+ export declare class MetroShapePointsFixer {
5
+ private cachedMetroRailTrackLookup;
6
+ private geoMeasurementHelper;
7
+ constructor(cachedMetroRailTrackLookup: CachedMetroRailTrackLookup, geoMeasurementHelper: GeoMeasurementHelper);
8
+ fix(data: IComputationTrip): Promise<IComputationTrip>;
9
+ private getSequenceByStopId;
10
+ private getClosestMetroRailtrack;
11
+ private getPossibleStops;
12
+ }
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.MetroShapePointsFixer = void 0;
25
+ const GeoMeasurementHelper_1 = require("../../../../../../helpers/geo/GeoMeasurementHelper");
26
+ const ModuleContainerToken_1 = require("../../../../../ioc/ModuleContainerToken");
27
+ const VPContainerToken_1 = require("../../../../ioc/VPContainerToken");
28
+ const MetroRouteHelper_1 = require("../../../runs/helpers/MetroRouteHelper");
29
+ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
30
+ const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
31
+ const CachedMetroRailtrackLookup_1 = require("../../data-access/metro/CachedMetroRailtrackLookup");
32
+ let MetroShapePointsFixer = exports.MetroShapePointsFixer = class MetroShapePointsFixer {
33
+ constructor(cachedMetroRailTrackLookup, geoMeasurementHelper) {
34
+ this.cachedMetroRailTrackLookup = cachedMetroRailTrackLookup;
35
+ this.geoMeasurementHelper = geoMeasurementHelper;
36
+ }
37
+ fix(data) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ try {
40
+ const clonedData = structuredClone(data);
41
+ // load metro obvody
42
+ const metroRailtrackLookup = yield this.cachedMetroRailTrackLookup.getAllByRouteName(MetroRouteHelper_1.MetroRouteHelper.getRouteName(data.trip_id));
43
+ let lastKnownStopSequence = null;
44
+ const maxStopSequence = clonedData.stop_times.length;
45
+ for (let index = 0; index < clonedData.shapes_anchor_points.length; index++) {
46
+ const shape = clonedData.shapes_anchor_points[index];
47
+ const possibleStops = this.getPossibleStops(clonedData.stop_times, lastKnownStopSequence);
48
+ const closestMetroRailtrack = this.getClosestMetroRailtrack(shape, metroRailtrackLookup, possibleStops);
49
+ const thisStopSequence = this.getSequenceByStopId(closestMetroRailtrack.gtfs_stop_id, clonedData.stop_times);
50
+ if (thisStopSequence) {
51
+ lastKnownStopSequence = thisStopSequence;
52
+ }
53
+ shape.at_stop = closestMetroRailtrack.gtfs_stop_id && thisStopSequence ? true : false;
54
+ shape.this_stop_sequence = thisStopSequence;
55
+ shape.next_stop_sequence = lastKnownStopSequence ? Math.min(lastKnownStopSequence + 1, maxStopSequence) : 2;
56
+ shape.last_stop_sequence = lastKnownStopSequence && lastKnownStopSequence > 1 ? lastKnownStopSequence : 1;
57
+ if (shape.at_stop) {
58
+ shape.last_stop_sequence = shape.this_stop_sequence;
59
+ }
60
+ }
61
+ return clonedData;
62
+ }
63
+ catch (err) {
64
+ throw new golemio_errors_1.GeneralError("Unable to fix metro shape points: " + err.message, this.constructor.name, err);
65
+ }
66
+ });
67
+ }
68
+ getSequenceByStopId(gtfs_stop_id, stop_times) {
69
+ var _a, _b, _c;
70
+ const regex = /U(?<node>.*)Z/;
71
+ const node = (_b = (_a = regex.exec(gtfs_stop_id || "")) === null || _a === void 0 ? void 0 : _a.groups) === null || _b === void 0 ? void 0 : _b.node;
72
+ if (node && node.length > 0) {
73
+ return ((_c = stop_times.find((stop_time) => { var _a, _b; return ((_b = (_a = regex.exec(stop_time.stop_id)) === null || _a === void 0 ? void 0 : _a.groups) === null || _b === void 0 ? void 0 : _b.node) === node; })) === null || _c === void 0 ? void 0 : _c.stop_sequence) || null;
74
+ }
75
+ else {
76
+ return null;
77
+ }
78
+ }
79
+ getClosestMetroRailtrack(shape, metroRailtrackLookup, possibleStops) {
80
+ // find closest metroRailtrack for shape.coordinates
81
+ const result = metroRailtrackLookup
82
+ .map((metroRailtrack) => {
83
+ return Object.assign(Object.assign({}, metroRailtrack), { distance: this.geoMeasurementHelper.getDistanceInMeters(shape.coordinates, metroRailtrack.coordinates.coordinates) });
84
+ })
85
+ .sort((a, b) => a.distance - b.distance);
86
+ const resultsWithing15Meters = result.filter((el) => el.distance < 15);
87
+ if (resultsWithing15Meters.length > 0) {
88
+ for (const railtrack of resultsWithing15Meters) {
89
+ if (possibleStops.some((el) => el === railtrack.gtfs_stop_id)) {
90
+ return railtrack;
91
+ }
92
+ }
93
+ return resultsWithing15Meters[0];
94
+ }
95
+ // if no railtrack is within 15 meters, return closest railtrack without stop_id
96
+ return result.filter((el) => !el.gtfs_stop_id)[0];
97
+ }
98
+ getPossibleStops(stopTimes, lastKnownStopSequence) {
99
+ // since we dont know direction for railtrack data, we check concrete stops in one direction
100
+ // to ensure proper matching with shape
101
+ const result = [];
102
+ if (lastKnownStopSequence === null) {
103
+ result.push(stopTimes[0].stop_id);
104
+ }
105
+ else {
106
+ result.push(stopTimes[lastKnownStopSequence - 1].stop_id);
107
+ if (lastKnownStopSequence < stopTimes.length) {
108
+ result.push(stopTimes[lastKnownStopSequence].stop_id);
109
+ }
110
+ }
111
+ return result;
112
+ }
113
+ };
114
+ exports.MetroShapePointsFixer = MetroShapePointsFixer = __decorate([
115
+ (0, tsyringe_1.injectable)(),
116
+ __param(0, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.CachedMetroRailTrackLookup)),
117
+ __param(1, (0, tsyringe_1.inject)(ModuleContainerToken_1.ModuleContainerToken.GeoMeasurementHelper)),
118
+ __metadata("design:paramtypes", [CachedMetroRailtrackLookup_1.CachedMetroRailTrackLookup,
119
+ GeoMeasurementHelper_1.GeoMeasurementHelper])
120
+ ], MetroShapePointsFixer);
121
+ //# sourceMappingURL=MetroShapePointsFixer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetroShapePointsFixer.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.ts"],"names":[],"mappings":"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"}
@@ -44,16 +44,6 @@ export declare class RegionalBusPositionsManager {
44
44
  * @returns {IPositionToUpdate} - Result point as position to update in DB
45
45
  */
46
46
  private static getClosestPoint;
47
- /**
48
- * Returns date object for stop time
49
- * + given by start of day when trip starts
50
- * + and GTFS HH:mm:ss format of stop time in seconds
51
- *
52
- * @param {number} startDayTimestamp - Unix timestamp of local time midnight before trip starts
53
- * @param {number} timeSeconds - Number of seconds given by HH:mm:ss format of GTFS stop time
54
- * @returns {Date} - Returns date object
55
- */
56
- private static getLocalTimeToDateObject;
57
47
  /**
58
48
  * Corrects time delay at stop with dwelling time
59
49
  *