raain-model 2.6.10 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/CHANGELOG.md +94 -7
  2. package/README.md +14 -13
  3. package/RELEASE_PROCESS.md +91 -4
  4. package/cartesian/CartesianMeasureValue.d.ts +46 -0
  5. package/{src/cartesian/CartesianMeasureValue.ts → cartesian/CartesianMeasureValue.js} +41 -73
  6. package/cartesian/CartesianMeasureValue.js.map +1 -0
  7. package/cartesian/CartesianTools.d.ts +32 -0
  8. package/{src/cartesian/CartesianTools.ts → cartesian/CartesianTools.js} +69 -130
  9. package/cartesian/CartesianTools.js.map +1 -0
  10. package/cartesian/CartesianValue.d.ts +14 -0
  11. package/cartesian/CartesianValue.js +17 -0
  12. package/cartesian/CartesianValue.js.map +1 -0
  13. package/cartesian/EarthMap.d.ts +5 -0
  14. package/cartesian/EarthMap.js +3 -0
  15. package/cartesian/EarthMap.js.map +1 -0
  16. package/cartesian/ICartesianMeasureValue.d.ts +23 -0
  17. package/cartesian/ICartesianMeasureValue.js +3 -0
  18. package/cartesian/ICartesianMeasureValue.js.map +1 -0
  19. package/cartesian/LatLng.d.ts +16 -0
  20. package/cartesian/LatLng.js +34 -0
  21. package/cartesian/LatLng.js.map +1 -0
  22. package/cartesian/RadarCartesianMeasureValue.d.ts +27 -0
  23. package/cartesian/RadarCartesianMeasureValue.js +24 -0
  24. package/cartesian/RadarCartesianMeasureValue.js.map +1 -0
  25. package/cartesian/RainCartesianMeasureValue.d.ts +25 -0
  26. package/cartesian/RainCartesianMeasureValue.js +25 -0
  27. package/cartesian/RainCartesianMeasureValue.js.map +1 -0
  28. package/cartesian/index.js +25 -0
  29. package/cartesian/index.js.map +1 -0
  30. package/gauge/GaugeMeasure.d.ts +30 -0
  31. package/gauge/GaugeMeasure.js +30 -0
  32. package/gauge/GaugeMeasure.js.map +1 -0
  33. package/gauge/GaugeNode.d.ts +95 -0
  34. package/{src/gauge/GaugeNode.ts → gauge/GaugeNode.js} +28 -54
  35. package/gauge/GaugeNode.js.map +1 -0
  36. package/gauge/GaugeNodeMap.d.ts +35 -0
  37. package/gauge/GaugeNodeMap.js +42 -0
  38. package/gauge/GaugeNodeMap.js.map +1 -0
  39. package/gauge/index.js +20 -0
  40. package/gauge/index.js.map +1 -0
  41. package/index.js +24 -0
  42. package/index.js.map +1 -0
  43. package/organization/EventNode.d.ts +30 -0
  44. package/organization/EventNode.js +30 -0
  45. package/organization/EventNode.js.map +1 -0
  46. package/organization/IVersion.js +3 -0
  47. package/organization/IVersion.js.map +1 -0
  48. package/organization/Link.d.ts +16 -0
  49. package/{src/organization/Link.ts → organization/Link.js} +15 -15
  50. package/organization/Link.js.map +1 -0
  51. package/organization/Measure.d.ts +30 -0
  52. package/organization/Measure.js +51 -0
  53. package/organization/Measure.js.map +1 -0
  54. package/organization/PeopleNode.d.ts +23 -0
  55. package/{src/organization/PeopleNode.ts → organization/PeopleNode.js} +10 -20
  56. package/organization/PeopleNode.js.map +1 -0
  57. package/organization/RaainNode.d.ts +95 -0
  58. package/{src/organization/RaainNode.ts → organization/RaainNode.js} +38 -63
  59. package/organization/RaainNode.js.map +1 -0
  60. package/organization/TeamNode.d.ts +51 -0
  61. package/organization/TeamNode.js +52 -0
  62. package/organization/TeamNode.js.map +1 -0
  63. package/organization/index.js +24 -0
  64. package/organization/index.js.map +1 -0
  65. package/package.json +4 -2
  66. package/polar/AbstractPolarMeasureValue.d.ts +31 -0
  67. package/{src/polar/AbstractPolarMeasureValue.ts → polar/AbstractPolarMeasureValue.js} +34 -62
  68. package/polar/AbstractPolarMeasureValue.js.map +1 -0
  69. package/polar/IPolarMeasureValue.d.ts +19 -0
  70. package/polar/IPolarMeasureValue.js +3 -0
  71. package/polar/IPolarMeasureValue.js.map +1 -0
  72. package/polar/MeasureValuePolarContainer.d.ts +24 -0
  73. package/{src/polar/MeasureValuePolarContainer.ts → polar/MeasureValuePolarContainer.js} +13 -29
  74. package/polar/MeasureValuePolarContainer.js.map +1 -0
  75. package/polar/PolarFilter.d.ts +16 -0
  76. package/polar/PolarFilter.js +45 -0
  77. package/polar/PolarFilter.js.map +1 -0
  78. package/polar/PolarMeasureValue.d.ts +51 -0
  79. package/{src/polar/PolarMeasureValue.ts → polar/PolarMeasureValue.js} +62 -125
  80. package/polar/PolarMeasureValue.js.map +1 -0
  81. package/polar/PolarMeasureValueMap.d.ts +45 -0
  82. package/{src/polar/PolarMeasureValueMap.ts → polar/PolarMeasureValueMap.js} +88 -165
  83. package/polar/PolarMeasureValueMap.js.map +1 -0
  84. package/polar/PolarValue.d.ts +10 -0
  85. package/polar/PolarValue.js +12 -0
  86. package/polar/PolarValue.js.map +1 -0
  87. package/polar/RadarPolarMeasureValue.d.ts +33 -0
  88. package/{src/polar/RadarPolarMeasureValue.ts → polar/RadarPolarMeasureValue.js} +31 -39
  89. package/polar/RadarPolarMeasureValue.js.map +1 -0
  90. package/polar/RainPolarMeasureValue.d.ts +24 -0
  91. package/polar/RainPolarMeasureValue.js +46 -0
  92. package/polar/RainPolarMeasureValue.js.map +1 -0
  93. package/polar/index.js +25 -0
  94. package/polar/index.js.map +1 -0
  95. package/quality/QualityPoint.d.ts +37 -0
  96. package/{src/quality/QualityPoint.ts → quality/QualityPoint.js} +33 -56
  97. package/quality/QualityPoint.js.map +1 -0
  98. package/quality/SpeedMatrix.d.ts +83 -0
  99. package/{src/quality/SpeedMatrix.ts → quality/SpeedMatrix.js} +76 -117
  100. package/quality/SpeedMatrix.js.map +1 -0
  101. package/quality/SpeedMatrixContainer.d.ts +102 -0
  102. package/{src/quality/SpeedMatrixContainer.ts → quality/SpeedMatrixContainer.js} +103 -210
  103. package/quality/SpeedMatrixContainer.js.map +1 -0
  104. package/quality/history/CartesianGaugeHistory.d.ts +15 -0
  105. package/quality/history/CartesianGaugeHistory.js +14 -0
  106. package/quality/history/CartesianGaugeHistory.js.map +1 -0
  107. package/quality/history/CartesianRainHistory.d.ts +9 -0
  108. package/quality/history/CartesianRainHistory.js +11 -0
  109. package/quality/history/CartesianRainHistory.js.map +1 -0
  110. package/quality/history/PositionHistory.d.ts +20 -0
  111. package/quality/history/PositionHistory.js +17 -0
  112. package/quality/history/PositionHistory.js.map +1 -0
  113. package/{src/quality/index.ts → quality/index.d.ts} +0 -3
  114. package/quality/index.js +26 -0
  115. package/quality/index.js.map +1 -0
  116. package/quality/position/Position.d.ts +22 -0
  117. package/quality/position/Position.js +50 -0
  118. package/quality/position/Position.js.map +1 -0
  119. package/quality/position/PositionValue.d.ts +9 -0
  120. package/quality/position/PositionValue.js +12 -0
  121. package/quality/position/PositionValue.js.map +1 -0
  122. package/quality/tools/QualityTools.d.ts +9 -0
  123. package/{src/quality/tools/QualityTools.ts → quality/tools/QualityTools.js} +17 -18
  124. package/quality/tools/QualityTools.js.map +1 -0
  125. package/radar/RadarMeasure.d.ts +38 -0
  126. package/radar/RadarMeasure.js +33 -0
  127. package/radar/RadarMeasure.js.map +1 -0
  128. package/radar/RadarNode.d.ts +41 -0
  129. package/radar/RadarNode.js +58 -0
  130. package/radar/RadarNode.js.map +1 -0
  131. package/radar/RadarNodeMap.d.ts +51 -0
  132. package/radar/RadarNodeMap.js +50 -0
  133. package/radar/RadarNodeMap.js.map +1 -0
  134. package/radar/index.js +20 -0
  135. package/radar/index.js.map +1 -0
  136. package/rain/MergeStrategy.d.ts +13 -0
  137. package/rain/MergeStrategy.js +11 -0
  138. package/rain/MergeStrategy.js.map +1 -0
  139. package/rain/RainComputation.d.ts +59 -0
  140. package/rain/RainComputation.js +68 -0
  141. package/rain/RainComputation.js.map +1 -0
  142. package/rain/RainComputationAbstract.d.ts +89 -0
  143. package/rain/RainComputationAbstract.js +207 -0
  144. package/rain/RainComputationAbstract.js.map +1 -0
  145. package/rain/RainComputationMap.d.ts +113 -0
  146. package/{src/rain/RainComputationMap.ts → rain/RainComputationMap.js} +26 -60
  147. package/rain/RainComputationMap.js.map +1 -0
  148. package/rain/RainComputationQuality.d.ts +58 -0
  149. package/{src/rain/RainComputationQuality.ts → rain/RainComputationQuality.js} +52 -89
  150. package/rain/RainComputationQuality.js.map +1 -0
  151. package/rain/RainMeasure.d.ts +17 -0
  152. package/rain/RainMeasure.js +18 -0
  153. package/rain/RainMeasure.js.map +1 -0
  154. package/rain/RainNode.d.ts +60 -0
  155. package/rain/RainNode.js +198 -0
  156. package/rain/RainNode.js.map +1 -0
  157. package/{src/rain/index.ts → rain/index.d.ts} +1 -0
  158. package/rain/index.js +24 -0
  159. package/rain/index.js.map +1 -0
  160. package/.cursorignore +0 -10
  161. package/.github/workflows/ci.yml +0 -29
  162. package/LICENSE +0 -21
  163. package/RELEASE.md +0 -19
  164. package/specs/REQUIREMENTS.md +0 -42
  165. package/specs/TECHNICAL.md +0 -57
  166. package/specs/cartesian/Cartesian.spec.ts +0 -82
  167. package/specs/cartesian/CartesianTools.spec.ts +0 -121
  168. package/specs/gauge/Gauge.spec.ts +0 -39
  169. package/specs/organization/Organization.spec.ts +0 -38
  170. package/specs/polar/Polar.spec.ts +0 -267
  171. package/specs/quality/Position.spec.ts +0 -18
  172. package/specs/quality/QualityPointEdgeCases.spec.ts +0 -215
  173. package/specs/quality/QualityTools.spec.ts +0 -67
  174. package/specs/quality/SpeedMatrix.spec.ts +0 -214
  175. package/specs/radar/Radar.spec.ts +0 -129
  176. package/specs/rain/Rain.spec.ts +0 -334
  177. package/specs/tsconfig.json +0 -12
  178. package/src/cartesian/CartesianValue.ts +0 -26
  179. package/src/cartesian/EarthMap.ts +0 -5
  180. package/src/cartesian/ICartesianMeasureValue.ts +0 -22
  181. package/src/cartesian/LatLng.ts +0 -43
  182. package/src/cartesian/RadarCartesianMeasureValue.ts +0 -32
  183. package/src/cartesian/RainCartesianMeasureValue.ts +0 -32
  184. package/src/gauge/GaugeMeasure.ts +0 -42
  185. package/src/gauge/GaugeNodeMap.ts +0 -55
  186. package/src/organization/EventNode.ts +0 -43
  187. package/src/organization/Measure.ts +0 -61
  188. package/src/organization/TeamNode.ts +0 -91
  189. package/src/polar/IPolarMeasureValue.ts +0 -21
  190. package/src/polar/PolarFilter.ts +0 -46
  191. package/src/polar/PolarValue.ts +0 -16
  192. package/src/polar/RainPolarMeasureValue.ts +0 -57
  193. package/src/quality/history/CartesianGaugeHistory.ts +0 -23
  194. package/src/quality/history/CartesianRainHistory.ts +0 -15
  195. package/src/quality/history/PositionHistory.ts +0 -31
  196. package/src/quality/position/Position.ts +0 -59
  197. package/src/quality/position/PositionValue.ts +0 -15
  198. package/src/radar/RadarMeasure.ts +0 -41
  199. package/src/radar/RadarNode.ts +0 -78
  200. package/src/radar/RadarNodeMap.ts +0 -61
  201. package/src/rain/MergeStrategy.ts +0 -15
  202. package/src/rain/RainComputation.ts +0 -96
  203. package/src/rain/RainComputationAbstract.ts +0 -262
  204. package/src/rain/RainMeasure.ts +0 -25
  205. package/src/rain/RainNode.ts +0 -235
  206. package/tsconfig.json +0 -17
  207. package/tslint.json +0 -79
  208. package/typedoc.json +0 -31
  209. /package/{src/cartesian/index.ts → cartesian/index.d.ts} +0 -0
  210. /package/{src/gauge/index.ts → gauge/index.d.ts} +0 -0
  211. /package/{src/index.ts → index.d.ts} +0 -0
  212. /package/{src/organization/IVersion.ts → organization/IVersion.d.ts} +0 -0
  213. /package/{src/organization/index.ts → organization/index.d.ts} +0 -0
  214. /package/{src/polar/index.ts → polar/index.d.ts} +0 -0
  215. /package/{src/radar/index.ts → radar/index.d.ts} +0 -0
@@ -1,40 +1,29 @@
1
- import {IPolarMeasureValue} from './IPolarMeasureValue';
2
- import {AbstractPolarMeasureValue} from './AbstractPolarMeasureValue';
3
- import {PolarMeasureValue} from './PolarMeasureValue';
4
- import {MeasureValuePolarContainer} from './MeasureValuePolarContainer';
5
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RadarPolarMeasureValue = void 0;
4
+ const AbstractPolarMeasureValue_1 = require("./AbstractPolarMeasureValue");
5
+ const PolarMeasureValue_1 = require("./PolarMeasureValue");
6
+ const MeasureValuePolarContainer_1 = require("./MeasureValuePolarContainer");
6
7
  /**
7
8
  * Radar with polar value containers
8
9
  */
9
- export class RadarPolarMeasureValue extends AbstractPolarMeasureValue implements IPolarMeasureValue {
10
-
11
- public angle: number; // In degrees. Radar incidence angle, from 0° to 90°, from the ground to the top
12
- public axis: number; // In degrees. Polarization angle 0° = horizontal, 90°= vertical.
13
-
14
- constructor(json: {
15
- polarMeasureValue: RadarPolarMeasureValue | PolarMeasureValue | string,
16
- angle: number
17
- axis: number
18
- }) {
10
+ class RadarPolarMeasureValue extends AbstractPolarMeasureValue_1.AbstractPolarMeasureValue {
11
+ constructor(json) {
19
12
  super(json);
20
-
21
13
  if (json.polarMeasureValue instanceof RadarPolarMeasureValue) {
22
14
  this.angle = json.polarMeasureValue.angle;
23
15
  this.axis = json.polarMeasureValue.axis;
24
16
  return;
25
17
  }
26
-
27
18
  if (typeof json.polarMeasureValue === 'string') {
28
19
  const object = JSON.parse(json.polarMeasureValue);
29
20
  this.angle = typeof json.angle !== 'undefined' ? json.angle : object.angle;
30
21
  this.axis = typeof json.axis !== 'undefined' ? json.axis : object.axis;
31
22
  return;
32
23
  }
33
-
34
24
  this.angle = json.angle;
35
25
  this.axis = json.axis;
36
26
  }
37
-
38
27
  /**
39
28
  * A fake image to give an example of format needed, made of:
40
29
  * - 2 axis: horizontal + vertical
@@ -42,10 +31,9 @@ export class RadarPolarMeasureValue extends AbstractPolarMeasureValue implements
42
31
  * - 720 azimuth with a step of 0.5°
43
32
  * - 250 gate with a step of 1KM
44
33
  */
45
- public static BuildFakeRadarPolarMeasureValues(movementFrom0To90 = 0): RadarPolarMeasureValue[] {
46
- const radarPolarMeasureValues: RadarPolarMeasureValue[] = [];
47
-
48
- const getMovementValue = (az: number, dis: number) => {
34
+ static BuildFakeRadarPolarMeasureValues(movementFrom0To90 = 0) {
35
+ const radarPolarMeasureValues = [];
36
+ const getMovementValue = (az, dis) => {
49
37
  const sin = Math.sin(az * (Math.PI / 180));
50
38
  const tolerance = 20;
51
39
  let val = 0;
@@ -56,10 +44,9 @@ export class RadarPolarMeasureValue extends AbstractPolarMeasureValue implements
56
44
  }
57
45
  return val;
58
46
  };
59
-
60
47
  const azimuthsCount = 360 * 2;
61
48
  const polarEdgesCount = 250;
62
- for (let axis = 0; axis <= 90; axis += 90) { // 2 axis: horizontal + vertical
49
+ for (let axis = 0; axis <= 90; axis += 90) { // 2 axis: horizontal + vertical
63
50
  for (let angle = 0.4; angle < 3; angle++) { // 3 sites: 0.4°, 1.4°, 2.4°
64
51
  const value = {
65
52
  polarMeasureValue: null,
@@ -67,37 +54,42 @@ export class RadarPolarMeasureValue extends AbstractPolarMeasureValue implements
67
54
  angle
68
55
  };
69
56
  const measureValuePolarContainers = [];
70
- for (let azimuth = 0; azimuth < (azimuthsCount / 2); azimuth += 0.5) { // 0.5° azimuth
57
+ for (let azimuth = 0; azimuth < (azimuthsCount / 2); azimuth += 0.5) { // 0.5° azimuth
71
58
  const data = [];
72
59
  for (let distance = 0; distance < polarEdgesCount; distance++) {
73
60
  const num = Math.round(angle * getMovementValue(azimuth, distance));
74
61
  data.push(num);
75
62
  }
76
- const measureValuePolarContainer = new MeasureValuePolarContainer({
63
+ const measureValuePolarContainer = new MeasureValuePolarContainer_1.MeasureValuePolarContainer({
77
64
  azimuth,
78
65
  distance: 1000, // 1KM gate = 1000 meters
79
66
  polarEdges: data,
80
67
  });
81
68
  measureValuePolarContainers.push(measureValuePolarContainer);
82
69
  }
83
- value.polarMeasureValue = new PolarMeasureValue({measureValuePolarContainers, azimuthsCount, polarEdgesCount});
70
+ value.polarMeasureValue = new PolarMeasureValue_1.PolarMeasureValue({ measureValuePolarContainers, azimuthsCount, polarEdgesCount });
84
71
  const radarPolarMeasureValue = new RadarPolarMeasureValue(value);
85
72
  radarPolarMeasureValues.push(radarPolarMeasureValue);
86
73
  }
87
74
  }
88
75
  return radarPolarMeasureValues;
89
76
  }
90
-
91
- public toJSON(options = {
92
- stringify: false
93
- }): any {
94
- const json = super.toJSON(options);
95
- json.angle = this.angle;
96
- json.axis = this.axis;
97
- return json;
77
+ toJSON() {
78
+ const json = super.toJSON();
79
+ return {
80
+ ...json,
81
+ angle: this.angle,
82
+ axis: this.axis,
83
+ };
98
84
  }
99
-
100
- public toJSONWithPolarStringified(): any {
101
- return this.toJSON({stringify: true});
85
+ toJSONWithPolarStringified() {
86
+ const json = super.toJSONWithPolarStringified();
87
+ return {
88
+ ...json,
89
+ angle: this.angle,
90
+ axis: this.axis,
91
+ };
102
92
  }
103
93
  }
94
+ exports.RadarPolarMeasureValue = RadarPolarMeasureValue;
95
+ //# sourceMappingURL=RadarPolarMeasureValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadarPolarMeasureValue.js","sourceRoot":"","sources":["../../src/polar/RadarPolarMeasureValue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { IPolarMeasureValue } from './IPolarMeasureValue';
2
+ import { IVersion } from '../organization';
3
+ import { AbstractPolarMeasureValue } from './AbstractPolarMeasureValue';
4
+ import { PolarMeasureValue } from './PolarMeasureValue';
5
+ /**
6
+ * Computed Rain with polar value containers
7
+ */
8
+ export declare class RainPolarMeasureValue extends AbstractPolarMeasureValue implements IPolarMeasureValue, IVersion {
9
+ private readonly version;
10
+ constructor(json: {
11
+ polarMeasureValue: RainPolarMeasureValue | PolarMeasureValue | string;
12
+ version?: string;
13
+ });
14
+ static From(obj: IPolarMeasureValue | any): RainPolarMeasureValue;
15
+ toJSON(): {
16
+ version: string;
17
+ polarMeasureValue: PolarMeasureValue;
18
+ };
19
+ toJSONWithPolarStringified(): {
20
+ version: string;
21
+ polarMeasureValue: string;
22
+ };
23
+ getVersion(): string;
24
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RainPolarMeasureValue = void 0;
4
+ const AbstractPolarMeasureValue_1 = require("./AbstractPolarMeasureValue");
5
+ /**
6
+ * Computed Rain with polar value containers
7
+ */
8
+ class RainPolarMeasureValue extends AbstractPolarMeasureValue_1.AbstractPolarMeasureValue {
9
+ constructor(json) {
10
+ super(json);
11
+ if (json.polarMeasureValue instanceof RainPolarMeasureValue) {
12
+ this.version = json.polarMeasureValue.version;
13
+ return;
14
+ }
15
+ this.version = json.version;
16
+ }
17
+ static From(obj) {
18
+ let version, polarMeasureValue;
19
+ if (typeof obj.version === 'string') {
20
+ version = obj.version;
21
+ }
22
+ if (typeof obj.polarMeasureValue !== 'undefined') {
23
+ polarMeasureValue = obj.polarMeasureValue;
24
+ }
25
+ return new RainPolarMeasureValue({ polarMeasureValue, version });
26
+ }
27
+ toJSON() {
28
+ const json = super.toJSON();
29
+ return {
30
+ ...json,
31
+ version: this.version
32
+ };
33
+ }
34
+ toJSONWithPolarStringified() {
35
+ const json = super.toJSONWithPolarStringified();
36
+ return {
37
+ ...json,
38
+ version: this.version
39
+ };
40
+ }
41
+ getVersion() {
42
+ return this.version;
43
+ }
44
+ }
45
+ exports.RainPolarMeasureValue = RainPolarMeasureValue;
46
+ //# sourceMappingURL=RainPolarMeasureValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RainPolarMeasureValue.js","sourceRoot":"","sources":["../../src/polar/RainPolarMeasureValue.ts"],"names":[],"mappings":";;;AAEA,2EAAsE;AAGtE;;GAEG;AACH,MAAa,qBAAsB,SAAQ,qDAAyB;IAIhE,YAAY,IAGX;QACG,KAAK,CAAC,IAAI,CAAC,CAAC;QAEZ,IAAI,IAAI,CAAC,iBAAiB,YAAY,qBAAqB,EAAE,CAAC;YAC1D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC9C,OAAO;QACX,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,GAA6B;QACrC,IAAI,OAAe,EACf,iBAAoC,CAAC;QAEzC,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC1B,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,iBAAiB,KAAK,WAAW,EAAE,CAAC;YAC/C,iBAAiB,GAAG,GAAG,CAAC,iBAAiB,CAAC;QAC9C,CAAC;QAED,OAAO,IAAI,qBAAqB,CAAC,EAAC,iBAAiB,EAAE,OAAO,EAAC,CAAC,CAAC;IACnE,CAAC;IAEM,MAAM;QACT,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,OAAO;YACH,GAAG,IAAI;YACP,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC;IACN,CAAC;IAEM,0BAA0B;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,0BAA0B,EAAE,CAAC;QAChD,OAAO;YACH,GAAG,IAAI;YACP,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC;IACN,CAAC;IAEM,UAAU;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ;AApDD,sDAoDC"}
package/polar/index.js ADDED
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./MeasureValuePolarContainer"), exports);
18
+ __exportStar(require("./PolarMeasureValue"), exports);
19
+ __exportStar(require("./PolarMeasureValueMap"), exports);
20
+ __exportStar(require("./PolarValue"), exports);
21
+ __exportStar(require("./PolarFilter"), exports);
22
+ __exportStar(require("./RadarPolarMeasureValue"), exports);
23
+ __exportStar(require("./RainPolarMeasureValue"), exports);
24
+ __exportStar(require("./IPolarMeasureValue"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/polar/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,sDAAoC;AACpC,yDAAuC;AACvC,+CAA6B;AAC7B,gDAA8B;AAC9B,2DAAyC;AACzC,0DAAwC;AACxC,uDAAqC"}
@@ -0,0 +1,37 @@
1
+ import { CartesianValue } from '../cartesian';
2
+ export declare class QualityPoint {
3
+ gaugeId: string;
4
+ gaugeLabel: string;
5
+ gaugeDate: Date;
6
+ rainDate: Date;
7
+ gaugeCartesianValue: CartesianValue;
8
+ rainCartesianValues: CartesianValue[];
9
+ speed: {
10
+ x: number;
11
+ y: number;
12
+ };
13
+ remark: string;
14
+ constructor(json: {
15
+ gaugeId: string;
16
+ gaugeLabel: string;
17
+ gaugeDate: Date;
18
+ rainDate: Date;
19
+ gaugeCartesianValue: CartesianValue;
20
+ rainCartesianValues: CartesianValue[];
21
+ speed: {
22
+ x: number;
23
+ y: number;
24
+ };
25
+ remark: string;
26
+ });
27
+ static CreateFromJSON(src: QualityPoint): QualityPoint;
28
+ getGaugeValue(): number;
29
+ getRainValue(): number;
30
+ getRainLat(): number;
31
+ getRainLng(): number;
32
+ getDelta(): number;
33
+ getRatio(): number;
34
+ getTimeDeltaInMinutes(): number;
35
+ accumulateValues(qualityPoint: QualityPoint): void;
36
+ private getMiddleValue;
37
+ }
@@ -1,26 +1,9 @@
1
- import {CartesianValue} from '../cartesian';
2
-
3
- export class QualityPoint {
4
-
5
- public gaugeId: string;
6
- public gaugeLabel: string;
7
- public gaugeDate: Date;
8
- public rainDate: Date;
9
- public gaugeCartesianValue: CartesianValue;
10
- public rainCartesianValues: CartesianValue[];
11
- public speed: { x: number, y: number };
12
- public remark: string;
13
-
14
- constructor(json: {
15
- gaugeId: string,
16
- gaugeLabel: string,
17
- gaugeDate: Date,
18
- rainDate: Date,
19
- gaugeCartesianValue: CartesianValue,
20
- rainCartesianValues: CartesianValue[],
21
- speed: { x: number, y: number },
22
- remark: string,
23
- }) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QualityPoint = void 0;
4
+ const cartesian_1 = require("../cartesian");
5
+ class QualityPoint {
6
+ constructor(json) {
24
7
  this.gaugeId = json.gaugeId;
25
8
  this.gaugeLabel = json.gaugeLabel;
26
9
  this.gaugeDate = new Date(json.gaugeDate);
@@ -30,38 +13,36 @@ export class QualityPoint {
30
13
  this.speed = json.speed;
31
14
  this.remark = json.remark;
32
15
  }
33
-
34
- static CreateFromJSON(src: QualityPoint) {
16
+ static CreateFromJSON(src) {
17
+ var _a, _b;
35
18
  return new QualityPoint({
36
19
  gaugeId: src.gaugeId,
37
20
  gaugeLabel: src.gaugeLabel,
38
21
  gaugeDate: new Date(src.gaugeDate),
39
22
  rainDate: new Date(src.rainDate),
40
- gaugeCartesianValue: new CartesianValue(src.gaugeCartesianValue),
41
- rainCartesianValues: src.rainCartesianValues.map(v => new CartesianValue(v)),
42
- speed: {x: src.speed?.x, y: src.speed?.y},
23
+ gaugeCartesianValue: new cartesian_1.CartesianValue(src.gaugeCartesianValue),
24
+ rainCartesianValues: src.rainCartesianValues.map(v => new cartesian_1.CartesianValue(v)),
25
+ speed: { x: (_a = src.speed) === null || _a === void 0 ? void 0 : _a.x, y: (_b = src.speed) === null || _b === void 0 ? void 0 : _b.y },
43
26
  remark: src.remark,
44
- })
27
+ });
45
28
  }
46
-
47
- getGaugeValue(): number {
48
- return this.gaugeCartesianValue?.value;
29
+ getGaugeValue() {
30
+ var _a;
31
+ return (_a = this.gaugeCartesianValue) === null || _a === void 0 ? void 0 : _a.value;
49
32
  }
50
-
51
- getRainValue(): number {
33
+ getRainValue() {
52
34
  const sum = this.rainCartesianValues.reduce((prev, rcv) => prev + rcv.value, 0);
53
35
  return this.rainCartesianValues.length ? sum / this.rainCartesianValues.length : 0;
54
36
  }
55
-
56
- getRainLat(): number {
57
- return this.getMiddleValue()?.lat;
37
+ getRainLat() {
38
+ var _a;
39
+ return (_a = this.getMiddleValue()) === null || _a === void 0 ? void 0 : _a.lat;
58
40
  }
59
-
60
- getRainLng(): number {
61
- return this.getMiddleValue()?.lng;
41
+ getRainLng() {
42
+ var _a;
43
+ return (_a = this.getMiddleValue()) === null || _a === void 0 ? void 0 : _a.lng;
62
44
  }
63
-
64
- getDelta(): number {
45
+ getDelta() {
65
46
  const rain = this.getRainValue();
66
47
  const gauge = this.getGaugeValue();
67
48
  if (typeof rain !== 'number' || typeof gauge !== 'number') {
@@ -69,42 +50,36 @@ export class QualityPoint {
69
50
  }
70
51
  return Math.abs(rain - gauge);
71
52
  }
72
-
73
- getRatio(): number {
74
-
53
+ getRatio() {
75
54
  let ratio = 0;
76
55
  if (this.getRainValue() === 0) {
77
56
  return ratio;
78
57
  }
79
-
80
58
  if (this.getGaugeValue() > this.getRainValue()) {
81
59
  ratio = this.getRainValue() / this.getGaugeValue();
82
- } else {
60
+ }
61
+ else {
83
62
  ratio = this.getGaugeValue() / this.getRainValue();
84
63
  }
85
-
86
64
  return ratio;
87
65
  }
88
-
89
- getTimeDeltaInMinutes(): number {
66
+ getTimeDeltaInMinutes() {
90
67
  const delta = this.rainDate.getTime() - this.gaugeDate.getTime();
91
68
  return Math.round(delta / 60000);
92
69
  }
93
-
94
- accumulateValues(qualityPoint: QualityPoint) {
70
+ accumulateValues(qualityPoint) {
95
71
  this.gaugeCartesianValue.value += qualityPoint.getGaugeValue();
96
72
  if (this.rainCartesianValues.length === 0) {
97
73
  this.rainCartesianValues = qualityPoint.rainCartesianValues.map(q => q);
98
- } else {
74
+ }
75
+ else {
99
76
  this.rainCartesianValues.forEach(v => v.value += qualityPoint.getRainValue());
100
77
  }
101
78
  }
102
-
103
- private getMiddleValue(): CartesianValue {
79
+ getMiddleValue() {
104
80
  if (!this.rainCartesianValues || this.rainCartesianValues.length === 0) {
105
81
  return null;
106
82
  }
107
-
108
83
  const sortedValues = this.rainCartesianValues.sort((a, b) => {
109
84
  return (a.lat - b.lat) * (a.lng - b.lng);
110
85
  });
@@ -112,3 +87,5 @@ export class QualityPoint {
112
87
  return sortedValues[middlePos];
113
88
  }
114
89
  }
90
+ exports.QualityPoint = QualityPoint;
91
+ //# sourceMappingURL=QualityPoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QualityPoint.js","sourceRoot":"","sources":["../../src/quality/QualityPoint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import { PositionHistory } from './history/PositionHistory';
2
+ import { PositionValue } from './position/PositionValue';
3
+ import { Position } from './position/Position';
4
+ import { QualityPoint } from './QualityPoint';
5
+ export declare class SpeedMatrix {
6
+ name: string;
7
+ remarks: string;
8
+ protected qualityPoints: QualityPoint[];
9
+ protected speed: {
10
+ angleInDegrees: number;
11
+ pixelsPerPeriod: number;
12
+ };
13
+ protected trustedTechnicalIndicator: number;
14
+ protected flattenPositionRange: {
15
+ xMin: number;
16
+ xMax: number;
17
+ yMin: number;
18
+ yMax: number;
19
+ };
20
+ roundScale: Position;
21
+ static DEFAULT_MATRIX_RANGE: number;
22
+ static DEFAULT_TRUSTED_INDICATOR: number;
23
+ protected flattenPositionHistory: number[][];
24
+ constructor(name: string, remarks: string, qualityPoints: QualityPoint[], speed?: {
25
+ angleInDegrees: number;
26
+ pixelsPerPeriod: number;
27
+ }, trustedTechnicalIndicator?: number, flattenPositionRange?: {
28
+ xMin: number;
29
+ xMax: number;
30
+ yMin: number;
31
+ yMax: number;
32
+ }, roundScale?: Position);
33
+ static CreateFromJson(json: any | SpeedMatrix): SpeedMatrix;
34
+ /**
35
+ * Get quality indicator based on delta from computed vs reality
36
+ * 0 is ideal
37
+ * 2.56 (for example) is not ideal => can be improved :)
38
+ */
39
+ static ComputeQualityIndicator(points: QualityPoint[]): number;
40
+ static LogPositionValues(positionValues: PositionHistory[], valueDisplayFn: (v: PositionHistory) => string, flattenPositionRange?: {
41
+ xMin: number;
42
+ xMax: number;
43
+ yMin: number;
44
+ yMax: number;
45
+ }, logger?: Console): void;
46
+ static Normalize(values: PositionValue[]): PositionValue[];
47
+ renderFlatten(options: {
48
+ normalize: boolean;
49
+ }): PositionValue[];
50
+ getGaugeIdRelatedValues(id: string): QualityPoint;
51
+ getQualityPoints(): QualityPoint[];
52
+ getMaxRain(): number;
53
+ getMaxGauge(): number;
54
+ getTrustedTechnicalIndicator(): number;
55
+ isConsistent(): boolean;
56
+ toJSON(): {
57
+ name: string;
58
+ remarks: string;
59
+ flattenPositionHistory: number[][];
60
+ flattenPositionRange: {
61
+ xMin: number;
62
+ xMax: number;
63
+ yMin: number;
64
+ yMax: number;
65
+ };
66
+ speed: {
67
+ angleInDegrees: number;
68
+ pixelsPerPeriod: number;
69
+ };
70
+ qualityPoints: QualityPoint[];
71
+ trustedTechnicalIndicator: number;
72
+ roundScale: Position;
73
+ };
74
+ logFlatten(options?: {
75
+ logger: any;
76
+ simplify: boolean;
77
+ }): void;
78
+ getSpeed(): {
79
+ angleInDegrees: number;
80
+ pixelsPerPeriod: number;
81
+ };
82
+ protected getFlatten(): number[][];
83
+ }