@golemio/pid 5.5.0 → 5.5.1-dev.2307186507
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/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.d.ts +2 -1
- package/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.js +37 -7
- package/dist/output-gateway/pid/controllers/v4/V4TransferBoardsController.js.map +1 -1
- package/dist/output-gateway/pid/helpers/TransferBoardFilter.d.ts +5 -2
- package/dist/output-gateway/pid/helpers/TransferBoardFilter.js +22 -3
- package/dist/output-gateway/pid/helpers/TransferBoardFilter.js.map +1 -1
- package/dist/output-gateway/pid/interfaces/IDepartureWithPosition.d.ts +1 -0
- package/dist/output-gateway/pid/interfaces/IV4TransferDepartureOutputDto.d.ts +1 -0
- package/dist/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.d.ts +1 -0
- package/dist/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.js +2 -1
- package/dist/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.js.map +1 -1
- package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js +12 -3
- package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js.map +1 -1
- package/dist/output-gateway/shared/DepartureCalculator.js +1 -1
- package/dist/output-gateway/shared/DepartureCalculator.js.map +1 -1
- package/docs/cache/types/redis.md +1 -0
- package/docs/jis/missing.md +110 -0
- package/docs/openapi-output.yaml +17 -5
- package/package.json +1 -1
|
@@ -16,6 +16,7 @@ export declare class V4TransferBoardsController {
|
|
|
16
16
|
constructor(config: ISimpleConfig, stopFacade: StopFacade, infotextFacade: InfotextFacade, transferFacade: TransferFacade, transformation: TransferDepartureCacheTransformation);
|
|
17
17
|
getTransferBoardData: RequestHandler;
|
|
18
18
|
private accessibilityForStops;
|
|
19
|
-
private
|
|
19
|
+
private enhanceInPlaceWithTimeAndInfo;
|
|
20
|
+
private enhanceInPlaceWithGuaranteedTransfers;
|
|
20
21
|
private parseTransferBoardsParams;
|
|
21
22
|
}
|
|
@@ -113,19 +113,32 @@ let V4TransferBoardsController = V4TransferBoardsController_1 = class V4Transfer
|
|
|
113
113
|
}
|
|
114
114
|
// add predictedDeparture date/timestamp to transfers
|
|
115
115
|
// compute accessibility for available transfers
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
transferCacheDto.transfers = TransferBoardFilter_1.TransferBoardFilter.sameStopNameTransfer(transferCacheDto.transfers, transferStop.stop_id, sameNameStopIds,
|
|
116
|
+
this.enhanceInPlaceWithTimeAndInfo(transferCacheDto, stopsInfo);
|
|
117
|
+
const guaranteedTransferTripIds = new Set(TransferBoardFilter_1.TransferBoardFilter.havingConnectionFromTripId(transferCacheDto.currentTripId, transferCacheDto.transfers, transferCacheDto.delayedTimeFrom).flatMap((t) => t.departure.trip_id));
|
|
118
|
+
transferCacheDto.transfers = TransferBoardFilter_1.TransferBoardFilter.minimalTransferTime(transferCacheDto.transfers, transferCacheDto.delayedTimeFrom, guaranteedTransferTripIds);
|
|
119
|
+
transferCacheDto.transfers = TransferBoardFilter_1.TransferBoardFilter.sameStopNameTransfer(transferCacheDto.transfers, transferStop.stop_id, sameNameStopIds, guaranteedTransferTripIds, false);
|
|
120
120
|
const tripIdsToReadStopsUsingDelay = new Set(TransferBoardFilter_1.TransferBoardFilter.filterOutKeepAlwaysTransfer(transferCacheDto.transfers).map((transfer) => transfer.departure.trip_id));
|
|
121
|
+
for (const guaranteedTripId of guaranteedTransferTripIds) {
|
|
122
|
+
// No need to search stopTime / delayComputation Caches of guaranteed transfers,
|
|
123
|
+
// we consider them as "show always" (as long as max waiting time permits)
|
|
124
|
+
tripIdsToReadStopsUsingDelay.delete(guaranteedTripId);
|
|
125
|
+
}
|
|
126
|
+
this.enhanceInPlaceWithGuaranteedTransfers(transferCacheDto, guaranteedTransferTripIds);
|
|
127
|
+
TransferBoardSorter_1.TransferBoardSorter.sortDepartures(transferCacheDto.transfers);
|
|
128
|
+
// As long as we have position (with vehicle_id), we can read from stopTime Cache (cheap & fast)
|
|
129
|
+
// but otherwise we fallback to reading from delayComputation Cache (a bit costly JSON traverse) by trip_id(s)
|
|
121
130
|
const stopTimeIdsTuples = transferCacheDto.transfers.reduce((prev, t) => {
|
|
122
131
|
if (tripIdsToReadStopsUsingDelay.has(t.departure.trip_id) && t.position?.vehicle_id != null) {
|
|
123
132
|
tripIdsToReadStopsUsingDelay.delete(t.departure.trip_id);
|
|
133
|
+
// tuples are for stopTime Cache
|
|
124
134
|
prev.push([t.position.vehicle_id, t.departure.trip_id]);
|
|
125
135
|
}
|
|
126
136
|
return prev;
|
|
127
137
|
}, []);
|
|
128
138
|
const tripIdsToKeep = new Set(await this.transferFacade.findRelevantTripIdsFromLines(tripIdsToReadStopsUsingDelay, transferCacheDto.currentStop, transferCacheDto.currentTripId, stopTimeIdsTuples, this.countPreviousStopsToAllow));
|
|
139
|
+
guaranteedTransferTripIds.forEach((guaranteedTripId) => {
|
|
140
|
+
tripIdsToKeep.add(guaranteedTripId);
|
|
141
|
+
});
|
|
129
142
|
transferCacheDto.transfers = TransferBoardFilter_1.TransferBoardFilter.keepAlwaysLinesAndTripIds(transferCacheDto.transfers, tripIdsToKeep);
|
|
130
143
|
const transformedData = this.transformation.transformArray(transferCacheDto.transfers);
|
|
131
144
|
const filteredData = TransferBoardFilter_1.TransferBoardFilter.filterDepartures(transformedData, params.limit, transferCacheDto.delayedTimeFrom.getTime(), now.getTime());
|
|
@@ -155,9 +168,9 @@ let V4TransferBoardsController = V4TransferBoardsController_1 = class V4Transfer
|
|
|
155
168
|
}
|
|
156
169
|
return accessibilityStopIdsMap;
|
|
157
170
|
}
|
|
158
|
-
|
|
171
|
+
enhanceInPlaceWithTimeAndInfo(transferCacheDto, stopsInfo) {
|
|
159
172
|
const accessibilityStopIdsMap = this.accessibilityForStops(stopsInfo);
|
|
160
|
-
|
|
173
|
+
transferCacheDto.transfers.forEach((t) => {
|
|
161
174
|
const accessibility = {
|
|
162
175
|
route_type: t.departure.route_type,
|
|
163
176
|
wheelchair_accessible: null,
|
|
@@ -176,7 +189,24 @@ let V4TransferBoardsController = V4TransferBoardsController_1 = class V4Transfer
|
|
|
176
189
|
t.departure.is_wheelchair_accessible = DepartureBoardMapper_1.default.resolveAccessibility(accessibility);
|
|
177
190
|
t.departure.predictedDepartureDate = shared_1.DepartureCalculator.getPredictedDepartureTime(new Date(t.departure.departure_datetime), t.departure.arrival_datetime ? new Date(t.departure.arrival_datetime) : null, t.position?.delay ?? null);
|
|
178
191
|
t.departure.predictedDepartureTimestamp = t.departure.predictedDepartureDate.getTime();
|
|
179
|
-
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
enhanceInPlaceWithGuaranteedTransfers(transferCacheDto, tripIds) {
|
|
195
|
+
// guaranteed transfers will show minutes as if they are departing at the time of current trip arrival
|
|
196
|
+
const predictedArrivalDate = new Date(transferCacheDto.delayedTimeFrom);
|
|
197
|
+
const predictedArrivalTimestamp = predictedArrivalDate.getTime();
|
|
198
|
+
transferCacheDto.transfers.forEach((t) => {
|
|
199
|
+
t.departure.is_guaranteed_transfer = tripIds.has(t.departure.trip_id);
|
|
200
|
+
if (t.departure.is_guaranteed_transfer) {
|
|
201
|
+
// Move predicted departure date (in past) to current-trip's (later), so we show minutes as
|
|
202
|
+
// if the vehicle departs at our time of arrival = people should exit the current trip's vehicle
|
|
203
|
+
// Example: We arrive at 18:05, transfer departs at 18:03 (but waits up to 5 minutes)
|
|
204
|
+
// ... will set predicted departure happening at 18:05 = same as our arrival
|
|
205
|
+
if (predictedArrivalTimestamp > t.departure.predictedDepartureTimestamp) {
|
|
206
|
+
t.departure.predictedDepartureDate = predictedArrivalDate;
|
|
207
|
+
t.departure.predictedDepartureTimestamp = predictedArrivalTimestamp;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
180
210
|
});
|
|
181
211
|
}
|
|
182
212
|
parseTransferBoardsParams(query) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"V4TransferBoardsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v4/V4TransferBoardsController.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"V4TransferBoardsController.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/controllers/v4/V4TransferBoardsController.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,15 +3,18 @@ import { IDepartureWithPosition } from "../interfaces/IDepartureWithPosition";
|
|
|
3
3
|
import { IV4TransferDepartureOutputDto } from "../interfaces/IV4TransferDepartureOutputDto";
|
|
4
4
|
export declare class TransferBoardFilter {
|
|
5
5
|
static filterDepartures(transfers: IV4TransferDepartureOutputDto[], limit: number, arrivalTimeMs: number, requestTimeFromMs: number): IV4TransferDepartureOutputDto[];
|
|
6
|
+
static havingConnectionFromTripId(fromTripId: string, transfers: IDepartureWithPosition[], delayedTimeFrom: Date): IDepartureWithPosition[];
|
|
7
|
+
private static hasConnectionWaitingTimeBeforeArrival;
|
|
8
|
+
private static shiftedDepartureMs;
|
|
6
9
|
private static shouldKeepTransferAlways;
|
|
7
10
|
static filterOutKeepAlwaysTransfer(transfers: IDepartureWithPosition[]): IDepartureWithPosition[];
|
|
8
11
|
static keepAlwaysLinesAndTripIds(transfers: IDepartureWithPosition[], tripIdsToKeep: Set<string>): IDepartureWithPosition[];
|
|
9
|
-
static minimalTransferTime(transfers: IDepartureWithPosition[], delayedTimeFrom: Date): IDepartureWithPosition[];
|
|
12
|
+
static minimalTransferTime(transfers: IDepartureWithPosition[], delayedTimeFrom: Date, keepTripIds: Set<string>): IDepartureWithPosition[];
|
|
10
13
|
static sameStopNameTransfer(transfers: Array<IDepartureWithPosition | {
|
|
11
14
|
departure: IPublicGtfsDepartureCacheDto;
|
|
12
15
|
}>, currentStopId: string, allowedStopIds: string[], keepTripIds: Set<string> | null, keepDeparturesWithConnections: boolean): Array<IDepartureWithPosition | {
|
|
13
16
|
departure: IPublicGtfsDepartureCacheDto;
|
|
14
17
|
}>;
|
|
15
18
|
private static allowedTransferOnStop;
|
|
16
|
-
private static
|
|
19
|
+
private static isInRangeOrGuaranteed;
|
|
17
20
|
}
|
|
@@ -45,7 +45,7 @@ class TransferBoardFilter {
|
|
|
45
45
|
if (seenTripIds.has(transfer.trip.id)) {
|
|
46
46
|
continue;
|
|
47
47
|
}
|
|
48
|
-
if (!TransferBoardFilter.
|
|
48
|
+
if (!TransferBoardFilter.isInRangeOrGuaranteed(transfer, requestTimeFromMs, timeEndMs)) {
|
|
49
49
|
continue;
|
|
50
50
|
}
|
|
51
51
|
seenTripIds.add(transfer.trip.id);
|
|
@@ -54,6 +54,19 @@ class TransferBoardFilter {
|
|
|
54
54
|
// Departures are already sorted so that metro ones are first
|
|
55
55
|
return filteredDepartures;
|
|
56
56
|
}
|
|
57
|
+
static havingConnectionFromTripId(fromTripId, transfers, delayedTimeFrom) {
|
|
58
|
+
const delayedTimeFromMs = delayedTimeFrom.getTime();
|
|
59
|
+
return transfers.filter((t) => TransferBoardFilter.hasConnectionWaitingTimeBeforeArrival(t.departure, fromTripId, delayedTimeFromMs));
|
|
60
|
+
}
|
|
61
|
+
static hasConnectionWaitingTimeBeforeArrival(departure, tripId, arrivalTimeMs) {
|
|
62
|
+
return !!departure.connections?.some((con) => {
|
|
63
|
+
return (con.from_trip_id === tripId && arrivalTimeMs < TransferBoardFilter.shiftedDepartureMs(departure, con.max_wait_sec));
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
static shiftedDepartureMs(departure, maxWaitSec) {
|
|
67
|
+
const shiftedDeparture = new Date(departure.departure_datetime).getTime() + maxWaitSec * 1000;
|
|
68
|
+
return shiftedDeparture;
|
|
69
|
+
}
|
|
57
70
|
static shouldKeepTransferAlways(transfer) {
|
|
58
71
|
return TRANSFER_LINE_TYPES_TO_KEEP.has(transfer.departure.route_type);
|
|
59
72
|
}
|
|
@@ -65,9 +78,12 @@ class TransferBoardFilter {
|
|
|
65
78
|
return TransferBoardFilter.shouldKeepTransferAlways(t) || tripIdsToKeep.has(t.departure.trip_id);
|
|
66
79
|
});
|
|
67
80
|
}
|
|
68
|
-
static minimalTransferTime(transfers, delayedTimeFrom) {
|
|
81
|
+
static minimalTransferTime(transfers, delayedTimeFrom, keepTripIds) {
|
|
69
82
|
const arrivalTime = delayedTimeFrom.getTime();
|
|
70
83
|
return transfers.filter((t) => {
|
|
84
|
+
if (keepTripIds.has(t.departure.trip_id)) {
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
71
87
|
const transferTimeMs = TRANSFER_TIMES_MS.get(t.departure.route_type) || DEFAULT_TRANSFER_TIME_MS;
|
|
72
88
|
if (t.departure.predictedDepartureTimestamp == null) {
|
|
73
89
|
return false;
|
|
@@ -98,7 +114,10 @@ class TransferBoardFilter {
|
|
|
98
114
|
}
|
|
99
115
|
return allowedStopAsws.has(departureStopAsw);
|
|
100
116
|
}
|
|
101
|
-
static
|
|
117
|
+
static isInRangeOrGuaranteed(departure, timeRangeStart, timeRangeEnd) {
|
|
118
|
+
if (departure.trip.is_guaranteed_transfer) {
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
102
121
|
// departureMinutes are relative to timeFrom request parameter
|
|
103
122
|
const departureMinutes = departure.departure_timestamp.minutes[0] === "<1" ? 1 : Number(departure.departure_timestamp.minutes[0]);
|
|
104
123
|
if (isNaN(departureMinutes))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransferBoardFilter.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/helpers/TransferBoardFilter.ts"],"names":[],"mappings":";;;AAAA,oEAAyD;AACzD,oEAA4D;AAK5D,MAAM,wBAAwB,GAAG,EAAE,GAAG,IAAI,CAAC;AAE3C,MAAM,iBAAiB,GAAmC,IAAI,GAAG,CAAC;IAC9D,CAAC,kCAAiB,CAAC,GAAG,EAAE,MAAM,CAAC;IAC/B,CAAC,kCAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAC7C,CAAC,kCAAiB,CAAC,KAAK,EAAE,OAAO,CAAC;IAClC,CAAC,kCAAiB,CAAC,SAAS,EAAE,OAAO,CAAC;IACtC,CAAC,kCAAiB,CAAC,KAAK,EAAE,OAAO,CAAC;IAClC,CAAC,kCAAiB,CAAC,KAAK,EAAE,OAAO,CAAC;IAClC,CAAC,kCAAiB,CAAC,IAAI,EAAE,MAAM,CAAC;IAChC,CAAC,kCAAiB,CAAC,UAAU,EAAE,MAAM,CAAC;CACzC,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAAoC,IAAI,GAAG,CAAC;IACzE,CAAC,kCAAiB,CAAC,GAAG,EAAE,KAAK,CAAC;IAC9B,CAAC,kCAAiB,CAAC,iBAAiB,EAAE,IAAI,CAAC;IAC3C,CAAC,kCAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;IAC/B,CAAC,kCAAiB,CAAC,SAAS,EAAE,IAAI,CAAC;IACnC,CAAC,kCAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;IAC/B,CAAC,kCAAiB,CAAC,KAAK,EAAE,IAAI,CAAC;IAC/B,CAAC,kCAAiB,CAAC,IAAI,EAAE,KAAK,CAAC;IAC/B,CAAC,kCAAiB,CAAC,UAAU,EAAE,KAAK,CAAC;CACxC,CAAC,CAAC;AAEH,MAAM,2BAA2B,GAA2B,IAAI,GAAG,CAAC;IAChE,kCAAiB,CAAC,KAAK;IACvB,kCAAiB,CAAC,SAAS;IAC3B,kCAAiB,CAAC,KAAK;IACvB,kCAAiB,CAAC,KAAK;CAC1B,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtC,MAAa,mBAAmB;IACrB,MAAM,CAAC,gBAAgB,CAC1B,SAA0C,EAC1C,KAAa,EACb,aAAqB,EACrB,iBAAyB;QAEzB,MAAM,kBAAkB,GAAoC,EAAE,CAAC;QAE/D,oEAAoE;QACpE,MAAM,0BAA0B,GAAG,aAAa,GAAG,iBAAiB,CAAC;QACrE,MAAM,SAAS,GAAG,iBAAiB,GAAG,0BAA0B,GAAG,cAAc,CAAC;QAElF,MAAM,WAAW,GAAgB,IAAI,GAAG,EAAE,CAAC;QAC3C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/B,IAAI,kBAAkB,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBACtC,MAAM;YACV,CAAC;YACD,IAAI,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpC,SAAS;YACb,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"TransferBoardFilter.js","sourceRoot":"","sources":["../../../../src/output-gateway/pid/helpers/TransferBoardFilter.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ export interface IDepartureWithPosition {
|
|
|
6
6
|
predictedDepartureDate?: Date;
|
|
7
7
|
predictedDepartureTimestamp?: number;
|
|
8
8
|
is_wheelchair_accessible?: boolean | null;
|
|
9
|
+
is_guaranteed_transfer?: boolean | null;
|
|
9
10
|
};
|
|
10
11
|
position: IPublicApiCacheDto | null;
|
|
11
12
|
stopTime: IPublicStopTimeCacheDto | null;
|
package/dist/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.js
CHANGED
|
@@ -66,6 +66,7 @@ let TransferDepartureCacheTransformation = class TransferDepartureCacheTransform
|
|
|
66
66
|
headsign: HeadsignFormatter_1.HeadsignFormatter.format(departure.trip_headsign),
|
|
67
67
|
id: departure.trip_id,
|
|
68
68
|
is_wheelchair_accessible: departure.is_wheelchair_accessible ?? null,
|
|
69
|
+
is_guaranteed_transfer: departure.is_guaranteed_transfer ?? false,
|
|
69
70
|
},
|
|
70
71
|
icons: TransferBoardIconsResolver_1.TransferBoardIconsResolver.headsignToIconsList(data.departure.trip_headsign_icons, departure.route_type, null),
|
|
71
72
|
substitution_text: null,
|
|
@@ -74,7 +75,7 @@ let TransferDepartureCacheTransformation = class TransferDepartureCacheTransform
|
|
|
74
75
|
}
|
|
75
76
|
calculateDepartureMinutes(departureTime) {
|
|
76
77
|
const departure_minutes = shared_1.DepartureCalculator.getDepartureMinutes(departureTime);
|
|
77
|
-
if (departure_minutes < 1
|
|
78
|
+
if (departure_minutes < 1) {
|
|
78
79
|
return "<1";
|
|
79
80
|
}
|
|
80
81
|
return departure_minutes.toString();
|
package/dist/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransferDepartureCacheTransformation.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TransferDepartureCacheTransformation.js","sourceRoot":"","sources":["../../../../../src/output-gateway/pid/service/transformations/TransferDepartureCacheTransformation.ts"],"names":[],"mappings":"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"}
|
|
@@ -131,9 +131,18 @@ let PublicVehiclePositionsRepository = class PublicVehiclePositionsRepository {
|
|
|
131
131
|
try {
|
|
132
132
|
// TODO optimization point here - use JSON.GET once it's available in the redis/valkey server
|
|
133
133
|
const allPositions = await this.getAllVehiclePositions(vehicleIds);
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
134
|
+
// trips that HAVE positions
|
|
135
|
+
const tripsWithPositions = new Set();
|
|
136
|
+
for (const position of allPositions) {
|
|
137
|
+
tripsWithPositions.add(position.gtfs_trip_id);
|
|
138
|
+
if (position.delay === null) {
|
|
139
|
+
untrackedTrips.add(position.gtfs_trip_id);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
// trips that DON'T have any position (they are also untracked )
|
|
143
|
+
for (const tripId of tripIds) {
|
|
144
|
+
if (!tripsWithPositions.has(tripId)) {
|
|
145
|
+
untrackedTrips.add(tripId);
|
|
137
146
|
}
|
|
138
147
|
}
|
|
139
148
|
}
|
package/dist/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicVehiclePositionsRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PublicVehiclePositionsRepository.js","sourceRoot":"","sources":["../../../../../src/output-gateway/public/data-access/redis/PublicVehiclePositionsRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ class DepartureCalculator {
|
|
|
19
19
|
* Calculates the number of minutes until the predicted departure time.
|
|
20
20
|
**/
|
|
21
21
|
static getDepartureMinutes(predictedDepartureTime) {
|
|
22
|
-
return Math.round((predictedDepartureTime.getTime() -
|
|
22
|
+
return Math.round((predictedDepartureTime.getTime() - Date.now()) / 60_000);
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
exports.DepartureCalculator = DepartureCalculator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepartureCalculator.js","sourceRoot":"","sources":["../../../src/output-gateway/shared/DepartureCalculator.ts"],"names":[],"mappings":";;;AAAA,MAAa,mBAAmB;IAC5B;;QAEI;IACG,MAAM,CAAC,yBAAyB,CAAC,aAAmB,EAAE,WAAwB,EAAE,cAA6B;QAChH,IAAI,yBAAyB,GAAG,cAAc,IAAI,CAAC,CAAC;QACpD,IAAI,qBAAqB,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,yBAAyB,GAAG,IAAI,CAAC,CAAC;QAEjG,IAAI,WAAW,KAAK,IAAI,IAAI,yBAAyB,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,cAAc,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;YAChF,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC;YAE9E,qBAAqB,CAAC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,GAAG,iBAAiB,GAAG,IAAI,CAAC,CAAC;QAC9F,CAAC;QAED,OAAO,qBAAqB,CAAC;IACjC,CAAC;IAED;;QAEI;IACG,MAAM,CAAC,mBAAmB,CAAC,sBAA4B;QAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,OAAO,EAAE,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"DepartureCalculator.js","sourceRoot":"","sources":["../../../src/output-gateway/shared/DepartureCalculator.ts"],"names":[],"mappings":";;;AAAA,MAAa,mBAAmB;IAC5B;;QAEI;IACG,MAAM,CAAC,yBAAyB,CAAC,aAAmB,EAAE,WAAwB,EAAE,cAA6B;QAChH,IAAI,yBAAyB,GAAG,cAAc,IAAI,CAAC,CAAC;QACpD,IAAI,qBAAqB,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,yBAAyB,GAAG,IAAI,CAAC,CAAC;QAEjG,IAAI,WAAW,KAAK,IAAI,IAAI,yBAAyB,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,cAAc,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;YAChF,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE,cAAc,CAAC,CAAC;YAE9E,qBAAqB,CAAC,OAAO,CAAC,qBAAqB,CAAC,OAAO,EAAE,GAAG,iBAAiB,GAAG,IAAI,CAAC,CAAC;QAC9F,CAAC;QAED,OAAO,qBAAqB,CAAC;IACjC,CAAC;IAED;;QAEI;IACG,MAAM,CAAC,mBAAmB,CAAC,sBAA4B;QAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IAChF,CAAC;CACJ;AAxBD,kDAwBC"}
|
|
@@ -301,6 +301,7 @@ flowchart TD
|
|
|
301
301
|
- Jednou za hodinu se vygenerují nové odjezdy pro všechny zastávky v intervalu +5 hodin až +7 hodin, po přenačtení JŘ se přegenerují všechny odjezdy v interval -3 hodiny až +7 hodin
|
|
302
302
|
- Ukládá se pomocí `ZADD`, čte se pomocí `ZRANGEBYSCORE` (-inf, now + `minutesAfter`)
|
|
303
303
|
- Využití v public odjezdech
|
|
304
|
+
- Využití v endpointu přestupních tabulí
|
|
304
305
|
|
|
305
306
|
### Flowchart (refresh)
|
|
306
307
|
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Kdy je odjezd oznacen jako MISSING
|
|
2
|
+
|
|
3
|
+
Odjezd je oznacen jako **MISSING**, pokud vozidlo **melo jet**, ale **nejsou k dispozici zadna validni realtime data (delay / poloha)**.
|
|
4
|
+
|
|
5
|
+
Implementace: `src/output-gateway/pid/models/helpers/SkipHelper.ts` - metoda `isVehicleMissing()`
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Konstanty
|
|
10
|
+
|
|
11
|
+
| Konstanta | Hodnota | Popis |
|
|
12
|
+
|-----------|---------|-------|
|
|
13
|
+
| `START_SOON_MINUTES_THRESHOLD` | 30 min | Prah pro "brzy zacina" (non-metro) |
|
|
14
|
+
| `START_SOON_METRO_MINUTES_THRESHOLD` | 5 min | Prah pro "brzy zacina" (metro) |
|
|
15
|
+
| `DEPARTURED_MINUTES_THRESHOLD` | -2 min | Trip mel zacit pred vice nez 2 minutami |
|
|
16
|
+
| `TRIP_GAP_MINUTES_THRESHOLD` | 60 min | Velka mezera mezi tripy v runu |
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## MISSING = true (odjezd se nezobrazuje)
|
|
21
|
+
|
|
22
|
+
Odjezd je **MISSING**, pokud plati nasledujici:
|
|
23
|
+
|
|
24
|
+
### 1. Zakladni podminky (musi platit vsechny)
|
|
25
|
+
|
|
26
|
+
- `is_delay_available = false`
|
|
27
|
+
- `trip.start_timestamp` **nebo** `planned_start_timestamp` existuje
|
|
28
|
+
- `run_number` existuje (neni null)
|
|
29
|
+
- `route_id` existuje (neni null)
|
|
30
|
+
|
|
31
|
+
### 2. Casove podminky
|
|
32
|
+
|
|
33
|
+
Trip zacina v casovem okne:
|
|
34
|
+
- **Non-metro:** do 30 minut
|
|
35
|
+
- **Metro:** do 5 minut
|
|
36
|
+
|
|
37
|
+
A zaroven:
|
|
38
|
+
- Trip **uz mel zacit** (`minutesToStart < -2`)
|
|
39
|
+
|
|
40
|
+
**Vysledek:** odjezd je **MISSING**
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
### 3. Odjezd navazuje na predchozi jizdu bez dat
|
|
45
|
+
|
|
46
|
+
Pokud trip **jeste uplne nesplnuje bod 2** (nezacal pred 2+ minutami), muze byt stale oznacen jako **MISSING**, pokud:
|
|
47
|
+
|
|
48
|
+
1. Existuje `runSchedule` pro dany run
|
|
49
|
+
2. Trip **neni prvni v runu**
|
|
50
|
+
3. Mezi aktualnim a predchozim tripem **neni mezera >= 60 minut**
|
|
51
|
+
4. Predchozi trip:
|
|
52
|
+
- **nema realtime data** (je v `untrackedTrips`)
|
|
53
|
+
- **uz mel zacit** (`previousMinutesToStart < -2`)
|
|
54
|
+
|
|
55
|
+
**Vysledek:** odjezd je **MISSING**
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
### 4. Rozsirena kontrola pres predchozi jizdu
|
|
60
|
+
|
|
61
|
+
Pokud predchozi trip sam **neni prvni v runu** (index > 0) a:
|
|
62
|
+
|
|
63
|
+
- Mezi jeho startem a koncem jeste starsi jizdy **neni mezera >= 60 minut**
|
|
64
|
+
|
|
65
|
+
Predchozi jizda je take povazovana za chybejici a **aktualni odjezd je MISSING**.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## NOT MISSING = false (odjezd se zobrazi)
|
|
70
|
+
|
|
71
|
+
Odjezd **neni MISSING**, pokud plati alespon jedna z techto podminek:
|
|
72
|
+
|
|
73
|
+
### Chybi vstupni data
|
|
74
|
+
|
|
75
|
+
- `trip.start_timestamp` neexistuje (a `planned_start_timestamp` taky ne)
|
|
76
|
+
- `run_number = null`
|
|
77
|
+
- `route_id = null`
|
|
78
|
+
|
|
79
|
+
### Ma realtime data
|
|
80
|
+
|
|
81
|
+
- `is_delay_available = true`
|
|
82
|
+
|
|
83
|
+
### Je prilis brzy
|
|
84
|
+
|
|
85
|
+
Trip zacina:
|
|
86
|
+
- **Non-metro:** za >= 30 minut
|
|
87
|
+
- **Metro:** za >= 5 minut
|
|
88
|
+
|
|
89
|
+
### Nelze overit navaznost jizd
|
|
90
|
+
|
|
91
|
+
- `runSchedule` pro dany run neexistuje
|
|
92
|
+
- Trip neni nalezen v run schedule
|
|
93
|
+
- Trip je **prvni v runu** (index = 0)
|
|
94
|
+
|
|
95
|
+
### Mezi jizdami je velka mezera
|
|
96
|
+
|
|
97
|
+
- Mezera od predchozi jizdy >= 60 minut
|
|
98
|
+
- Mezera pred predchozi jizdou >= 60 minut
|
|
99
|
+
|
|
100
|
+
### Predchozi jizda ma data nebo jeste nezacala
|
|
101
|
+
|
|
102
|
+
- Predchozi trip **ma realtime data** (neni v `untrackedTrips`)
|
|
103
|
+
- Predchozi trip **jeste nemel zacit** (`previousMinutesToStart >= -2`)
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
## Shrnnuti
|
|
109
|
+
|
|
110
|
+
> **Odjezd je MISSING, kdyz uz mel jet, nema zadna realtime data a zaroven neni duvod si myslet, ze vozidlo teprve prijede z jine jizdy.**
|
package/docs/openapi-output.yaml
CHANGED
|
@@ -1462,6 +1462,7 @@ paths:
|
|
|
1462
1462
|
- stop_name
|
|
1463
1463
|
- departures
|
|
1464
1464
|
- infotexts
|
|
1465
|
+
- icons
|
|
1465
1466
|
properties:
|
|
1466
1467
|
platform_code:
|
|
1467
1468
|
type: string
|
|
@@ -1487,7 +1488,9 @@ paths:
|
|
|
1487
1488
|
required:
|
|
1488
1489
|
- departure_timestamp
|
|
1489
1490
|
- route
|
|
1491
|
+
- stop
|
|
1490
1492
|
- trip
|
|
1493
|
+
- icons
|
|
1491
1494
|
properties:
|
|
1492
1495
|
departure_timestamp:
|
|
1493
1496
|
type: object
|
|
@@ -1498,8 +1501,9 @@ paths:
|
|
|
1498
1501
|
type: array
|
|
1499
1502
|
items:
|
|
1500
1503
|
type: string
|
|
1501
|
-
nullable:
|
|
1504
|
+
nullable: false
|
|
1502
1505
|
example: ["<1", "8"]
|
|
1506
|
+
minItems: 1
|
|
1503
1507
|
route:
|
|
1504
1508
|
type: object
|
|
1505
1509
|
required:
|
|
@@ -1509,11 +1513,11 @@ paths:
|
|
|
1509
1513
|
short_name:
|
|
1510
1514
|
type: string
|
|
1511
1515
|
example: "B"
|
|
1512
|
-
nullable:
|
|
1516
|
+
nullable: false
|
|
1513
1517
|
type:
|
|
1514
1518
|
type: number
|
|
1515
1519
|
example: 1
|
|
1516
|
-
nullable:
|
|
1520
|
+
nullable: false
|
|
1517
1521
|
stop:
|
|
1518
1522
|
type: object
|
|
1519
1523
|
required:
|
|
@@ -1529,6 +1533,7 @@ paths:
|
|
|
1529
1533
|
- headsign
|
|
1530
1534
|
- id
|
|
1531
1535
|
- is_wheelchair_accessible
|
|
1536
|
+
- is_guaranteed_transfer
|
|
1532
1537
|
properties:
|
|
1533
1538
|
headsign:
|
|
1534
1539
|
type: string
|
|
@@ -1543,6 +1548,12 @@ paths:
|
|
|
1543
1548
|
is_wheelchair_accessible:
|
|
1544
1549
|
type: boolean
|
|
1545
1550
|
description: True if the vehicle being used on this trip is wheelchair accessible. Metro trips are deemed accessible if the station is accessible.
|
|
1551
|
+
nullable: true
|
|
1552
|
+
example: false
|
|
1553
|
+
is_guaranteed_transfer:
|
|
1554
|
+
type: boolean
|
|
1555
|
+
nullable: false
|
|
1556
|
+
description: True if the transfer is marked as guaranteed and it can be waiting for current arriving trip identified in request query parameters.
|
|
1546
1557
|
example: false
|
|
1547
1558
|
icons:
|
|
1548
1559
|
$ref: "#/components/schemas/Icons"
|
|
@@ -2956,10 +2967,11 @@ components:
|
|
|
2956
2967
|
|
|
2957
2968
|
Icons:
|
|
2958
2969
|
type: array
|
|
2959
|
-
example: ["metro"]
|
|
2970
|
+
example: ["metro", "c"]
|
|
2971
|
+
minItems: 0
|
|
2960
2972
|
items:
|
|
2961
2973
|
type: string
|
|
2962
|
-
nullable:
|
|
2974
|
+
nullable: false
|
|
2963
2975
|
enum:
|
|
2964
2976
|
- metro
|
|
2965
2977
|
- tram
|