@golemio/ndic 1.4.2 → 1.4.3-dev.1746398978

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.
@@ -8,5 +8,7 @@ export declare class OsmPathService {
8
8
  private logger;
9
9
  constructor(globalNetworkMappingRepository: GlobalNetworkMappingRepository, rsdTmcOsmMappingRepository: RsdTmcOsmMappingRepository, logger: ILogger);
10
10
  addOsmPath(transformedData: ITrafficRestrictionsModel[]): Promise<ITrafficRestrictionsModel[]>;
11
+ private getOsmPathGlobalNetworkMethod;
12
+ private getOsmPathAlertCLinearMethod;
11
13
  private getGlobalNetworkSectionIds;
12
14
  }
@@ -24,30 +24,9 @@ let OsmPathService = exports.OsmPathService = class OsmPathService {
24
24
  for (let index = 0; index < transformedData.length; index++) {
25
25
  const record = transformedData[index];
26
26
  try {
27
- if (record.alert_c_linear) {
28
- let ltStart = record.alert_c_linear?.alertCMethod2SecondaryPointLocation.alertCLocation.specificLocation || null;
29
- let ltEnd = record.alert_c_linear?.alertCMethod2PrimaryPointLocation.alertCLocation.specificLocation || null;
30
- if (ltStart === "0") {
31
- // handles special case for freeway ramps
32
- ltStart = ltEnd;
33
- }
34
- else if (ltEnd === "0") {
35
- ltEnd = ltStart;
36
- }
37
- const osmPath = await this.rsdTmcOsmMappingRepository.GetOne({
38
- ltStart: Number(ltStart),
39
- ltEnd: Number(ltEnd),
40
- });
41
- record.osm_path = osmPath ? [osmPath] : undefined;
42
- }
43
- if (!record.osm_path && record.global_network_linear) {
44
- const roadIds = this.getGlobalNetworkSectionIds(record);
45
- // global_network_linear, currently we do not differentiate between positive and negative direction
46
- const result = await this.globalNetworkMappingRepository.findAll(roadIds);
47
- record.osm_path = result.map((element) => element.osm_path.split(",").map((text) => +text));
48
- if (record.osm_path.length === 0) {
49
- record.osm_path = undefined;
50
- }
27
+ record.osm_path = await this.getOsmPathGlobalNetworkMethod(record);
28
+ if (!record.osm_path) {
29
+ record.osm_path = await this.getOsmPathAlertCLinearMethod(record);
51
30
  }
52
31
  }
53
32
  catch (error) {
@@ -63,6 +42,38 @@ let OsmPathService = exports.OsmPathService = class OsmPathService {
63
42
  }
64
43
  return transformedData;
65
44
  }
45
+ async getOsmPathGlobalNetworkMethod(record) {
46
+ if (record.global_network_linear) {
47
+ const roadIds = this.getGlobalNetworkSectionIds(record);
48
+ // global_network_linear, currently we do not differentiate between positive and negative direction
49
+ const result = await this.globalNetworkMappingRepository.findAll(roadIds);
50
+ const osmPath = result.map((element) => element.osm_path.split(",").map((text) => +text));
51
+ if (osmPath.length !== 0) {
52
+ return osmPath;
53
+ }
54
+ }
55
+ return undefined;
56
+ }
57
+ async getOsmPathAlertCLinearMethod(record) {
58
+ if (record.alert_c_linear) {
59
+ let ltStart = record.alert_c_linear?.alertCMethod2SecondaryPointLocation.alertCLocation.specificLocation || null;
60
+ let ltEnd = record.alert_c_linear?.alertCMethod2PrimaryPointLocation.alertCLocation.specificLocation || null;
61
+ if (ltStart === "0") {
62
+ // handles special case for freeway ramps
63
+ ltStart = ltEnd;
64
+ }
65
+ else if (ltEnd === "0") {
66
+ ltEnd = ltStart;
67
+ }
68
+ const osmPath = await this.rsdTmcOsmMappingRepository.GetOne({
69
+ ltStart: Number(ltStart),
70
+ ltEnd: Number(ltEnd),
71
+ });
72
+ const reversedOsmPath = osmPath ? [...osmPath].reverse() : undefined;
73
+ return osmPath && reversedOsmPath ? [osmPath, reversedOsmPath] : undefined;
74
+ }
75
+ return undefined;
76
+ }
66
77
  getGlobalNetworkSectionIds(record) {
67
78
  // if array
68
79
  if (Array.isArray(record.global_network_linear.linearWithinLinearGNElement)) {
@@ -1 +1 @@
1
- {"version":3,"file":"OsmPathService.js","sourceRoot":"","sources":["../../../src/integration-engine/helpers/OsmPathService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OsmPathService.js","sourceRoot":"","sources":["../../../src/integration-engine/helpers/OsmPathService.ts"],"names":[],"mappings":"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"}
@@ -95,6 +95,7 @@ Worker slouží pro zpracování příchozích dat NdicTrafficInfo a NdicTraffic
95
95
  - [odkaz na transformaci dat](https://gitlab.com/operator-ict/golemio/code/modules/ndic/-/blob/master/src/integration-engine/transformations/TrafficRestrictionsTransformation.ts)
96
96
  - (volitelně) obohacení dat
97
97
  - stejné jako u předešlé metody *`saveTrafficInfo`*
98
+ - osm path se obohacuje nejdříve pomocí global network lookup tabulky (viz `RefreshGlobalNetworkDataTask`) a pokud se to nepodaří, tak získáme osmpath pomocí `ltstart` a `ltend` z `rsdTmcPointsModel` (modul traffic common)
98
99
  - data modely
99
100
  - `ndicTrafficRestrictionsModel` se ukládá do tabulky ndic_traffic_restrictions
100
101
 
@@ -110,6 +111,7 @@ Worker slouží pro zpracování příchozích dat NdicTrafficInfo a NdicTraffic
110
111
  - [odkaz na transformaci dat](https://gitlab.com/operator-ict/golemio/code/modules/ndic/-/blob/master/src/integration-engine/transformations/TrafficRestrictionsTransformation.ts)
111
112
  - (volitelně) obohacení dat
112
113
  - stejné jako u předešlé metody *`saveTrafficInfo`*
114
+ - osm path se obohacuje nejdříve pomocí global network lookup tabulky (viz `RefreshGlobalNetworkDataTask`) a pokud se to nepodaří, tak získáme osmpath pomocí `ltstart` a `ltend` z `rsdTmcPointsModel` (modul traffic common)
113
115
  - repository
114
116
  - ukládá do tabulky `ndic_traffic_restrictions_regions`
115
117
  - předpis stejný jako u saveTrafficRestrictions
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@golemio/ndic",
3
- "version": "1.4.2",
3
+ "version": "1.4.3-dev.1746398978",
4
4
  "description": "Golemio NDIC Module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",