@golemio/pid 2.12.0 → 2.12.1-dev.1199612667
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/12_metro_line_A_gtfs_trips.sql +0 -5
- package/db/example/18_metroRailtrack.sql +369 -0
- package/dist/helpers/RouteTypeEnums.d.ts +1 -0
- package/dist/helpers/RouteTypeEnums.js +1 -0
- package/dist/helpers/RouteTypeEnums.js.map +1 -1
- package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js +1 -1
- package/dist/input-gateway/vehicle-positions/VehiclePositionsController.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js +4 -0
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/SaveMetroRailtrackDataToDBTask.js.map +1 -1
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js +16 -3
- package/dist/integration-engine/ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/ioc/Di.js +8 -0
- package/dist/integration-engine/vehicle-positions/ioc/Di.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.d.ts +3 -0
- package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js +9 -0
- package/dist/integration-engine/vehicle-positions/ioc/VPContainerToken.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.js +71 -27
- package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.d.ts +3 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js +12 -0
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.d.ts +1 -4
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js +5 -21
- package/dist/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.d.ts +9 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.js +59 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.d.ts +3 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js +13 -3
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/DelayComputationManager.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js +5 -22
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/PositionsManager.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.js +2 -6
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/compute-positions/strategy/MetroDelayAtStop.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.d.ts +12 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.js +117 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/helpers/metro/MetroShapePointsFixer.js.map +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.d.ts +3 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js +89 -33
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/SaveDataToDBTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.d.ts +1 -0
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js +7 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/tasks/UpdateDelayTask.js.map +1 -1
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.d.ts +3 -6
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js +19 -25
- package/dist/integration-engine/vehicle-positions/workers/vehicle-positions/transformations/MpvMessageTransformation.js.map +1 -1
- package/package.json +3 -3
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.VPContainer = void 0;
|
|
4
4
|
const Di_1 = require("../../ioc/Di");
|
|
5
|
+
const MetroRailtrackGPSRepository_1 = require("../../ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository");
|
|
5
6
|
const RegionalBusRunsMessagesRepository_1 = require("../workers/runs/data-access/RegionalBusRunsMessagesRepository");
|
|
6
7
|
const RegionalBusCisCacheRepository_1 = require("../workers/runs/data-access/cache/RegionalBusCisCacheRepository");
|
|
7
8
|
const RegionalBusGtfsCacheRepository_1 = require("../workers/runs/data-access/cache/RegionalBusGtfsCacheRepository");
|
|
@@ -26,6 +27,8 @@ const RefreshPublicStopTimeCacheTask_1 = require("../workers/vehicle-positions/t
|
|
|
26
27
|
const RefreshPublicTripCacheTask_1 = require("../workers/vehicle-positions/tasks/RefreshPublicTripCacheTask");
|
|
27
28
|
const PublicApiTripTransformation_1 = require("../workers/vehicle-positions/transformations/PublicApiTripTransformation");
|
|
28
29
|
const VPContainerToken_1 = require("./VPContainerToken");
|
|
30
|
+
const CachedMetroRailtrackLookup_1 = require("../workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup");
|
|
31
|
+
const MetroShapePointsFixer_1 = require("../workers/vehicle-positions/helpers/metro/MetroShapePointsFixer");
|
|
29
32
|
//#region Initialization
|
|
30
33
|
const VPContainer = Di_1.PidContainer.createChildContainer();
|
|
31
34
|
exports.VPContainer = VPContainer;
|
|
@@ -42,6 +45,8 @@ VPContainer.register(VPContainerToken_1.VPContainerToken.RegionalBusRunsMessages
|
|
|
42
45
|
VPContainer.register(VPContainerToken_1.VPContainerToken.PublicStopTimeRepository, PublicStopTimeRepository_1.PublicStopTimeRepository);
|
|
43
46
|
VPContainer.register(VPContainerToken_1.VPContainerToken.PublicApiCacheRepository, PublicApiCacheRepository_1.PublicApiCacheRepository);
|
|
44
47
|
VPContainer.register(VPContainerToken_1.VPContainerToken.PublicStopTimeCacheRepository, PublicStopTimeCacheRepository_1.PublicStopTimeCacheRepository);
|
|
48
|
+
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.MetroRailtrackGPSRepository, MetroRailtrackGPSRepository_1.MetroRailtrackGPSRepository);
|
|
49
|
+
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.CachedMetroRailTrackLookup, CachedMetroRailtrackLookup_1.CachedMetroRailTrackLookup);
|
|
45
50
|
//#endregion
|
|
46
51
|
//#region Transformations
|
|
47
52
|
VPContainer.register(VPContainerToken_1.VPContainerToken.DescriptorTransformation, DescriptorTransformation_1.DescriptorTransformation);
|
|
@@ -56,6 +61,9 @@ VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.TripScheduleMa
|
|
|
56
61
|
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RegionalBusMessageFilter, RegionalBusMessageFilter_1.RegionalBusMessageFilter);
|
|
57
62
|
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RegionalBusRunsFacade, RegionalBusRunsFacade_1.RegionalBusRunsFacade);
|
|
58
63
|
//#endregion
|
|
64
|
+
//#region Helpers
|
|
65
|
+
VPContainer.register(VPContainerToken_1.VPContainerToken.MetroShapePointsFixer, MetroShapePointsFixer_1.MetroShapePointsFixer);
|
|
66
|
+
//#endregion
|
|
59
67
|
//#region Tasks
|
|
60
68
|
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.RefreshDescriptorsTask, RefreshDescriptorsTask_1.RefreshDescriptorsTask);
|
|
61
69
|
VPContainer.registerSingleton(VPContainerToken_1.VPContainerToken.SaveArrivaCityRunsToDBTask, SaveArrivaCityRunsToDBTask_1.SaveArrivaCityRunsToDBTask);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/Di.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;
|
|
1
|
+
{"version":3,"file":"Di.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/Di.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,5 +23,8 @@ declare const VPContainerToken: {
|
|
|
23
23
|
DescriptorFilter: symbol;
|
|
24
24
|
RefreshDescriptorsTask: symbol;
|
|
25
25
|
DeleteDataTask: symbol;
|
|
26
|
+
MetroRailtrackGPSRepository: symbol;
|
|
27
|
+
CachedMetroRailTrackLookup: symbol;
|
|
28
|
+
MetroShapePointsFixer: symbol;
|
|
26
29
|
};
|
|
27
30
|
export { VPContainerToken };
|
|
@@ -32,6 +32,15 @@ const VPContainerToken = {
|
|
|
32
32
|
RefreshDescriptorsTask: Symbol(),
|
|
33
33
|
DeleteDataTask: Symbol(),
|
|
34
34
|
//#endregion
|
|
35
|
+
//#region Vehicle Positions
|
|
36
|
+
//#region DataAccess
|
|
37
|
+
MetroRailtrackGPSRepository: Symbol(),
|
|
38
|
+
CachedMetroRailTrackLookup: Symbol(),
|
|
39
|
+
//#endregion
|
|
40
|
+
//#region Helpers
|
|
41
|
+
MetroShapePointsFixer: Symbol(),
|
|
42
|
+
//#endregion
|
|
43
|
+
//#endregion
|
|
35
44
|
};
|
|
36
45
|
exports.VPContainerToken = VPContainerToken;
|
|
37
46
|
//# sourceMappingURL=VPContainerToken.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VPContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/VPContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,gBAAgB,GAAG;IACrB,2BAA2B;IAC3B,wBAAwB,EAAE,MAAM,EAAE;IAClC,wBAAwB,EAAE,MAAM,EAAE;IAClC,6BAA6B,EAAE,MAAM,EAAE;IACvC,2BAA2B,EAAE,MAAM,EAAE;IACrC,0BAA0B,EAAE,MAAM,EAAE;IACpC,8BAA8B,EAAE,MAAM,EAAE;IACxC,YAAY;IAEZ,cAAc;IACd,6BAA6B,EAAE,MAAM,EAAE;IACvC,8BAA8B,EAAE,MAAM,EAAE;IACxC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,qCAAqC,EAAE,MAAM,EAAE;IAC/C,gBAAgB,EAAE,MAAM,EAAE;IAC1B,iBAAiB,EAAE,MAAM,EAAE;IAC3B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,wBAAwB,EAAE,MAAM,EAAE;IAClC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,0BAA0B,EAAE,MAAM,EAAE;IACpC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,YAAY;IAEZ,6BAA6B;IAC7B,gCAAgC,EAAE,MAAM,EAAE;IAC1C,2BAA2B,EAAE,MAAM,EAAE;IACrC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,wBAAwB,EAAE,MAAM,EAAE;IAClC,gBAAgB,EAAE,MAAM,EAAE;IAC1B,sBAAsB,EAAE,MAAM,EAAE;IAChC,cAAc,EAAE,MAAM,EAAE;IACxB,YAAY;CACf,CAAC;AAEO,4CAAgB"}
|
|
1
|
+
{"version":3,"file":"VPContainerToken.js","sourceRoot":"","sources":["../../../../src/integration-engine/vehicle-positions/ioc/VPContainerToken.ts"],"names":[],"mappings":";;;AAAA,MAAM,gBAAgB,GAAG;IACrB,2BAA2B;IAC3B,wBAAwB,EAAE,MAAM,EAAE;IAClC,wBAAwB,EAAE,MAAM,EAAE;IAClC,6BAA6B,EAAE,MAAM,EAAE;IACvC,2BAA2B,EAAE,MAAM,EAAE;IACrC,0BAA0B,EAAE,MAAM,EAAE;IACpC,8BAA8B,EAAE,MAAM,EAAE;IACxC,YAAY;IAEZ,cAAc;IACd,6BAA6B,EAAE,MAAM,EAAE;IACvC,8BAA8B,EAAE,MAAM,EAAE;IACxC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,qCAAqC,EAAE,MAAM,EAAE;IAC/C,gBAAgB,EAAE,MAAM,EAAE;IAC1B,iBAAiB,EAAE,MAAM,EAAE;IAC3B,mBAAmB,EAAE,MAAM,EAAE;IAC7B,wBAAwB,EAAE,MAAM,EAAE;IAClC,qBAAqB,EAAE,MAAM,EAAE;IAC/B,0BAA0B,EAAE,MAAM,EAAE;IACpC,iCAAiC,EAAE,MAAM,EAAE;IAC3C,YAAY;IAEZ,6BAA6B;IAC7B,gCAAgC,EAAE,MAAM,EAAE;IAC1C,2BAA2B,EAAE,MAAM,EAAE;IACrC,oBAAoB,EAAE,MAAM,EAAE;IAC9B,wBAAwB,EAAE,MAAM,EAAE;IAClC,gBAAgB,EAAE,MAAM,EAAE;IAC1B,sBAAsB,EAAE,MAAM,EAAE;IAChC,cAAc,EAAE,MAAM,EAAE;IACxB,YAAY;IAEZ,2BAA2B;IAE3B,oBAAoB;IACpB,2BAA2B,EAAE,MAAM,EAAE;IACrC,0BAA0B,EAAE,MAAM,EAAE;IACpC,YAAY;IAEZ,iBAAiB;IACjB,qBAAqB,EAAE,MAAM,EAAE;IAC/B,YAAY;IAEZ,YAAY;CACf,CAAC;AAEO,4CAAgB"}
|
package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.js
CHANGED
|
@@ -3,51 +3,95 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getGtfsEffectByEventType = void 0;
|
|
4
4
|
const AlertEffectEnum_1 = require("./enums/AlertEffectEnum");
|
|
5
5
|
const RopidVyMiEventType = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
6
|
+
PROVOZ_ZASTAVEN: 1,
|
|
7
|
+
PROVOZ_OMEZEN: 3,
|
|
8
|
+
PROVOZ_OBNOVEN: 4,
|
|
9
|
+
PRERUSENI_PROVOZU_METRA: 5,
|
|
10
|
+
PRERUSENI_PROVOZU_TRAMVAJI: 6,
|
|
11
|
+
NEODJETI_SPOJE: 8,
|
|
12
|
+
ZPOZDENI_SPOJE: 12,
|
|
13
|
+
ZPOZDENI_SPOJU: 13,
|
|
14
|
+
STANICE_UZAVRENA: 14,
|
|
15
|
+
PRISTUP_OMEZEN: 15,
|
|
16
|
+
OMEZENI_BEZBARIEROVEHO_PRISTUPU: 16,
|
|
17
|
+
ZMENA_TRASY_A_ZASTAVEK: 17,
|
|
18
|
+
POSILENI_SPOJU: 18,
|
|
19
|
+
ROZVAZANI_PRESTUPNI_VAZBY: 19,
|
|
20
|
+
OSTATNI: 20,
|
|
21
|
+
ODKLON: 21,
|
|
22
|
+
ZRUSENI_ZASTAVKY: 22,
|
|
23
|
+
PREMISTENI_ZASTAVKY: 23,
|
|
24
|
+
NAHRADNI_DOPRAVA: 24,
|
|
25
|
+
PRERUSENI_PROVOZU: 25,
|
|
26
|
+
ZRUSENI_LINKY: 26,
|
|
27
|
+
ZAVEDENI_LINKY: 27,
|
|
28
|
+
ZMENA_TRASY: 28,
|
|
29
|
+
ZMENA_ZASTAVEK: 29,
|
|
30
|
+
ZMENA_JIZDNIHO_RADU: 30,
|
|
31
|
+
OMEZENI_PROVOZU: 31,
|
|
20
32
|
};
|
|
21
33
|
/**
|
|
22
34
|
* Mapuje eventType na dopravní efekt. EventType může být i součet několika čísel RopidVyMiEventType.
|
|
23
35
|
* @param eventType number
|
|
24
36
|
*/
|
|
25
37
|
function getGtfsEffectByEventType(eventType) {
|
|
26
|
-
|
|
38
|
+
const values = findFromBin(eventType);
|
|
39
|
+
if (values.includes(RopidVyMiEventType.ODKLON)) {
|
|
27
40
|
return AlertEffectEnum_1.GtfsAlertEffectEnum.DETOUR;
|
|
28
41
|
}
|
|
29
|
-
if (
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
42
|
+
if (values.includes(RopidVyMiEventType.ROZVAZANI_PRESTUPNI_VAZBY) || values.includes(RopidVyMiEventType.NAHRADNI_DOPRAVA)) {
|
|
43
|
+
return AlertEffectEnum_1.GtfsAlertEffectEnum.MODIFIED_SERVICE;
|
|
44
|
+
}
|
|
45
|
+
if (values.includes(RopidVyMiEventType.PROVOZ_ZASTAVEN) ||
|
|
46
|
+
values.includes(RopidVyMiEventType.PROVOZ_OMEZEN) ||
|
|
47
|
+
values.includes(RopidVyMiEventType.NEODJETI_SPOJE) ||
|
|
48
|
+
values.includes(RopidVyMiEventType.PRERUSENI_PROVOZU_METRA) ||
|
|
49
|
+
values.includes(RopidVyMiEventType.PRERUSENI_PROVOZU_TRAMVAJI) ||
|
|
50
|
+
values.includes(RopidVyMiEventType.PRERUSENI_PROVOZU) ||
|
|
51
|
+
values.includes(RopidVyMiEventType.OMEZENI_PROVOZU)) {
|
|
34
52
|
return AlertEffectEnum_1.GtfsAlertEffectEnum.REDUCED_SERVICE;
|
|
35
53
|
}
|
|
36
|
-
if (
|
|
37
|
-
return AlertEffectEnum_1.GtfsAlertEffectEnum.
|
|
54
|
+
if (values.includes(RopidVyMiEventType.ZPOZDENI_SPOJE) || values.includes(RopidVyMiEventType.ZPOZDENI_SPOJU)) {
|
|
55
|
+
return AlertEffectEnum_1.GtfsAlertEffectEnum.SIGNIFICANT_DELAYS;
|
|
38
56
|
}
|
|
39
|
-
if (
|
|
57
|
+
if (values.includes(RopidVyMiEventType.POSILENI_SPOJU) || values.includes(RopidVyMiEventType.ZAVEDENI_LINKY)) {
|
|
40
58
|
return AlertEffectEnum_1.GtfsAlertEffectEnum.ADDITIONAL_SERVICE;
|
|
41
59
|
}
|
|
42
|
-
if (
|
|
43
|
-
|
|
44
|
-
|
|
60
|
+
if (values.includes(RopidVyMiEventType.OSTATNI) ||
|
|
61
|
+
values.includes(RopidVyMiEventType.PROVOZ_OBNOVEN) ||
|
|
62
|
+
values.includes(RopidVyMiEventType.PRISTUP_OMEZEN) ||
|
|
63
|
+
values.includes(RopidVyMiEventType.OMEZENI_BEZBARIEROVEHO_PRISTUPU)) {
|
|
45
64
|
return AlertEffectEnum_1.GtfsAlertEffectEnum.OTHER_EFFECT;
|
|
46
65
|
}
|
|
47
|
-
if (
|
|
66
|
+
if (values.includes(RopidVyMiEventType.STANICE_UZAVRENA) ||
|
|
67
|
+
values.includes(RopidVyMiEventType.ZRUSENI_ZASTAVKY) ||
|
|
68
|
+
values.includes(RopidVyMiEventType.ZRUSENI_LINKY)) {
|
|
48
69
|
return AlertEffectEnum_1.GtfsAlertEffectEnum.NO_SERVICE;
|
|
49
70
|
}
|
|
71
|
+
if (values.includes(RopidVyMiEventType.ZMENA_ZASTAVEK)) {
|
|
72
|
+
return AlertEffectEnum_1.GtfsAlertEffectEnum.MODIFIED_SERVICE;
|
|
73
|
+
}
|
|
50
74
|
return AlertEffectEnum_1.GtfsAlertEffectEnum.UNKNOWN_EFFECT;
|
|
51
75
|
}
|
|
52
76
|
exports.getGtfsEffectByEventType = getGtfsEffectByEventType;
|
|
77
|
+
/**
|
|
78
|
+
* Odhalil @OICT_ParoubekMartin
|
|
79
|
+
* Příklad jak 10551296 přeložit na 17, 22 a 24
|
|
80
|
+
* Desítková: 10551296
|
|
81
|
+
* Binárně: 1010 0001 0000 0000 0000 0000
|
|
82
|
+
* Na 17 místě zprava je 1
|
|
83
|
+
* Na 22 místě zprava je 1
|
|
84
|
+
* Na 24 místě zprava je 1
|
|
85
|
+
*
|
|
86
|
+
* @param num číslo v desítkové soustavě
|
|
87
|
+
**/
|
|
88
|
+
const findFromBin = (num) => {
|
|
89
|
+
let result = [];
|
|
90
|
+
const bin = (num >>> 0).toString(2);
|
|
91
|
+
for (let i = 0; i < bin.length; i++) {
|
|
92
|
+
if (bin[i] === "1")
|
|
93
|
+
result.push(bin.length - i);
|
|
94
|
+
}
|
|
95
|
+
return result;
|
|
96
|
+
};
|
|
53
97
|
//# sourceMappingURL=AlertEffectMapper.js.map
|
package/dist/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlertEffectMapper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.ts"],"names":[],"mappings":";;;AAAA,6DAA8D;AAE9D,MAAM,kBAAkB,GAAG;IACvB,
|
|
1
|
+
{"version":3,"file":"AlertEffectMapper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/gtfs-rt/helpers/AlertEffectMapper.ts"],"names":[],"mappings":"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"}
|
package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.d.ts
CHANGED
|
@@ -4,5 +4,8 @@ export declare enum MetroRouteName {
|
|
|
4
4
|
LINE_C = "C"
|
|
5
5
|
}
|
|
6
6
|
export declare class MetroRouteHelper {
|
|
7
|
+
private static tripToRouteMetroMap;
|
|
7
8
|
static getRouteId(routeName: MetroRouteName | string): string | undefined;
|
|
9
|
+
static getTripRouteMap(): Record<string, string>;
|
|
10
|
+
static getRouteName(tripId: string): string;
|
|
8
11
|
}
|
|
@@ -16,6 +16,18 @@ class MetroRouteHelper {
|
|
|
16
16
|
static getRouteId(routeName) {
|
|
17
17
|
return metroRouteId[routeName];
|
|
18
18
|
}
|
|
19
|
+
static getTripRouteMap() {
|
|
20
|
+
if (!this.tripToRouteMetroMap) {
|
|
21
|
+
this.tripToRouteMetroMap = {};
|
|
22
|
+
for (const routeName of Object.values(MetroRouteName)) {
|
|
23
|
+
this.tripToRouteMetroMap[`${MetroRouteHelper.getRouteId(routeName)}`] = routeName.toString();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return this.tripToRouteMetroMap;
|
|
27
|
+
}
|
|
28
|
+
static getRouteName(tripId) {
|
|
29
|
+
return this.getTripRouteMap()[tripId.substring(0, 3)];
|
|
30
|
+
}
|
|
19
31
|
}
|
|
20
32
|
exports.MetroRouteHelper = MetroRouteHelper;
|
|
21
33
|
//# sourceMappingURL=MetroRouteHelper.js.map
|
package/dist/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetroRouteHelper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,8BAAY,CAAA;IACZ,8BAAY,CAAA;IACZ,8BAAY,CAAA;AAChB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,MAAM,YAAY,GAAwD;IACtE,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;IAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;IAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;CACjC,CAAC;AAEF,MAAa,gBAAgB;
|
|
1
|
+
{"version":3,"file":"MetroRouteHelper.js","sourceRoot":"","sources":["../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/MetroRouteHelper.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAIX;AAJD,WAAY,cAAc;IACtB,8BAAY,CAAA;IACZ,8BAAY,CAAA;IACZ,8BAAY,CAAA;AAChB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,MAAM,YAAY,GAAwD;IACtE,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;IAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;IAC9B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK;CACjC,CAAC;AAEF,MAAa,gBAAgB;IAGlB,MAAM,CAAC,UAAU,CAAC,SAAkC;QACvD,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,eAAe;QACzB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC3B,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;YAC9B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;gBACnD,IAAI,CAAC,mBAAmB,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;aAChG;SACJ;QAED,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACpC,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,MAAc;QACrC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;CACJ;AArBD,4CAqBC"}
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { IRegionalBusRunsMessagesModel } from "../../../../../../schema-definitions/vehicle-positions/models/interfaces/IRegionalBusRunsMessagesModel";
|
|
2
|
-
import { ISimpleConfig } from "@golemio/core/dist/helpers/configuration/ISimpleConfig";
|
|
3
2
|
import { ILogger } from "@golemio/core/dist/helpers/logger";
|
|
4
3
|
import { IRegionalBusMessageFilter } from "./interfaces/IRegionalBusMessageFilter";
|
|
5
4
|
export declare class RegionalBusMessageFilter implements IRegionalBusMessageFilter {
|
|
6
|
-
private config;
|
|
7
5
|
private logger;
|
|
8
|
-
constructor(
|
|
6
|
+
constructor(logger: ILogger);
|
|
9
7
|
/**
|
|
10
8
|
* Get messages that are valid for processing
|
|
11
9
|
*/
|
|
12
10
|
getFilteredMessages(messages: IRegionalBusRunsMessagesModel[]): IRegionalBusRunsMessagesModel[];
|
|
13
|
-
private get regNumberWhitelist();
|
|
14
11
|
}
|
|
@@ -16,8 +16,7 @@ exports.RegionalBusMessageFilter = void 0;
|
|
|
16
16
|
const CoreToken_1 = require("@golemio/core/dist/helpers/ioc/CoreToken");
|
|
17
17
|
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
18
18
|
let RegionalBusMessageFilter = exports.RegionalBusMessageFilter = class RegionalBusMessageFilter {
|
|
19
|
-
constructor(
|
|
20
|
-
this.config = config;
|
|
19
|
+
constructor(logger) {
|
|
21
20
|
this.logger = logger;
|
|
22
21
|
}
|
|
23
22
|
/**
|
|
@@ -26,13 +25,8 @@ let RegionalBusMessageFilter = exports.RegionalBusMessageFilter = class Regional
|
|
|
26
25
|
getFilteredMessages(messages) {
|
|
27
26
|
let filteredMessages = [];
|
|
28
27
|
for (const message of messages) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
this.logger.verbose(
|
|
32
|
-
// eslint-disable-next-line max-len
|
|
33
|
-
`getFilteredMessages: message with registration_number=${message.registration_number} is not in whitelist, skipping`);
|
|
34
|
-
continue;
|
|
35
|
-
}
|
|
28
|
+
const isValidMessage = message.cis_line_id && message.cis_trip_number && message.registration_number && message.events !== "";
|
|
29
|
+
if (isValidMessage) {
|
|
36
30
|
filteredMessages.push(message);
|
|
37
31
|
}
|
|
38
32
|
}
|
|
@@ -41,20 +35,10 @@ let RegionalBusMessageFilter = exports.RegionalBusMessageFilter = class Regional
|
|
|
41
35
|
}
|
|
42
36
|
return filteredMessages;
|
|
43
37
|
}
|
|
44
|
-
get regNumberWhitelist() {
|
|
45
|
-
const valuePath = "old.datasources.pid.vehicle-positions.regNumberWhitelist.regionalBus";
|
|
46
|
-
const whitelistDict = this.config.getValue(valuePath, {});
|
|
47
|
-
const whitelist = Object.values(whitelistDict);
|
|
48
|
-
if (whitelist[0] !== "*") {
|
|
49
|
-
return whitelist;
|
|
50
|
-
}
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
38
|
};
|
|
54
39
|
exports.RegionalBusMessageFilter = RegionalBusMessageFilter = __decorate([
|
|
55
40
|
(0, tsyringe_1.injectable)(),
|
|
56
|
-
__param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.
|
|
57
|
-
|
|
58
|
-
__metadata("design:paramtypes", [Object, Object])
|
|
41
|
+
__param(0, (0, tsyringe_1.inject)(CoreToken_1.CoreToken.Logger)),
|
|
42
|
+
__metadata("design:paramtypes", [Object])
|
|
59
43
|
], RegionalBusMessageFilter);
|
|
60
44
|
//# sourceMappingURL=RegionalBusMessageFilter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegionalBusMessageFilter.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"RegionalBusMessageFilter.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/runs/helpers/regional-bus/RegionalBusMessageFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,wEAAqE;AAErE,iEAAwE;AAIjE,IAAM,wBAAwB,sCAA9B,MAAM,wBAAwB;IACjC,YAA8C,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;IAAG,CAAC;IAEjE;;OAEG;IACI,mBAAmB,CAAC,QAAyC;QAChE,IAAI,gBAAgB,GAAoC,EAAE,CAAC;QAC3D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;YAC5B,MAAM,cAAc,GAChB,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,MAAM,KAAK,EAAE,CAAC;YAE3G,IAAI,cAAc,EAAE;gBAChB,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAClC;SACJ;QAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uDAAuD,CAAC,CAAC;SAChF;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;CACJ,CAAA;mCAvBY,wBAAwB;IADpC,IAAA,qBAAU,GAAE;IAEI,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,MAAM,CAAC,CAAA;;GAD5B,wBAAwB,CAuBpC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MetroRailtrackGPSRepository } from "../../../../../ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository";
|
|
2
|
+
import { IMetroRailtrackGPSModel } from "../../../../../../schema-definitions/ropid-gtfs/models/railtrack/interfaces/IMetroRailtrackGPSModel";
|
|
3
|
+
export declare class CachedMetroRailTrackLookup {
|
|
4
|
+
private metroRailtrackGPSRepository;
|
|
5
|
+
private cachedLookup;
|
|
6
|
+
constructor(metroRailtrackGPSRepository: MetroRailtrackGPSRepository);
|
|
7
|
+
getAllByRouteName(route_name: string): Promise<IMetroRailtrackGPSModel[]>;
|
|
8
|
+
private groupByRouteName;
|
|
9
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
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.CachedMetroRailTrackLookup = void 0;
|
|
25
|
+
const MetroRailtrackGPSRepository_1 = require("../../../../../ropid-gtfs/workers/railtrack/tasks/data-access/MetroRailtrackGPSRepository");
|
|
26
|
+
const VPContainerToken_1 = require("../../../../ioc/VPContainerToken");
|
|
27
|
+
const tsyringe_1 = require("@golemio/core/dist/shared/tsyringe");
|
|
28
|
+
/*
|
|
29
|
+
* In case of update of the data for metro railtrack. It is necessary to restart the service to reload cache.
|
|
30
|
+
*/
|
|
31
|
+
let CachedMetroRailTrackLookup = exports.CachedMetroRailTrackLookup = class CachedMetroRailTrackLookup {
|
|
32
|
+
constructor(metroRailtrackGPSRepository) {
|
|
33
|
+
this.metroRailtrackGPSRepository = metroRailtrackGPSRepository;
|
|
34
|
+
}
|
|
35
|
+
getAllByRouteName(route_name) {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
if (!this.cachedLookup) {
|
|
38
|
+
const result = yield this.metroRailtrackGPSRepository["sequelizeModel"].findAll({
|
|
39
|
+
raw: true,
|
|
40
|
+
});
|
|
41
|
+
this.cachedLookup = this.groupByRouteName(result);
|
|
42
|
+
}
|
|
43
|
+
return this.cachedLookup[route_name];
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
groupByRouteName(result) {
|
|
47
|
+
return result.reduce((r, a) => {
|
|
48
|
+
r[a.route_name] = r[a.route_name] || [];
|
|
49
|
+
r[a.route_name].push(a);
|
|
50
|
+
return r;
|
|
51
|
+
}, Object.create(null));
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
exports.CachedMetroRailTrackLookup = CachedMetroRailTrackLookup = __decorate([
|
|
55
|
+
(0, tsyringe_1.injectable)(),
|
|
56
|
+
__param(0, (0, tsyringe_1.inject)(VPContainerToken_1.VPContainerToken.MetroRailtrackGPSRepository)),
|
|
57
|
+
__metadata("design:paramtypes", [MetroRailtrackGPSRepository_1.MetroRailtrackGPSRepository])
|
|
58
|
+
], CachedMetroRailTrackLookup);
|
|
59
|
+
//# sourceMappingURL=CachedMetroRailtrackLookup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CachedMetroRailtrackLookup.js","sourceRoot":"","sources":["../../../../../../../src/integration-engine/vehicle-positions/workers/vehicle-positions/data-access/metro/CachedMetroRailtrackLookup.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,2IAA6H;AAC7H,uEAA8E;AAG9E,iEAAwE;AAExE;;GAEG;AAGI,IAAM,0BAA0B,wCAAhC,MAAM,0BAA0B;IAGnC,YACkE,2BAAwD;QAAxD,gCAA2B,GAA3B,2BAA2B,CAA6B;IACvH,CAAC;IAES,iBAAiB,CAAC,UAAkB;;YAC7C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;gBACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAyB;oBACpG,GAAG,EAAE,IAAI;iBACZ,CAAC,CAAC;gBACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;aACrD;YAED,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;KAAA;IAEO,gBAAgB,CAAC,MAAgC;QACrD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACxC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,CAAC,CAAC;QACb,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5B,CAAC;CACJ,CAAA;qCAzBY,0BAA0B;IADtC,IAAA,qBAAU,GAAE;IAKJ,WAAA,IAAA,iBAAM,EAAC,mCAAgB,CAAC,2BAA2B,CAAC,CAAA;qCAAsC,yDAA2B;GAJjH,0BAA0B,CAyBtC"}
|
|
@@ -2,6 +2,9 @@ import { RopidGTFSTripsModel } from "../../../../ropid-gtfs/RopidGTFSTripsModel"
|
|
|
2
2
|
import { IComputationTrip } from "../interfaces/VPInterfaces";
|
|
3
3
|
export declare class DelayComputationManager {
|
|
4
4
|
private readonly gtfsTripsRepository;
|
|
5
|
+
private METRO_TRIP_PREFIX_REGEX;
|
|
6
|
+
private stepBetweenPoints;
|
|
7
|
+
private stepBetweenPointsforMetro;
|
|
5
8
|
constructor(gtfsTripsRepository: RopidGTFSTripsModel);
|
|
6
9
|
/**
|
|
7
10
|
* Return shape anchor points along trip track shape with stop times parameters
|
|
@@ -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
|
|
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 = [
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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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"}
|
|
@@ -85,34 +85,17 @@ class PositionsManager {
|
|
|
85
85
|
return firstStopDepartureTime < ONE_DAY_IN_SECONDS || dstOffsetInMillis < 0 ? dstOffsetInMillis : 0;
|
|
86
86
|
}
|
|
87
87
|
static getStateAndStopSequences(gtfsRouteType, tripStopTimes, thisClosestPoint, positionProperties, context) {
|
|
88
|
-
var _b
|
|
88
|
+
var _b;
|
|
89
89
|
let statePosition = thisClosestPoint.this_stop_sequence ? const_1.StatePositionEnum.AT_STOP : const_1.StatePositionEnum.ON_TRACK;
|
|
90
90
|
let thisStopSequence = thisClosestPoint.this_stop_sequence;
|
|
91
91
|
let lastStopSequence = thisClosestPoint.last_stop_sequence;
|
|
92
92
|
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
93
|
// if current positions's TCP event is 'T' and previous position is tracked
|
|
113
|
-
|
|
94
|
+
if (gtfsRouteType !== RouteTypeEnums_1.GTFSRouteTypeEnum.METRO &&
|
|
95
|
+
positionProperties.tcp_event === const_1.TCPEventEnum.TIME &&
|
|
96
|
+
(context === null || context === void 0 ? void 0 : context.lastPositionTracking)) {
|
|
114
97
|
const previousPositionTcpEvent = context.lastPositionTracking.properties.tcp_event;
|
|
115
|
-
const previousLastStopSequence = (
|
|
98
|
+
const previousLastStopSequence = (_b = context.lastPositionTracking.properties.last_stop_sequence) !== null && _b !== void 0 ? _b : 0;
|
|
116
99
|
// if previous position was 'P' and current last stop sequence is lower than the previous last stop sequence
|
|
117
100
|
// or if previous position was 'O', current position is at stop
|
|
118
101
|
// and current last stop sequence is lower than the previous last stop sequence
|