@golemio/fcd 1.2.13-dev.1498638718 → 1.2.13-rc.2098067266
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/input-gateway/AbstractFcdController.js +4 -13
- package/dist/input-gateway/AbstractFcdController.js.map +1 -1
- package/dist/input-gateway/FloatingCarDataRouter.js +9 -18
- package/dist/input-gateway/FloatingCarDataRouter.js.map +1 -1
- package/dist/integration-engine/helpers/LteCze90PointsChecker.js +4 -16
- package/dist/integration-engine/helpers/LteCze90PointsChecker.js.map +1 -1
- package/dist/integration-engine/transformations/FloatingCarDataTransformation.js +10 -20
- package/dist/integration-engine/transformations/FloatingCarDataTransformation.js.map +1 -1
- package/dist/integration-engine/workers/tasks/RegionsDataRetentionTask.js +11 -22
- package/dist/integration-engine/workers/tasks/RegionsDataRetentionTask.js.map +1 -1
- package/dist/integration-engine/workers/tasks/SaveFloatingCarDataTask.js +8 -19
- package/dist/integration-engine/workers/tasks/SaveFloatingCarDataTask.js.map +1 -1
- package/dist/integration-engine/workers/tasks/SaveRegionsDataTask.js +10 -21
- package/dist/integration-engine/workers/tasks/SaveRegionsDataTask.js.map +1 -1
- package/dist/output-gateway/FCDRouter.js +14 -22
- package/dist/output-gateway/FCDRouter.js.map +1 -1
- package/dist/output-gateway/models/FloatingCarDataModel.js +5 -14
- package/dist/output-gateway/models/FloatingCarDataModel.js.map +1 -1
- package/dist/output-gateway/models/FloatingCarExtendedDataModel.js +5 -14
- package/dist/output-gateway/models/FloatingCarExtendedDataModel.js.map +1 -1
- package/dist/output-gateway/models/FloatingCarWithOsmPathDataModel.js +5 -14
- package/dist/output-gateway/models/FloatingCarWithOsmPathDataModel.js.map +1 -1
- package/dist/output-gateway/models/FloatingCarWithOsmPathExtendedDataModel.js +5 -14
- package/dist/output-gateway/models/FloatingCarWithOsmPathExtendedDataModel.js.map +1 -1
- package/dist/schema-definitions/schemas/fcd_output_schema.js +4 -1
- package/dist/schema-definitions/schemas/fcd_output_schema.js.map +1 -1
- package/docs/LT_or_RDS-TMC_-_Golemio_open_user_documentation_extra.md +133 -0
- package/docs/assets/LT/LT_QGIS_vybrany_bod.jpg +0 -0
- package/docs/assets/LT/LT_body+useky.jpg +0 -0
- package/docs/assets/LT/LT_body.jpg +0 -0
- package/docs/assets/LT/LT_body_v_zakrytu.jpg +0 -0
- package/package.json +5 -5
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.AbstractFcdController = void 0;
|
|
13
4
|
const _sch_1 = require("../schema-definitions");
|
|
@@ -16,10 +7,10 @@ const golemio_errors_1 = require("@golemio/core/dist/shared/golemio-errors");
|
|
|
16
7
|
class AbstractFcdController extends BaseController_1.BaseController {
|
|
17
8
|
constructor(validator) {
|
|
18
9
|
super(_sch_1.FCD.name, validator);
|
|
19
|
-
this.processData = (data) =>
|
|
10
|
+
this.processData = async (data) => {
|
|
20
11
|
try {
|
|
21
|
-
|
|
22
|
-
|
|
12
|
+
await this.validator.Validate(data);
|
|
13
|
+
await this.sendMessageToExchange("input." + this.queuePrefix + "." + this.saveQueueKey, JSON.stringify(data.d2LogicalModel), {
|
|
23
14
|
persistent: true,
|
|
24
15
|
});
|
|
25
16
|
}
|
|
@@ -31,7 +22,7 @@ class AbstractFcdController extends BaseController_1.BaseController {
|
|
|
31
22
|
throw new golemio_errors_1.GeneralError("Error while validating input data.", this.name, err, 422);
|
|
32
23
|
}
|
|
33
24
|
}
|
|
34
|
-
}
|
|
25
|
+
};
|
|
35
26
|
}
|
|
36
27
|
}
|
|
37
28
|
exports.AbstractFcdController = AbstractFcdController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractFcdController.js","sourceRoot":"","sources":["../../src/input-gateway/AbstractFcdController.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AbstractFcdController.js","sourceRoot":"","sources":["../../src/input-gateway/AbstractFcdController.ts"],"names":[],"mappings":";;;AAAA,gDAA2B;AAC3B,gGAA6F;AAC7F,6EAA8F;AAG9F,MAAsB,qBAAsB,SAAQ,+BAAc;IAG9D,YAAY,SAAqB;QAC7B,KAAK,CAAC,UAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAGxB,gBAAW,GAAG,KAAK,EAAE,IAAS,EAAiB,EAAE;YACpD,IAAI;gBACA,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAEpC,MAAM,IAAI,CAAC,qBAAqB,CAC5B,QAAQ,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,GAAG,IAAI,CAAC,YAAY,EACrD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,EACnC;oBACI,UAAU,EAAE,IAAI;iBACnB,CACJ,CAAC;aACL;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,GAAG,YAAY,qCAAoB,EAAE;oBACrC,MAAM,GAAG,CAAC;iBACb;qBAAM;oBACH,MAAM,IAAI,6BAAY,CAAC,oCAAoC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;iBACrF;aACJ;QACL,CAAC,CAAC;IApBF,CAAC;CAqBJ;AA1BD,sDA0BC"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.floatingCarDataRouter = exports.FloatingCarDataRouter = void 0;
|
|
13
4
|
const FcdPragueController_1 = require("./FcdPragueController");
|
|
@@ -23,21 +14,21 @@ class FloatingCarDataRouter {
|
|
|
23
14
|
this.router.post("/fcd-info", (0, CheckContentTypeMiddleware_1.checkContentTypeMiddleware)(["text/xml", "application/xml"]), this.fcdPrague);
|
|
24
15
|
this.router.post("/fcd-info-regions", (0, CheckContentTypeMiddleware_1.checkContentTypeMiddleware)(["text/xml", "application/xml"]), this.fcdRegions);
|
|
25
16
|
};
|
|
26
|
-
this.fcdPrague = (req, res, next) =>
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
this.fcdRegions = (req, res, next) =>
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
this.floatingCarData = (controller, req, res, next) =>
|
|
17
|
+
this.fcdPrague = async (req, res, next) => {
|
|
18
|
+
await this.floatingCarData(this.fcdPragueController, req, res, next);
|
|
19
|
+
};
|
|
20
|
+
this.fcdRegions = async (req, res, next) => {
|
|
21
|
+
await this.floatingCarData(this.fcdRegionsController, req, res, next);
|
|
22
|
+
};
|
|
23
|
+
this.floatingCarData = async (controller, req, res, next) => {
|
|
33
24
|
try {
|
|
34
|
-
|
|
25
|
+
await controller.processData(req.body);
|
|
35
26
|
res.sendStatus(204);
|
|
36
27
|
}
|
|
37
28
|
catch (err) {
|
|
38
29
|
next(err);
|
|
39
30
|
}
|
|
40
|
-
}
|
|
31
|
+
};
|
|
41
32
|
this.initRoutes();
|
|
42
33
|
}
|
|
43
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingCarDataRouter.js","sourceRoot":"","sources":["../../src/input-gateway/FloatingCarDataRouter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FloatingCarDataRouter.js","sourceRoot":"","sources":["../../src/input-gateway/FloatingCarDataRouter.ts"],"names":[],"mappings":";;;AAAA,+DAA8D;AAC9D,oHAAiH;AACjH,+DAA4F;AAE5F,iEAA8D;AAE9D,MAAa,qBAAqB;IAM9B;QALO,WAAM,GAAW,IAAA,gBAAM,GAAE,CAAC;QAEzB,wBAAmB,GAAG,IAAI,yCAAmB,EAAE,CAAC;QAChD,yBAAoB,GAAG,IAAI,2CAAoB,EAAE,CAAC;QAMlD,eAAU,GAAG,GAAS,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAA,uDAA0B,EAAC,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3G,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAA,uDAA0B,EAAC,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxH,CAAC,CAAC;QAEM,cAAS,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;YACzF,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACzE,CAAC,CAAC;QAEM,eAAU,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAiB,EAAE;YAC1F,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1E,CAAC,CAAC;QAEM,oBAAe,GAAG,KAAK,EAC3B,UAAiC,EACjC,GAAY,EACZ,GAAa,EACb,IAAkB,EACL,EAAE;YACf,IAAI;gBACA,MAAM,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAEvC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;aACvB;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,GAAG,CAAC,CAAC;aACb;QACL,CAAC,CAAC;QA7BE,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;CA6BJ;AArCD,sDAqCC;AAED,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,EAAE,CAAC,MAAM,CAAC;AAExD,sDAAqB"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.LteCze90PointsChecker = void 0;
|
|
13
4
|
const LteCze90PointsSjtskInAreaRepository_1 = require("@golemio/traffic-common/dist/integration-engine/repositories/LteCze90PointsSjtskInAreaRepository");
|
|
@@ -17,16 +8,13 @@ class LteCze90PointsChecker {
|
|
|
17
8
|
this.SOURCE_ID_REGEX = /^TS(?<secondaryPoint>\d+)T(?<primaryPoint>\d+)$/;
|
|
18
9
|
this.filtrationLookup = new LteCze90PointsSjtskInAreaRepository_1.LteCze90PointsSjtskInAreaRepository();
|
|
19
10
|
}
|
|
20
|
-
initialize() {
|
|
21
|
-
|
|
22
|
-
this.relevantLcds = (yield this.filtrationLookup.getFiltrationData()).map((element) => element.lcd);
|
|
23
|
-
});
|
|
11
|
+
async initialize() {
|
|
12
|
+
this.relevantLcds = (await this.filtrationLookup.getFiltrationData()).map((element) => element.lcd);
|
|
24
13
|
}
|
|
25
14
|
shouldSave(sourceIdentification) {
|
|
26
|
-
var _a, _b;
|
|
27
15
|
const regexResult = sourceIdentification ? this.SOURCE_ID_REGEX.exec(sourceIdentification) : undefined;
|
|
28
|
-
const primaryPointSpecificLocation =
|
|
29
|
-
const secondaryPointSpecificLocation =
|
|
16
|
+
const primaryPointSpecificLocation = regexResult?.groups?.primaryPoint;
|
|
17
|
+
const secondaryPointSpecificLocation = regexResult?.groups?.secondaryPoint;
|
|
30
18
|
if (primaryPointSpecificLocation === undefined ||
|
|
31
19
|
primaryPointSpecificLocation === null ||
|
|
32
20
|
secondaryPointSpecificLocation === undefined ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LteCze90PointsChecker.js","sourceRoot":"","sources":["../../../src/integration-engine/helpers/LteCze90PointsChecker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LteCze90PointsChecker.js","sourceRoot":"","sources":["../../../src/integration-engine/helpers/LteCze90PointsChecker.ts"],"names":[],"mappings":";;;AAAA,0JAAuJ;AAEvJ,MAAa,qBAAqB;IAK9B;QAHQ,iBAAY,GAAa,EAAE,CAAC;QAC5B,oBAAe,GAAG,iDAAiD,CAAC;QAGxE,IAAI,CAAC,gBAAgB,GAAG,IAAI,yEAAmC,EAAE,CAAC;IACtE,CAAC;IAEM,KAAK,CAAC,UAAU;QACnB,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxG,CAAC;IAEM,UAAU,CAAC,oBAAwC;QACtD,MAAM,WAAW,GAAG,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEvG,MAAM,4BAA4B,GAAG,WAAW,EAAE,MAAM,EAAE,YAAY,CAAC;QACvE,MAAM,8BAA8B,GAAG,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC;QAE3E,IACI,4BAA4B,KAAK,SAAS;YAC1C,4BAA4B,KAAK,IAAI;YACrC,8BAA8B,KAAK,SAAS;YAC5C,8BAA8B,KAAK,IAAI,EACzC;YACE,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,CACH,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;YAChE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CACrE,CAAC;IACN,CAAC;CACJ;AAjCD,sDAiCC"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.FloatingCarDataTransformation = void 0;
|
|
13
4
|
const integration_engine_1 = require("@golemio/core/dist/integration-engine");
|
|
@@ -15,21 +6,20 @@ const _sch_1 = require("../../schema-definitions");
|
|
|
15
6
|
class FloatingCarDataTransformation extends integration_engine_1.BaseTransformation {
|
|
16
7
|
constructor() {
|
|
17
8
|
super();
|
|
18
|
-
this.transform = (data) =>
|
|
19
|
-
const collectedElaboratedDataArr =
|
|
9
|
+
this.transform = async (data) => {
|
|
10
|
+
const collectedElaboratedDataArr = await this.collectElaboratedData(data);
|
|
20
11
|
const result = [];
|
|
21
12
|
for (const elaboratedDataGroup of collectedElaboratedDataArr) {
|
|
22
|
-
const elaboratedDataTransformed =
|
|
23
|
-
result.push(
|
|
13
|
+
const elaboratedDataTransformed = await this.transformElement(elaboratedDataGroup);
|
|
14
|
+
result.push({ ...{ publication_time: data.payloadPublication.publicationTime }, ...elaboratedDataTransformed });
|
|
24
15
|
}
|
|
25
16
|
return result;
|
|
26
|
-
}
|
|
27
|
-
this.transformElement = (elaboratedDataGroup) =>
|
|
28
|
-
var _a;
|
|
17
|
+
};
|
|
18
|
+
this.transformElement = async (elaboratedDataGroup) => {
|
|
29
19
|
// 0 or "" will be replaced by a value from one of the array objects
|
|
30
20
|
let source_identification = "", measurement_or_calculation_time = "", predefined_location = "", version_of_predefined_location = 0, traffic_level = "", data_quality = 0, input_values = 0, queue_exists, queue_length, from_point, to_point, average_vehicle_speed = 0, travel_time = 0, free_flow_travel_time = 0, free_flow_speed = 0;
|
|
31
21
|
for (const item of elaboratedDataGroup) {
|
|
32
|
-
source_identification =
|
|
22
|
+
source_identification = item.source?.sourceIdentification;
|
|
33
23
|
measurement_or_calculation_time = item.basicData.measurementOrCalculationTime;
|
|
34
24
|
predefined_location = item.basicData.pertinentLocation.predefinedLocationReference.$.id;
|
|
35
25
|
version_of_predefined_location = +item.basicData.pertinentLocation.predefinedLocationReference.$.version;
|
|
@@ -75,13 +65,13 @@ class FloatingCarDataTransformation extends integration_engine_1.BaseTransformat
|
|
|
75
65
|
free_flow_travel_time,
|
|
76
66
|
free_flow_speed,
|
|
77
67
|
};
|
|
78
|
-
}
|
|
79
|
-
this.collectElaboratedData = (data) =>
|
|
68
|
+
};
|
|
69
|
+
this.collectElaboratedData = async (data) => {
|
|
80
70
|
const elaboratedDataGrouped = this.groupByProperties(data.payloadPublication.elaboratedData, (item) => {
|
|
81
71
|
return [item.source.sourceIdentification, item.basicData.measurementOrCalculationTime];
|
|
82
72
|
});
|
|
83
73
|
return elaboratedDataGrouped;
|
|
84
|
-
}
|
|
74
|
+
};
|
|
85
75
|
this.groupByProperties = (elaboratedDataArr, f) => {
|
|
86
76
|
let groups = {};
|
|
87
77
|
elaboratedDataArr.forEach((o) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingCarDataTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/FloatingCarDataTransformation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FloatingCarDataTransformation.js","sourceRoot":"","sources":["../../../src/integration-engine/transformations/FloatingCarDataTransformation.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,15 +11,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
12
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
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
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
15
|
exports.RegionsDataRetentionTask = void 0;
|
|
25
16
|
const _sch_1 = require("../../../schema-definitions");
|
|
@@ -36,19 +27,17 @@ let RegionsDataRetentionTask = exports.RegionsDataRetentionTask = class RegionsD
|
|
|
36
27
|
this.queueTtl = 59 * 60 * 1000;
|
|
37
28
|
this.DATA_RETENTION_IN_MINUTES = 2880; // 2 days
|
|
38
29
|
}
|
|
39
|
-
execute() {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
});
|
|
30
|
+
async execute() {
|
|
31
|
+
try {
|
|
32
|
+
const sequelize = await this.postgresConnector.connect();
|
|
33
|
+
await sequelize.query(`CALL ${_sch_1.FCD.pgSchema}.regions_data_retention(${this.DATA_RETENTION_IN_MINUTES});`, {
|
|
34
|
+
plain: true,
|
|
35
|
+
type: sequelize_1.QueryTypes.SELECT,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
throw new golemio_errors_1.GeneralError("Error while processing Regions Data Retention Task", "RegionsDataRetentionTask", error, 422);
|
|
40
|
+
}
|
|
52
41
|
}
|
|
53
42
|
};
|
|
54
43
|
exports.RegionsDataRetentionTask = RegionsDataRetentionTask = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegionsDataRetentionTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/RegionsDataRetentionTask.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RegionsDataRetentionTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/RegionsDataRetentionTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sDAA2B;AAC3B,8EAA0E;AAC1E,mEAAiE;AACjE,wEAAqE;AAErE,iEAAwE;AACxE,6EAAwE;AAGjE,IAAM,wBAAwB,sCAA9B,MAAM,wBAAyB,SAAQ,sCAAiB;IAK3D,YAAiD,iBAA6C;QAC1F,KAAK,CAAC,UAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QADuB,sBAAiB,GAAjB,iBAAiB,CAAoB;QAJ9E,cAAS,GAAG,sBAAsB,CAAC;QACnC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAClC,8BAAyB,GAAG,IAAI,CAAC,CAAC,SAAS;IAInD,CAAC;IACS,KAAK,CAAC,OAAO;QACnB,IAAI;YACA,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;YACzD,MAAM,SAAS,CAAC,KAAK,CAAC,QAAQ,UAAG,CAAC,QAAQ,2BAA2B,IAAI,CAAC,yBAAyB,IAAI,EAAE;gBACrG,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,sBAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;SACN;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,IAAI,6BAAY,CAAC,oDAAoD,EAAE,0BAA0B,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;SACxH;IACL,CAAC;CACJ,CAAA;mCAnBY,wBAAwB;IADpC,IAAA,qBAAU,GAAE;IAMI,WAAA,IAAA,iBAAM,EAAC,qBAAS,CAAC,iBAAiB,CAAC,CAAA;;GALvC,wBAAwB,CAmBpC"}
|
|
@@ -11,15 +11,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
12
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
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
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
15
|
exports.SaveFloatingCarDataTask = void 0;
|
|
25
16
|
const _ie_1 = require("../..");
|
|
@@ -40,16 +31,14 @@ let SaveFloatingCarDataTask = exports.SaveFloatingCarDataTask = class SaveFloati
|
|
|
40
31
|
this.queueTtl = 59 * 60 * 1000;
|
|
41
32
|
this.schema = new golemio_validator_1.JSONSchemaValidator("floatingCarDataValidation", floatingCarData_1.floatingCarDataJsonSchema);
|
|
42
33
|
}
|
|
43
|
-
execute(data) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
});
|
|
34
|
+
async execute(data) {
|
|
35
|
+
try {
|
|
36
|
+
const transformedData = await this.floatingCarDataTransformation.transform(data);
|
|
37
|
+
await this.floatingCarDataRepository.save(transformedData);
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
throw new golemio_errors_1.GeneralError("Error while processing Floating Car Data.", "SaveFloatingCarDataTask", error, 422);
|
|
41
|
+
}
|
|
53
42
|
}
|
|
54
43
|
};
|
|
55
44
|
exports.SaveFloatingCarDataTask = SaveFloatingCarDataTask = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveFloatingCarDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveFloatingCarDataTask.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SaveFloatingCarDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveFloatingCarDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAAsE;AACtE,sDAA2B;AAC3B,6EAAwE;AACxE,mFAAkF;AAClF,iEAAwE;AACxE,+DAA+D;AAC/D,gGAA2F;AAC3F,iHAA8G;AAC9G,mEAAwE;AAGjE,IAAM,uBAAuB,qCAA7B,MAAM,uBAAwB,SAAQ,+CAAwC;IAMjF,YAEI,6BAAoE,EAEpE,yBAA4D;QAE5D,KAAK,CAAC,UAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAJtB,kCAA6B,GAA7B,6BAA6B,CAA+B;QAE5D,8BAAyB,GAAzB,yBAAyB,CAA2B;QAThD,cAAS,GAAG,qBAAqB,CAAC;QAElC,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAChC,WAAM,GAAG,IAAI,uCAAmB,CAAC,2BAA2B,EAAE,2CAAyB,CAAC,CAAC;IASnG,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,IAAsB;QAC1C,IAAI;YACA,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACjF,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SAC9D;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,IAAI,6BAAY,CAAC,2CAA2C,EAAE,yBAAyB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;SAC9G;IACL,CAAC;CACJ,CAAA;kCAvBY,uBAAuB;IADnC,IAAA,qBAAU,GAAE;IAQJ,WAAA,IAAA,iBAAM,EAAC,sCAAoB,CAAC,6BAA6B,CAAC,CAAA;IAE1D,WAAA,IAAA,iBAAM,EAAC,sCAAoB,CAAC,yBAAyB,CAAC,CAAA;qCADhB,mCAA6B;QAEjC,qDAAyB;GAVvD,uBAAuB,CAuBnC"}
|
|
@@ -11,15 +11,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
12
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
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
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
15
|
exports.SaveRegionsDataTask = void 0;
|
|
25
16
|
const LteCze90PointsChecker_1 = require("../../helpers/LteCze90PointsChecker");
|
|
@@ -42,18 +33,16 @@ let SaveRegionsDataTask = exports.SaveRegionsDataTask = class SaveRegionsDataTas
|
|
|
42
33
|
this.queueTtl = 59 * 60 * 1000;
|
|
43
34
|
this.schema = new golemio_validator_1.JSONSchemaValidator("floatingCarDataValidation", src_1.SchemaDefinitions.FCD.datasourceSchema);
|
|
44
35
|
}
|
|
45
|
-
execute(data) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
});
|
|
36
|
+
async execute(data) {
|
|
37
|
+
try {
|
|
38
|
+
const transformedData = await this.floatingCarDataTransformation.transform(data);
|
|
39
|
+
await this.lteCze90PointsChecker.initialize();
|
|
40
|
+
const filteredData = transformedData.filter((element) => this.lteCze90PointsChecker.shouldSave(element.source_identification));
|
|
41
|
+
await this.floatingCarDataRegionsModel.save(filteredData);
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
throw new golemio_errors_1.GeneralError("Error while processing Floating Car Data for regions.", "SaveRegionsDataTask", error, 422);
|
|
45
|
+
}
|
|
57
46
|
}
|
|
58
47
|
};
|
|
59
48
|
exports.SaveRegionsDataTask = SaveRegionsDataTask = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveRegionsDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveRegionsDataTask.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SaveRegionsDataTask.js","sourceRoot":"","sources":["../../../../src/integration-engine/workers/tasks/SaveRegionsDataTask.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+EAA0E;AAC1E,+BAAsE;AACtE,sDAA2B;AAC3B,6EAAwE;AACxE,iEAAwE;AACxE,8GAAyG;AACzG,+DAA+D;AAC/D,iHAA8G;AAC9G,mFAAkF;AAClF,kCAAwC;AAGjC,IAAM,mBAAmB,iCAAzB,MAAM,mBAAoB,SAAQ,+CAAwC;IAK7E,YAEI,6BAAoE,EAEpE,qBAAoD,EAEpD,2BAAqE;QAErE,KAAK,CAAC,UAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QANtB,kCAA6B,GAA7B,6BAA6B,CAA+B;QAE5D,0BAAqB,GAArB,qBAAqB,CAAuB;QAE5C,gCAA2B,GAA3B,2BAA2B,CAAkC;QAVzD,cAAS,GAAG,iBAAiB,CAAC;QAC9B,aAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAChC,WAAM,GAAG,IAAI,uCAAmB,CAAC,2BAA2B,EAAE,uBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAWhH,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,IAAsB;QAC1C,IAAI;YACA,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACjF,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAC;YAC9C,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACpD,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CACvE,CAAC;YAEF,MAAM,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC7D;QAAC,OAAO,KAAK,EAAE;YACZ,MAAM,IAAI,6BAAY,CAAC,uDAAuD,EAAE,qBAAqB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;SACtH;IACL,CAAC;CACJ,CAAA;8BA7BY,mBAAmB;IAD/B,IAAA,qBAAU,GAAE;IAOJ,WAAA,IAAA,iBAAM,EAAC,sCAAoB,CAAC,6BAA6B,CAAC,CAAA;IAE1D,WAAA,IAAA,iBAAM,EAAC,sCAAoB,CAAC,qBAAqB,CAAC,CAAA;IAElD,WAAA,IAAA,iBAAM,EAAC,sCAAoB,CAAC,gCAAgC,CAAC,CAAA;qCAHvB,mCAA6B;QAErC,6CAAqB;QAEf,mEAAgC;GAXhE,mBAAmB,CA6B/B"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.fcdRouter = exports.FCDRouter = void 0;
|
|
13
4
|
const Di_1 = require("./ioc/Di");
|
|
@@ -26,29 +17,30 @@ class FCDRouter extends BaseRouter_1.BaseRouter {
|
|
|
26
17
|
this.floatingCarExtendedDataModel = floatingCarExtendedDataModel;
|
|
27
18
|
this.floatingCarWithOsmPathExtendedDataModel = floatingCarWithOsmPathExtendedDataModel;
|
|
28
19
|
this.outputFloatingCarDataTransformation = outputFloatingCarDataTransformation;
|
|
29
|
-
this.GetFloatingCarData = (req, res, next) =>
|
|
20
|
+
this.GetFloatingCarData = async (req, res, next) => {
|
|
30
21
|
try {
|
|
31
|
-
const
|
|
32
|
-
const
|
|
22
|
+
const queryData = (0, express_validator_1.matchedData)(req);
|
|
23
|
+
const isRequestedPathOsm = queryData.osmPath == "true";
|
|
24
|
+
const minutesBefore = queryData.minutesBefore ? parseInt(queryData.minutesBefore, 10) : undefined;
|
|
33
25
|
const options = {
|
|
34
|
-
locationId:
|
|
35
|
-
limit:
|
|
36
|
-
offset:
|
|
26
|
+
locationId: queryData.locationId,
|
|
27
|
+
limit: queryData.limit ? +queryData.limit : undefined,
|
|
28
|
+
offset: queryData.offset ? +queryData.offset : undefined,
|
|
37
29
|
minutesBefore,
|
|
38
30
|
isRequestedPathOsm,
|
|
39
31
|
};
|
|
40
32
|
let dataFromDb = [];
|
|
41
33
|
if (isRequestedPathOsm) {
|
|
42
34
|
dataFromDb = minutesBefore
|
|
43
|
-
?
|
|
44
|
-
:
|
|
35
|
+
? await this.floatingCarWithOsmPathExtendedDataModel.GetAll(options)
|
|
36
|
+
: await this.floatingCarWithOsmPathDataModel.GetAll(options);
|
|
45
37
|
}
|
|
46
38
|
else {
|
|
47
39
|
dataFromDb = minutesBefore
|
|
48
|
-
?
|
|
49
|
-
:
|
|
40
|
+
? await this.floatingCarExtendedDataModel.GetAll(options)
|
|
41
|
+
: await this.floatingCarDataModel.GetAll(options);
|
|
50
42
|
}
|
|
51
|
-
if (!
|
|
43
|
+
if (!dataFromDb?.length) {
|
|
52
44
|
throw new golemio_errors_1.GeneralError("No data found", "FCDRouter", undefined, 404);
|
|
53
45
|
}
|
|
54
46
|
const transformedData = this.outputFloatingCarDataTransformation.transform(dataFromDb, isRequestedPathOsm);
|
|
@@ -57,13 +49,13 @@ class FCDRouter extends BaseRouter_1.BaseRouter {
|
|
|
57
49
|
catch (err) {
|
|
58
50
|
next(err);
|
|
59
51
|
}
|
|
60
|
-
}
|
|
52
|
+
};
|
|
61
53
|
this.cacheHeaderMiddleware = Di_1.FcdContainer.resolve(ioc_1.ContainerToken.CacheHeaderMiddleware);
|
|
62
54
|
this.router.get("/info", [
|
|
63
55
|
(0, express_validator_1.query)("osmPath").optional().not().isEmpty({ ignore_whitespace: true }).not().isArray(),
|
|
64
56
|
(0, express_validator_1.query)("locationId").optional().not().isEmpty({ ignore_whitespace: true }).not().isArray(),
|
|
65
57
|
(0, express_validator_1.query)("minutesBefore").optional().isInt({ min: 1, max: 60 }).not().isArray(),
|
|
66
|
-
],
|
|
58
|
+
], (0, Validation_1.paginationLimitMiddleware)("FCDRouter"), Validation_1.checkErrors, this.cacheHeaderMiddleware.getMiddleware(3 * 60, 60), this.GetFloatingCarData);
|
|
67
59
|
}
|
|
68
60
|
}
|
|
69
61
|
exports.FCDRouter = FCDRouter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FCDRouter.js","sourceRoot":"","sources":["../../src/output-gateway/FCDRouter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FCDRouter.js","sourceRoot":"","sources":["../../src/output-gateway/FCDRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -22,7 +13,7 @@ class FloatingCarDataModel extends models_1.SequelizeModel {
|
|
|
22
13
|
super(index_1.FCD.fcd_info.name, "v_traffic_params_all", index_1.FCD.fcd_info.outputSequelizeAttributes, {
|
|
23
14
|
schema: index_1.FCD.pgSchema,
|
|
24
15
|
});
|
|
25
|
-
this.GetAll = (options = {}) =>
|
|
16
|
+
this.GetAll = async (options = {}) => {
|
|
26
17
|
const { locationId, limit, offset } = options;
|
|
27
18
|
try {
|
|
28
19
|
const Op = sequelize_1.default.Op;
|
|
@@ -34,7 +25,7 @@ class FloatingCarDataModel extends models_1.SequelizeModel {
|
|
|
34
25
|
predefined_location: locationId,
|
|
35
26
|
});
|
|
36
27
|
}
|
|
37
|
-
return
|
|
28
|
+
return await this.sequelizeModel.findAll({
|
|
38
29
|
limit,
|
|
39
30
|
offset,
|
|
40
31
|
raw: true,
|
|
@@ -44,10 +35,10 @@ class FloatingCarDataModel extends models_1.SequelizeModel {
|
|
|
44
35
|
catch (err) {
|
|
45
36
|
throw new golemio_errors_1.GeneralError(`GetAll method error: ${err.message}`, "FloatingCarDataModel", err, 500);
|
|
46
37
|
}
|
|
47
|
-
}
|
|
48
|
-
this.GetOne = () =>
|
|
38
|
+
};
|
|
39
|
+
this.GetOne = async () => {
|
|
49
40
|
throw new golemio_errors_1.GeneralError("Not implemented", "FloatingCarDataModel");
|
|
50
|
-
}
|
|
41
|
+
};
|
|
51
42
|
}
|
|
52
43
|
}
|
|
53
44
|
exports.FloatingCarDataModel = FloatingCarDataModel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingCarDataModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/FloatingCarDataModel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FloatingCarDataModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/FloatingCarDataModel.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAiC;AAEjC,qEAA0E;AAC1E,6EAAwE;AACxE,oFAA4D;AAE5D,MAAa,oBAAqB,SAAQ,uBAAc;IACpD;QACI,KAAK,CAAC,WAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,EAAE,WAAG,CAAC,QAAQ,CAAC,yBAAyB,EAAE;YACrF,MAAM,EAAE,WAAG,CAAC,QAAQ;SACvB,CAAC,CAAC;QAGA,WAAM,GAAG,KAAK,EACjB,UAII,EAAE,EAC0B,EAAE;YAClC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAC9C,IAAI;gBACA,MAAM,EAAE,GAAG,mBAAS,CAAC,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG;oBACV,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;iBACjB,CAAC;gBAEF,IAAI,UAAU,EAAE;oBACZ,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACf,mBAAmB,EAAE,UAAU;qBAClC,CAAC,CAAC;iBACN;gBAED,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBACrC,KAAK;oBACL,MAAM;oBACN,GAAG,EAAE,IAAI;oBACT,KAAK;iBACR,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACnG;QACL,CAAC,CAAC;QAEK,WAAM,GAAG,KAAK,IAA4B,EAAE;YAC/C,MAAM,IAAI,6BAAY,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CAAC;QACtE,CAAC,CAAC;IAnCF,CAAC;CAoCJ;AAzCD,oDAyCC"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -22,7 +13,7 @@ class FloatingCarExtendedDataModel extends models_1.SequelizeModel {
|
|
|
22
13
|
super(index_1.FCD.fcd_info.name, "v_traffic_params_last_hour", index_1.FCD.fcd_info.outputSequelizeAttributes, {
|
|
23
14
|
schema: index_1.FCD.pgSchema,
|
|
24
15
|
});
|
|
25
|
-
this.GetAll = (options = {}) =>
|
|
16
|
+
this.GetAll = async (options = {}) => {
|
|
26
17
|
const { locationId, minutesBefore, limit, offset } = options;
|
|
27
18
|
try {
|
|
28
19
|
const Op = sequelize_1.default.Op;
|
|
@@ -41,7 +32,7 @@ class FloatingCarExtendedDataModel extends models_1.SequelizeModel {
|
|
|
41
32
|
},
|
|
42
33
|
});
|
|
43
34
|
}
|
|
44
|
-
return
|
|
35
|
+
return await this.sequelizeModel.findAll({
|
|
45
36
|
limit,
|
|
46
37
|
offset,
|
|
47
38
|
raw: true,
|
|
@@ -51,10 +42,10 @@ class FloatingCarExtendedDataModel extends models_1.SequelizeModel {
|
|
|
51
42
|
catch (err) {
|
|
52
43
|
throw new golemio_errors_1.GeneralError(`GetAll method error: ${err.message}`, "FloatingCarExtendedDataModel", err, 500);
|
|
53
44
|
}
|
|
54
|
-
}
|
|
55
|
-
this.GetOne = () =>
|
|
45
|
+
};
|
|
46
|
+
this.GetOne = async () => {
|
|
56
47
|
throw new golemio_errors_1.GeneralError("Not implemented", "FloatingCarExtendedDataModel");
|
|
57
|
-
}
|
|
48
|
+
};
|
|
58
49
|
}
|
|
59
50
|
}
|
|
60
51
|
exports.FloatingCarExtendedDataModel = FloatingCarExtendedDataModel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingCarExtendedDataModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/FloatingCarExtendedDataModel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FloatingCarExtendedDataModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/FloatingCarExtendedDataModel.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAiC;AAEjC,qEAA0E;AAC1E,6EAAwE;AACxE,oFAA4D;AAE5D,MAAa,4BAA6B,SAAQ,uBAAc;IAC5D;QACI,KAAK,CAAC,WAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,4BAA4B,EAAE,WAAG,CAAC,QAAQ,CAAC,yBAAyB,EAAE;YAC3F,MAAM,EAAE,WAAG,CAAC,QAAQ;SACvB,CAAC,CAAC;QAGA,WAAM,GAAG,KAAK,EACjB,UAKI,EAAE,EAC0B,EAAE;YAClC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAC7D,IAAI;gBACA,MAAM,EAAE,GAAG,mBAAS,CAAC,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG;oBACV,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;iBACjB,CAAC;gBAEF,IAAI,UAAU,EAAE;oBACZ,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACf,mBAAmB,EAAE,UAAU;qBAClC,CAAC,CAAC;iBACN;gBAED,IAAI,aAAa,EAAE;oBACf,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACf,+BAA+B,EAAE;4BAC7B,CAAC,mBAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,mBAAS,CAAC,OAAO,CAAC,qBAAqB,aAAa,WAAW,CAAC;yBACvF;qBACJ,CAAC,CAAC;iBACN;gBAED,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBACrC,KAAK;oBACL,MAAM;oBACN,GAAG,EAAE,IAAI;oBACT,KAAK;iBACR,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,EAAE,8BAA8B,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aAC3G;QACL,CAAC,CAAC;QAEK,WAAM,GAAG,KAAK,IAA4B,EAAE;YAC/C,MAAM,IAAI,6BAAY,CAAC,iBAAiB,EAAE,8BAA8B,CAAC,CAAC;QAC9E,CAAC,CAAC;IA5CF,CAAC;CA6CJ;AAlDD,oEAkDC"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -22,7 +13,7 @@ class FloatingCarWithOsmPathDataModel extends models_1.SequelizeModel {
|
|
|
22
13
|
super(index_1.FCD.fcd_info.name, "v_traffic_params_all_with_osm_path", index_1.FCD.fcd_info.outputSequelizeAttributesWithOsmPath, {
|
|
23
14
|
schema: index_1.FCD.pgSchema,
|
|
24
15
|
});
|
|
25
|
-
this.GetAll = (options = {}) =>
|
|
16
|
+
this.GetAll = async (options = {}) => {
|
|
26
17
|
const { locationId, limit, offset } = options;
|
|
27
18
|
try {
|
|
28
19
|
const Op = sequelize_1.default.Op;
|
|
@@ -34,7 +25,7 @@ class FloatingCarWithOsmPathDataModel extends models_1.SequelizeModel {
|
|
|
34
25
|
predefined_location: locationId,
|
|
35
26
|
});
|
|
36
27
|
}
|
|
37
|
-
return
|
|
28
|
+
return await this.sequelizeModel.findAll({
|
|
38
29
|
limit,
|
|
39
30
|
offset,
|
|
40
31
|
raw: true,
|
|
@@ -44,10 +35,10 @@ class FloatingCarWithOsmPathDataModel extends models_1.SequelizeModel {
|
|
|
44
35
|
catch (err) {
|
|
45
36
|
throw new golemio_errors_1.GeneralError(`GetAll method error: ${err.message}`, "FloatingCarDataModel", err, 500);
|
|
46
37
|
}
|
|
47
|
-
}
|
|
48
|
-
this.GetOne = () =>
|
|
38
|
+
};
|
|
39
|
+
this.GetOne = async () => {
|
|
49
40
|
throw new golemio_errors_1.GeneralError("Not implemented", "FloatingCarDataModel");
|
|
50
|
-
}
|
|
41
|
+
};
|
|
51
42
|
}
|
|
52
43
|
}
|
|
53
44
|
exports.FloatingCarWithOsmPathDataModel = FloatingCarWithOsmPathDataModel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingCarWithOsmPathDataModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/FloatingCarWithOsmPathDataModel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FloatingCarWithOsmPathDataModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/FloatingCarWithOsmPathDataModel.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAiC;AAEjC,qEAA0E;AAC1E,6EAAwE;AACxE,oFAA4D;AAE5D,MAAa,+BAAgC,SAAQ,uBAAc;IAC/D;QACI,KAAK,CAAC,WAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,oCAAoC,EAAE,WAAG,CAAC,QAAQ,CAAC,oCAAoC,EAAE;YAC9G,MAAM,EAAE,WAAG,CAAC,QAAQ;SACvB,CAAC,CAAC;QAGA,WAAM,GAAG,KAAK,EACjB,UAII,EAAE,EACqC,EAAE;YAC7C,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAC9C,IAAI;gBACA,MAAM,EAAE,GAAG,mBAAS,CAAC,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG;oBACV,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;iBACjB,CAAC;gBAEF,IAAI,UAAU,EAAE;oBACZ,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACf,mBAAmB,EAAE,UAAU;qBAClC,CAAC,CAAC;iBACN;gBAED,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBACrC,KAAK;oBACL,MAAM;oBACN,GAAG,EAAE,IAAI;oBACT,KAAK;iBACR,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,EAAE,sBAAsB,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aACnG;QACL,CAAC,CAAC;QAEK,WAAM,GAAG,KAAK,IAA4B,EAAE;YAC/C,MAAM,IAAI,6BAAY,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CAAC;QACtE,CAAC,CAAC;IAnCF,CAAC;CAoCJ;AAzCD,0EAyCC"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
4
|
};
|
|
@@ -22,7 +13,7 @@ class FloatingCarWithOsmPathExtendedDataModel extends models_1.SequelizeModel {
|
|
|
22
13
|
super(index_1.FCD.fcd_info.name, "v_traffic_params_last_hour_osm_path", index_1.FCD.fcd_info.outputSequelizeAttributesWithOsmPath, {
|
|
23
14
|
schema: index_1.FCD.pgSchema,
|
|
24
15
|
});
|
|
25
|
-
this.GetAll = (options = {}) =>
|
|
16
|
+
this.GetAll = async (options = {}) => {
|
|
26
17
|
const { locationId, minutesBefore, limit, offset } = options;
|
|
27
18
|
try {
|
|
28
19
|
const Op = sequelize_1.default.Op;
|
|
@@ -41,7 +32,7 @@ class FloatingCarWithOsmPathExtendedDataModel extends models_1.SequelizeModel {
|
|
|
41
32
|
},
|
|
42
33
|
});
|
|
43
34
|
}
|
|
44
|
-
return
|
|
35
|
+
return await this.sequelizeModel.findAll({
|
|
45
36
|
limit,
|
|
46
37
|
offset,
|
|
47
38
|
raw: true,
|
|
@@ -51,10 +42,10 @@ class FloatingCarWithOsmPathExtendedDataModel extends models_1.SequelizeModel {
|
|
|
51
42
|
catch (err) {
|
|
52
43
|
throw new golemio_errors_1.GeneralError(`GetAll method error: ${err.message}`, "FloatingCarExtendedDataModel", err, 500);
|
|
53
44
|
}
|
|
54
|
-
}
|
|
55
|
-
this.GetOne = () =>
|
|
45
|
+
};
|
|
46
|
+
this.GetOne = async () => {
|
|
56
47
|
throw new golemio_errors_1.GeneralError("Not implemented", "FloatingCarExtendedDataModel");
|
|
57
|
-
}
|
|
48
|
+
};
|
|
58
49
|
}
|
|
59
50
|
}
|
|
60
51
|
exports.FloatingCarWithOsmPathExtendedDataModel = FloatingCarWithOsmPathExtendedDataModel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingCarWithOsmPathExtendedDataModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/FloatingCarWithOsmPathExtendedDataModel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FloatingCarWithOsmPathExtendedDataModel.js","sourceRoot":"","sources":["../../../src/output-gateway/models/FloatingCarWithOsmPathExtendedDataModel.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAiC;AAEjC,qEAA0E;AAC1E,6EAAwE;AACxE,oFAA4D;AAE5D,MAAa,uCAAwC,SAAQ,uBAAc;IACvE;QACI,KAAK,CAAC,WAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,qCAAqC,EAAE,WAAG,CAAC,QAAQ,CAAC,oCAAoC,EAAE;YAC/G,MAAM,EAAE,WAAG,CAAC,QAAQ;SACvB,CAAC,CAAC;QAGA,WAAM,GAAG,KAAK,EACjB,UAKI,EAAE,EACqC,EAAE;YAC7C,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;YAC7D,IAAI;gBACA,MAAM,EAAE,GAAG,mBAAS,CAAC,EAAE,CAAC;gBACxB,MAAM,KAAK,GAAG;oBACV,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;iBACjB,CAAC;gBAEF,IAAI,UAAU,EAAE;oBACZ,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACf,mBAAmB,EAAE,UAAU;qBAClC,CAAC,CAAC;iBACN;gBAED,IAAI,aAAa,EAAE;oBACf,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;wBACf,+BAA+B,EAAE;4BAC7B,CAAC,mBAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,mBAAS,CAAC,OAAO,CAAC,qBAAqB,aAAa,WAAW,CAAC;yBACvF;qBACJ,CAAC,CAAC;iBACN;gBAED,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;oBACrC,KAAK;oBACL,MAAM;oBACN,GAAG,EAAE,IAAI;oBACT,KAAK;iBACR,CAAC,CAAC;aACN;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,6BAAY,CAAC,wBAAwB,GAAG,CAAC,OAAO,EAAE,EAAE,8BAA8B,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;aAC3G;QACL,CAAC,CAAC;QAEK,WAAM,GAAG,KAAK,IAA4B,EAAE;YAC/C,MAAM,IAAI,6BAAY,CAAC,iBAAiB,EAAE,8BAA8B,CAAC,CAAC;QAC9E,CAAC,CAAC;IA5CF,CAAC;CA6CJ;AAlDD,0FAkDC"}
|
|
@@ -71,5 +71,8 @@ exports.outputFloatingCarDataSDMA = {
|
|
|
71
71
|
updated_at: { type: sequelize_1.default.DATE },
|
|
72
72
|
updated_by: { type: sequelize_1.default.STRING(150) },
|
|
73
73
|
};
|
|
74
|
-
exports.outputFloatingCarDataSDMAWithOsmPath =
|
|
74
|
+
exports.outputFloatingCarDataSDMAWithOsmPath = {
|
|
75
|
+
...exports.outputFloatingCarDataSDMA,
|
|
76
|
+
osm_path: { type: sequelize_1.default.STRING },
|
|
77
|
+
};
|
|
75
78
|
//# sourceMappingURL=fcd_output_schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fcd_output_schema.js","sourceRoot":"","sources":["../../../src/schema-definitions/schemas/fcd_output_schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"fcd_output_schema.js","sourceRoot":"","sources":["../../../src/schema-definitions/schemas/fcd_output_schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
## **G O L E M I O - OTEVŘENÝ NÁVOD NA PRAKTICKÉ POUŽITÍ LOKALIZAČNÍCH TABULEK**
|
|
2
|
+
|
|
3
|
+
## Obsah
|
|
4
|
+
|
|
5
|
+
1. [Záměr Golemio otevřené uživatelské dokumentace](#záměr-golemio-otevřené-uživatelské-dokumentace)
|
|
6
|
+
1. [Vstupní data](#vstupní-data)
|
|
7
|
+
1. [Parametry vrstvy `POINTS`](#parametry-vrstvy-points)
|
|
8
|
+
1. [Oprávnění](#oprávnění)
|
|
9
|
+
1. [Opendata](#opendata)
|
|
10
|
+
1. [Vizualizace dat](#vizualizace-dat)
|
|
11
|
+
1. [Ostatní](#ostatní)
|
|
12
|
+
|
|
13
|
+
## Záměr Golemio otevřené uživatelské dokumentace
|
|
14
|
+
Záměrem tohoto specifického popisu je především praktické sdílení technického pohledu na ty části a parametry jinak komplexního geolokalizačního souboru datové sady `Lokalizačních tabulek` (dále LT) tak, jak jsou skutečně prakticky využívány v projektech společnosti Operátor ICT, a.s. (dále OICT), potažmo v jeho oddělení datové platformy Golemio.
|
|
15
|
+
|
|
16
|
+
Hlavním cílem dokumentu je jednoduché a pochopitelné vysvětlení základních a reálně používaných parametrů datové sady tak, aby toto použití bylo více zřejmé a jednoduššíc pro nové kolegy, firemní dodavatele či partnery.
|
|
17
|
+
|
|
18
|
+
Jednoduše jde o vypíchnutí a uvedení těch konkrétních technických tipů a podělení se o doposud nabyté **know-how**, jak s potřebnými částmi datové sady LT efektivně pracovat.
|
|
19
|
+
|
|
20
|
+
## Vstupní data
|
|
21
|
+
Původní obecný popis integrace datové sady v Golemiu a celkový náhled do ní samotné je detailně popsán v intením dokumentu **Obecný popis datové sady Lokalizačních tabulek** a není součástí tohoto otevřeného návodu na praktické použití Lokalizačních tabulek (více info viz níže kapitola „Ostatní“).
|
|
22
|
+
|
|
23
|
+
### Datová sada obsahuje čtyři GIS vrstvy:
|
|
24
|
+
|
|
25
|
+
Jedná se o statické vektorové mapové podklady, které jsou spravovány a aktualizovány vlastníkem Ředitelstvím silnic a dálnic s. p. (dále ŘSD).
|
|
26
|
+
|
|
27
|
+
<details>
|
|
28
|
+
<summary><b>ADMINS<b></summary>
|
|
29
|
+
NEPOUŽÍVANÉ vůbec (v OICT) - členění administrativních oblastí na území České republiky. Vrstva nese databázi geometrie hranic a další atributy těchto oblastí.
|
|
30
|
+
</details>
|
|
31
|
+
|
|
32
|
+
<details>
|
|
33
|
+
<summary><b>POINTS<b></summary>
|
|
34
|
+
POUŽÍVANÉ především (v OICT) - hraniční body příslušící k „ROADS“ nebo k „SEGMENTS“, které definují počáteční a koncový bod jednoho TMC úseku (neboli objektu v „ROADS“ nebo v „SEGMENTS“). Body jsou spojeny vždy přímkami, LT nenesou infrormaci o reálném geometrickém průběhu pozemní komunikace (silnice, ulice apod.).
|
|
35
|
+
</details>
|
|
36
|
+
|
|
37
|
+
<details>
|
|
38
|
+
<summary><b>ROADS<b></summary>
|
|
39
|
+
NEPOUŽÍVANÉ prakticky (v OICT) - přímky vedené mezi svými hraničními body ve vrstvě „POINTS“. Využití je zde pouze vizuální, uživatelské nad mapou pro lepší přehled situace.
|
|
40
|
+
</details>
|
|
41
|
+
|
|
42
|
+
<details>
|
|
43
|
+
<summary><b>SEGMENTS<b></summary>
|
|
44
|
+
NEPOUŽÍVANÉ vůbec (v OICT) - vrstva definující více spojených přímek „ROADS“ v jednom unikátním objektu.
|
|
45
|
+
</details>
|
|
46
|
+
|
|
47
|
+
**Z uvedených vrstev využívá OICT prakticky pouze jednu vrstvu - `POINTS`**. Pro pouze vizuální potřeby a orientační zobrazení uživateli nad mapou využívá OICT ještě vrstvu `ROADS`, nikoli však pro výpočetní zpracování a další strojové úkony.
|
|
48
|
+
|
|
49
|
+
### Ukázka vybraných vstupních dat
|
|
50
|
+
Ukázka jednoho z původních datových souborů ve formátů *.txt pro popisovanou vrstvu `POINTS` (formát *.txt byl již dříve zvolen pro integraci na Golemiu):
|
|
51
|
+
|
|
52
|
+
<details>
|
|
53
|
+
<summary>POINTS header</summary>
|
|
54
|
+
CID;TABCD;LCD;CLASS;TCD;STCD;JNUMBER;ROADNUMBER;ROADNAME;FIRSTNAME;SECONDNAME;AREA_REF;AREA_NAME;ROA_LCD;SEG_LCD;ROA_TYPE;INPOS;OUTPOS;INNEG;OUTNEG;PRESENTPOS;PRESENTNEG;INTERRUPT;URBAN;INT_LCD;NEG_OFF;POS_OFF;WGS84_X;WGS84_Y;SJTSK_X;SJTSK_Y;ISOLATED
|
|
55
|
+
</details>
|
|
56
|
+
|
|
57
|
+
<details>
|
|
58
|
+
<summary>POINTS data</summary>
|
|
59
|
+
11;25;13978;P;6;12;;;;Plavecký stadion Strakonice;;30671;Strakonice;;;;0;0;0;0;0;0;;1;;;;13,91387;49,26284;-791878,8597;-1128708,97;1
|
|
60
|
+
</details>
|
|
61
|
+
|
|
62
|
+
**Grafická ukázka pouze vrstvy bodů** (takto samostatně působí na uživatele nejasně)
|
|
63
|
+

|
|
64
|
+
|
|
65
|
+
**Společné grafické zobrazení vrstvy `POINTS` i vrstvy `ROADS`** (vizuální spojení bodů liniemi už dává větší smysl)
|
|
66
|
+

|
|
67
|
+
|
|
68
|
+
Statiská vrstva `POINTS` obsahuje aktuálně všechna **potřebná data pro získání geolokalizačních informací k přesnému umístění časoprostorových dynamických dopravních dat, událostí, informací apod., která jsou v OICT získávána od dodavatele ŘSD**. Současně jde o tzv. Floating Car Data (dále FCD) a data z Národního dopravního informačího centra (dále NDIC).
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
## Parametry vrstvy `POINTS`
|
|
72
|
+
|
|
73
|
+
V podstatě **jde ve většině případech o silniční křížení** nebo pak o geometrická zalomení v plochém prostoru podle průběhů dlouhých ulic a silnic.
|
|
74
|
+
|
|
75
|
+
<details>
|
|
76
|
+
<summary>Původní zobrazení náhodně vybraného bodu s parametry v prostředí GIS v ulici Argentinská</summary>
|
|
77
|
+

|
|
78
|
+
</details>
|
|
79
|
+
|
|
80
|
+
### Parametry a jejich význam
|
|
81
|
+
|
|
82
|
+
Nadřazený parametr
|
|
83
|
+
- `CID`: tzv. Country Identifier; jednoznačný kód používaný pro identifikaci země nebo regionu, tedy zeměpisné oblasti, ke které se lokalizační tabulka vztahuje. Parametr prakticky nenabývá jiných hodnot, než 11, což je identifikátor České republiky.
|
|
84
|
+
|
|
85
|
+
Vnořené parametry každého `CID`
|
|
86
|
+
- `TABCD`: Table Code; představuje číselný identifikátor přiřazený konkrétní sadě lokalizačních tabulek RDS-TMC (Radio Data System - Traffic Message Channel) v rámci země. ČR má přidělený rozsah `TABCD` 25 až 28.
|
|
87
|
+
- `LCD`: Location Code; ID; jedinečný číselný identifikátor pro každé umístění hraničního bodu (definuje počátek či konec „svého“ úseku).
|
|
88
|
+
- `CLASS`: klasifikace podle kategorie objektu; A = administrativní oblasti typu země, regionu apod.; L = lineární prvky představující silnice; P = reprezentace formou bodů, např. křižovatky.
|
|
89
|
+
- `TCD`: Type Code; klasifikační systém podtypů objektů z `CLASS`, podle umístění bodů; např. P1 = značí všechny typy křižovatek, P3 = pokrývá různé orientační body atd.
|
|
90
|
+
- `STCD`: Subtype Code; dále více dělí objekty na podkategorie z `TCD`, např. P1.1 definuje konkrétně dálniční křižovatku, P1.8 kruhový objezd, P1.10 křižovatku se světelnou signalizací atd.
|
|
91
|
+
- `JNUMBER`: Junction Number; identifikuje křižovatky, především dálniční sjezdy, pomocí čísla odvozeného z kilometrového značení křižovatky; dálniční staničení.
|
|
92
|
+
- `ROADNUMBER`: číslo silnice; značení podle konvencí dané země nebo širšího regionu (v ČR např. zančení D1, I/42 apod.).
|
|
93
|
+
- `ROADNAME`: název silnice; zvláště relevantní pro místní komunikace bez vyplněného `ROADNUMBER`.
|
|
94
|
+
- `FIRSTNAME`: primární název bodu; váže se obvykle k názvu úzeku ulice či silnice, kterou ohraničuje (např. Průmyslová).
|
|
95
|
+
- `SECONDNAME`: sekundární název; často poskytuje místní kontext nebo doplňující informace.
|
|
96
|
+
- `AREA_REF`: definuje specifické unikátní číslo dané administativní oblasti, ve které se bod nachází; např. 203.
|
|
97
|
+
- `AREA_NAME`: definuje slovní název administrativní oblasti odpovídající `AREA_REF` spojené s bodem; např. Praha-Dolní Počernice.
|
|
98
|
+
- `ROA_LCD`: kód nadřazené pozemní komunikace, ke které bod patří; příslušnost k úseku linie podle `LCD`.
|
|
99
|
+
- `SEG_LCD`: Segment Location Code; příslušnost bodu k segmentu pozemní komunikace, ke kterému patří.
|
|
100
|
+
- `ROA_TYPE`: bod přísluší k pozemní komunikaci podle zavedené třídy, např. označení „D“ pro dálnice, „I/“ pro silnice první třídy atd.; název může být např. i složený L1.1 (dálnice).
|
|
101
|
+
- `INPOS`, `OUTPOS`, `INNEG`, `OUTNEG`: příznaky označující povolené směry vjezdu a výjezdu vzhledem k bodu a dopravnímu proudu.
|
|
102
|
+
- `PRESENTPOS`, `PRESENTNEG`: příznaky potvrzující existenci bodu v kladném a záporném směru; obvykle parametr nabývá hodnoty 1, ale např. v případě osamoceného bodu dálničního nájezdu nebo sjezdu nabývá 0.
|
|
103
|
+
- `INTERRUPT`: kód lokace bodu, kde začíná přerušení silnice; zdánlivě souvislý úsek/silnice je přerušen/a na více dílčích úseků.
|
|
104
|
+
- `URBAN`: příznak označující, zda bod představuje primárně městské (1) nebo meziměstské (0) dopravní prostředí; intravilán vs extravilán.
|
|
105
|
+
- `INT_LCD`: výčet kódů všech `LCD`, které se v zákrytu nacházejí ve stejné lokalitě bodu jedné křižovatky.
|
|
106
|
+
- `NEG_OFF_LCD`, `POS_OFF_LCD`: kódy lokací předcházejícího a následujícího bodu podél linie.
|
|
107
|
+
- `WGS84_X`, `WGS84_Y`: souřadnice umístění bodu ve formátu WGS 84; též GPSka.
|
|
108
|
+
- `SJTSK_X`, `SJTSK_Y`: souřadnice umístění bodu ve formátu JTSK.
|
|
109
|
+
- `ISOLATED`: označení, zda je bodové umístění považováno za „izolované“; že není přímo spojeno s konkrétním segmentem silnice.
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
**Více `CID` bodů je obvykle ve vrstvě `POINTS` kladeno v zákrytu přes sebe, což není na první pohled v mapovém podkladu vidět a tento fakt může být pro neznalého uživatele velmi matoucí až nelogický při práci s datovou sadou.** Každý takový bod má však stále své unikátní `LCD` číslo.
|
|
113
|
+
|
|
114
|
+

|
|
115
|
+
|
|
116
|
+
Dosavadní informace by měly běžnému uživateli stačit k velmi rychlému pochopení logiky struktury a práce s Lokalizačními tabulkami v OICT a na datové platformě Golemio. Dále následují doplňující informace, které mohou ještě pomoci k doplnění představené dokumentace.
|
|
117
|
+
|
|
118
|
+
## Oprávnění
|
|
119
|
+
|
|
120
|
+
Otevřená vlastní dokumentace OICT (Golemia).
|
|
121
|
+
|
|
122
|
+
## Opendata
|
|
123
|
+
|
|
124
|
+
Tento rychlý návod byl vytvořen v OICT na datové platformě Golemio na základě vlastních zkušeností z práce s Lokalizačními tabulkami a z nastudovaného know-how původní dokumentace Lokalizačních tabulek od společnosti CEDA Maps, a.s. Je tak volně šiřitelný. Dokument není v této chvíli umístěn v žádném open data katalogu.
|
|
125
|
+
|
|
126
|
+
Datová sada Lokalizačních tabulek volně šiřitelná není. Smlouva s dodavatelem CEDA Maps a.s. to OICT neumožnuje.
|
|
127
|
+
|
|
128
|
+
## Vizualizace dat
|
|
129
|
+
|
|
130
|
+
Pro vizualizaci datové sady používá aktuálně OICT (Golemio) softwarový nástroj QGIS.
|
|
131
|
+
|
|
132
|
+
## Ostatní
|
|
133
|
+
Další doplňující informace k datové sadě včetně jejího původního popisu integrace v Golemiu jsou dále více rozvedeny v intením dokumentu **Obecný popis datové sady Lokalizačních tabulek**, který není součástí tohoto otevřeného návodu. Pro přístup i k tomuto dokumentu můžete případně zažádat formou e-mailu na adresách `info@operatorict.cz` nebo `derbek.premysl@operatorict.cz`.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@golemio/fcd",
|
|
3
|
-
"version": "1.2.13-
|
|
3
|
+
"version": "1.2.13-rc.2098067266",
|
|
4
4
|
"description": "Golemio Floating Car Data Module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -36,11 +36,11 @@
|
|
|
36
36
|
"@apideck/portman": "^1.26.5",
|
|
37
37
|
"@commitlint/cli": "^11.0.0",
|
|
38
38
|
"@commitlint/config-conventional": "^11.0.0",
|
|
39
|
-
"@golemio/cli": "1.
|
|
40
|
-
"@golemio/core": "
|
|
41
|
-
"@golemio/db-common": "1.
|
|
39
|
+
"@golemio/cli": "1.11.0",
|
|
40
|
+
"@golemio/core": "2.0.0",
|
|
41
|
+
"@golemio/db-common": "1.2.0",
|
|
42
42
|
"@golemio/eslint-config": "1.1.2",
|
|
43
|
-
"@golemio/traffic-common": "1.0.
|
|
43
|
+
"@golemio/traffic-common": "1.0.10",
|
|
44
44
|
"@types/body-parser-xml": "^1.1.0",
|
|
45
45
|
"@types/chai": "4.2.3",
|
|
46
46
|
"@types/chai-as-promised": "7.1.2",
|