raain-model 3.1.6 → 3.1.9

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 (123) hide show
  1. package/CHANGELOG.md +33 -1
  2. package/README.md +100 -29
  3. package/api/common/BuildQueryString.d.ts +1 -0
  4. package/api/common/BuildQueryString.js +17 -0
  5. package/api/common/BuildQueryString.js.map +1 -0
  6. package/api/common/Pagination.d.ts +11 -10
  7. package/api/common/index.d.ts +1 -0
  8. package/api/common/index.js +1 -0
  9. package/api/common/index.js.map +1 -1
  10. package/api/gauges/RaainApiGaugesFindAllMineRequest.d.ts +4 -2
  11. package/api/gauges/RaainApiGaugesFindAllMineResponse.d.ts +2 -6
  12. package/api/gauges/RaainApiGaugesFindOneResponse.d.ts +2 -0
  13. package/api/gauges/RaainApiGaugesFindOneResponse.js +3 -0
  14. package/api/gauges/RaainApiGaugesFindOneResponse.js.map +1 -0
  15. package/api/index.d.ts +18 -0
  16. package/api/index.js +18 -0
  17. package/api/index.js.map +1 -1
  18. package/api/notifications/RaainApiNotificationsAddResponse.d.ts +2 -0
  19. package/api/notifications/RaainApiNotificationsAddResponse.js +3 -0
  20. package/api/notifications/RaainApiNotificationsAddResponse.js.map +1 -0
  21. package/api/notifications/RaainApiNotificationsFindAllMineResponse.d.ts +5 -0
  22. package/api/notifications/RaainApiNotificationsFindAllMineResponse.js +3 -0
  23. package/api/notifications/RaainApiNotificationsFindAllMineResponse.js.map +1 -0
  24. package/api/notifications/RaainApiNotificationsFindOneResponse.d.ts +2 -0
  25. package/api/notifications/RaainApiNotificationsFindOneResponse.js +3 -0
  26. package/api/notifications/RaainApiNotificationsFindOneResponse.js.map +1 -0
  27. package/api/radars/RaainApiRadarsFindAllMineRequest.d.ts +1 -1
  28. package/api/radars/RaainApiRadarsFindAllMineResponse.d.ts +3 -7
  29. package/api/radars/RaainApiRadarsFindOneResponse.d.ts +2 -0
  30. package/api/radars/RaainApiRadarsFindOneResponse.js +3 -0
  31. package/api/radars/RaainApiRadarsFindOneResponse.js.map +1 -0
  32. package/api/radars/RaainApiRadarsUpsertMeasureRequestBody.d.ts +3 -1
  33. package/api/rains/RaainApiRainsCumulativeCartesianMapRequest.d.ts +3 -0
  34. package/api/rains/RaainApiRainsCumulativeCartesianMapRequest.js +3 -0
  35. package/api/rains/RaainApiRainsCumulativeCartesianMapRequest.js.map +1 -0
  36. package/api/rains/RaainApiRainsCumulativeCartesianMapResponse.d.ts +4 -0
  37. package/api/rains/RaainApiRainsCumulativeCartesianMapResponse.js +3 -0
  38. package/api/rains/RaainApiRainsCumulativeCartesianMapResponse.js.map +1 -0
  39. package/api/rains/RaainApiRainsCumulativeComparesRequest.d.ts +3 -0
  40. package/api/rains/RaainApiRainsCumulativeComparesRequest.js +3 -0
  41. package/api/rains/RaainApiRainsCumulativeComparesRequest.js.map +1 -0
  42. package/api/rains/RaainApiRainsCumulativeComparesResponse.d.ts +4 -0
  43. package/api/rains/RaainApiRainsCumulativeComparesResponse.js +3 -0
  44. package/api/rains/RaainApiRainsCumulativeComparesResponse.js.map +1 -0
  45. package/api/rains/RaainApiRainsCumulativeCumulativeResponse.d.ts +4 -0
  46. package/api/rains/RaainApiRainsCumulativeCumulativeResponse.js +3 -0
  47. package/api/rains/RaainApiRainsCumulativeCumulativeResponse.js.map +1 -0
  48. package/api/rains/RaainApiRainsCumulativesFindOneResponse.d.ts +2 -0
  49. package/api/rains/RaainApiRainsCumulativesFindOneResponse.js +3 -0
  50. package/api/rains/RaainApiRainsCumulativesFindOneResponse.js.map +1 -0
  51. package/api/rains/RaainApiRainsFindAllMineRequest.d.ts +4 -4
  52. package/api/rains/RaainApiRainsFindAllMineResponse.d.ts +3 -7
  53. package/api/rains/RaainApiRainsFindOneTimeframeCumulativeRequest.d.ts +1 -0
  54. package/api/rains/RaainApiRainsFindOneTimeframeCumulativeResponse.d.ts +1 -1
  55. package/api/rains/RaainApiRainsGetCountsResponse.d.ts +17 -0
  56. package/api/rains/RaainApiRainsGetCountsResponse.js +3 -0
  57. package/api/rains/RaainApiRainsGetCountsResponse.js.map +1 -0
  58. package/api/rains/RaainApiRainsIndicatorsRequest.d.ts +3 -0
  59. package/api/rains/RaainApiRainsIndicatorsRequest.js +3 -0
  60. package/api/rains/RaainApiRainsIndicatorsRequest.js.map +1 -0
  61. package/api/rains/RaainApiRainsIndicatorsResponse.d.ts +15 -0
  62. package/api/rains/RaainApiRainsIndicatorsResponse.js +3 -0
  63. package/api/rains/RaainApiRainsIndicatorsResponse.js.map +1 -0
  64. package/api/rains/RaainApiRainsProgressResponse.d.ts +3 -0
  65. package/api/rains/RaainApiRainsProgressResponse.js +3 -0
  66. package/api/rains/RaainApiRainsProgressResponse.js.map +1 -0
  67. package/api/rains/RaainApiRainsProvidersResponse.d.ts +4 -0
  68. package/api/rains/RaainApiRainsProvidersResponse.js +3 -0
  69. package/api/rains/RaainApiRainsProvidersResponse.js.map +1 -0
  70. package/api/teams/RaainApiTeamsFindAllMineRequest.d.ts +1 -1
  71. package/api/teams/RaainApiTeamsFindAllMineResponse.d.ts +5 -0
  72. package/api/teams/RaainApiTeamsFindAllMineResponse.js +3 -0
  73. package/api/teams/RaainApiTeamsFindAllMineResponse.js.map +1 -0
  74. package/api/teams/RaainApiTeamsFindOneResponse.d.ts +2 -0
  75. package/api/teams/RaainApiTeamsFindOneResponse.js +3 -0
  76. package/api/teams/RaainApiTeamsFindOneResponse.js.map +1 -0
  77. package/bpInfo.js +1 -1
  78. package/gauge/GaugeMeasure.d.ts +1 -1
  79. package/organization/EventNode.d.ts +2 -2
  80. package/organization/EventNode.js +2 -2
  81. package/organization/EventNode.js.map +1 -1
  82. package/organization/Measure.d.ts +1 -1
  83. package/organization/RaainNode.d.ts +0 -5
  84. package/organization/RaainNode.js +0 -5
  85. package/organization/RaainNode.js.map +1 -1
  86. package/package.json +1 -1
  87. package/polar/PolarMeasureValueMap.js +1 -1
  88. package/polar/PolarMeasureValueMap.js.map +1 -1
  89. package/quality/QualityIndicatorMethod.d.ts +24 -0
  90. package/quality/QualityIndicatorMethod.js +33 -0
  91. package/quality/QualityIndicatorMethod.js.map +1 -0
  92. package/quality/QualityPoint.d.ts +2 -2
  93. package/quality/QualityPoint.js +7 -4
  94. package/quality/QualityPoint.js.map +1 -1
  95. package/quality/SpeedMatrix.d.ts +34 -4
  96. package/quality/SpeedMatrix.js +212 -10
  97. package/quality/SpeedMatrix.js.map +1 -1
  98. package/quality/SpeedMatrixContainer.d.ts +16 -8
  99. package/quality/SpeedMatrixContainer.js +30 -84
  100. package/quality/SpeedMatrixContainer.js.map +1 -1
  101. package/quality/history/CartesianGaugeHistory.d.ts +1 -1
  102. package/quality/history/CartesianRainHistory.d.ts +1 -1
  103. package/quality/history/CartesianRainHistory.js.map +1 -1
  104. package/quality/history/PositionHistory.d.ts +1 -1
  105. package/quality/index.d.ts +1 -0
  106. package/quality/index.js +1 -0
  107. package/quality/index.js.map +1 -1
  108. package/radar/RadarMeasure.d.ts +1 -1
  109. package/radar/RadarNodeMap.d.ts +1 -1
  110. package/rain/RainComputation.d.ts +4 -4
  111. package/rain/RainComputationAbstract.d.ts +4 -4
  112. package/rain/RainComputationAbstract.js +3 -2
  113. package/rain/RainComputationAbstract.js.map +1 -1
  114. package/rain/RainComputationCumulative.d.ts +3 -3
  115. package/rain/RainComputationMap.d.ts +4 -4
  116. package/rain/RainComputationQuality.d.ts +4 -4
  117. package/rain/RainMeasure.d.ts +1 -1
  118. package/rain/RainSpeed.d.ts +19 -4
  119. package/rain/RainSpeed.js +22 -7
  120. package/rain/RainSpeed.js.map +1 -1
  121. package/rain/RainSpeedMap.d.ts +18 -2
  122. package/rain/RainSpeedMap.js +7 -0
  123. package/rain/RainSpeedMap.js.map +1 -1
@@ -7,6 +7,7 @@ const QualityTools_1 = require("./tools/QualityTools");
7
7
  const Position_1 = require("./position/Position");
8
8
  const QualityPoint_1 = require("./QualityPoint");
9
9
  const cartesian_1 = require("../cartesian");
10
+ const QualityIndicatorMethod_1 = require("./QualityIndicatorMethod");
10
11
  class SpeedMatrix {
11
12
  constructor(name, remarks, qualityPoints, speed = {
12
13
  angleInDegrees: 0,
@@ -36,19 +37,90 @@ class SpeedMatrix {
36
37
  return created;
37
38
  }
38
39
  /**
39
- * Get quality indicator based on delta from computed vs reality
40
- * 0 is ideal
41
- * 2.56 (for example) is not ideal => can be improved :)
40
+ * Compute quality indicator comparing radar predictions vs gauge observations.
41
+ *
42
+ * @param points - Array of QualityPoint containing gauge and rain values
43
+ * @param options - Configuration options
44
+ * @param options.method - The calculation method (default: NASH_SUTCLIFFE)
45
+ * @param options.successThreshold - For SUCCESS_RATE: minimum ratio considered successful (default: 0.8)
46
+ * @returns Quality indicator value (interpretation depends on method)
42
47
  */
43
- static ComputeQualityIndicator(points) {
44
- let indicator = 0;
45
- for (const point of points) {
46
- indicator += point.getDelta();
48
+ static ComputeQualityIndicator(points, options = {}) {
49
+ var _a, _b;
50
+ const method = (_a = options.method) !== null && _a !== void 0 ? _a : QualityIndicatorMethod_1.QualityIndicatorMethod.NASH_SUTCLIFFE;
51
+ const successThreshold = (_b = options.successThreshold) !== null && _b !== void 0 ? _b : 0.8;
52
+ switch (method) {
53
+ case QualityIndicatorMethod_1.QualityIndicatorMethod.DELTA:
54
+ return SpeedMatrix.computeDelta(points);
55
+ case QualityIndicatorMethod_1.QualityIndicatorMethod.RATIO:
56
+ return SpeedMatrix.computeRatio(points);
57
+ case QualityIndicatorMethod_1.QualityIndicatorMethod.SUCCESS_RATE:
58
+ return SpeedMatrix.computeSuccessRate(points, successThreshold);
59
+ case QualityIndicatorMethod_1.QualityIndicatorMethod.RMSE:
60
+ return SpeedMatrix.computeRMSE(points);
61
+ case QualityIndicatorMethod_1.QualityIndicatorMethod.MAPE:
62
+ return SpeedMatrix.computeMAPE(points);
63
+ case QualityIndicatorMethod_1.QualityIndicatorMethod.NASH_SUTCLIFFE:
64
+ return SpeedMatrix.computeNashSutcliffe(points);
65
+ default:
66
+ return SpeedMatrix.computeDelta(points);
47
67
  }
48
- if (points.length > 0) {
49
- indicator = indicator / points.length;
68
+ }
69
+ /**
70
+ * Normalize a raw quality indicator value to 0-100 scale (0=bad, 100=best).
71
+ *
72
+ * @param rawValue - The raw quality indicator value from ComputeQualityIndicator
73
+ * @param method - The method used to compute the raw value
74
+ * @param options - Normalization options (reference max values for unbounded metrics)
75
+ * @returns Normalized value between 0 (worst) and 100 (best)
76
+ */
77
+ static NormalizeQualityIndicator(rawValue, method, options = {}) {
78
+ var _a, _b, _c, _d;
79
+ const deltaMaxRef = (_a = options.deltaMaxRef) !== null && _a !== void 0 ? _a : QualityIndicatorMethod_1.QUALITY_NORMALIZATION_DEFAULTS.DELTA_MAX_REF;
80
+ const rmseMaxRef = (_b = options.rmseMaxRef) !== null && _b !== void 0 ? _b : QualityIndicatorMethod_1.QUALITY_NORMALIZATION_DEFAULTS.RMSE_MAX_REF;
81
+ const mapeMaxRef = (_c = options.mapeMaxRef) !== null && _c !== void 0 ? _c : QualityIndicatorMethod_1.QUALITY_NORMALIZATION_DEFAULTS.MAPE_MAX_REF;
82
+ const nashMinClamp = (_d = options.nashSutcliffeMinClamp) !== null && _d !== void 0 ? _d : QualityIndicatorMethod_1.QUALITY_NORMALIZATION_DEFAULTS.NASH_SUTCLIFFE_MIN_CLAMP;
83
+ switch (method) {
84
+ case QualityIndicatorMethod_1.QualityIndicatorMethod.SUCCESS_RATE:
85
+ // Already 0-100 where 100=best
86
+ return Math.max(0, Math.min(100, rawValue));
87
+ case QualityIndicatorMethod_1.QualityIndicatorMethod.RATIO:
88
+ // 0-1 where 1=best → multiply by 100
89
+ return Math.max(0, Math.min(100, rawValue * 100));
90
+ case QualityIndicatorMethod_1.QualityIndicatorMethod.NASH_SUTCLIFFE:
91
+ // -∞ to 1 where 1=best → clamp and scale
92
+ const clampedNash = Math.max(nashMinClamp, Math.min(1, rawValue));
93
+ return clampedNash * 100;
94
+ case QualityIndicatorMethod_1.QualityIndicatorMethod.DELTA:
95
+ // 0-∞ where 0=best → invert using reference max
96
+ const normalizedDelta = Math.max(0, 100 - (rawValue / deltaMaxRef) * 100);
97
+ return Math.min(100, normalizedDelta);
98
+ case QualityIndicatorMethod_1.QualityIndicatorMethod.RMSE:
99
+ // 0-∞ where 0=best → invert using reference max
100
+ const normalizedRmse = Math.max(0, 100 - (rawValue / rmseMaxRef) * 100);
101
+ return Math.min(100, normalizedRmse);
102
+ case QualityIndicatorMethod_1.QualityIndicatorMethod.MAPE:
103
+ // 0-∞% where 0=best → invert using reference max
104
+ const normalizedMape = Math.max(0, 100 - (rawValue / mapeMaxRef) * 100);
105
+ return Math.min(100, normalizedMape);
106
+ default:
107
+ return rawValue;
50
108
  }
51
- return indicator;
109
+ }
110
+ /**
111
+ * Compute and normalize quality indicator in one call.
112
+ * Returns a value between 0 (worst) and 100 (best).
113
+ *
114
+ * @param points - Array of QualityPoint containing gauge and rain values
115
+ * @param indicatorOptions - Options for the quality indicator calculation
116
+ * @param normalizationOptions - Options for normalization (reference max values)
117
+ * @returns Normalized quality value between 0 (worst) and 100 (best)
118
+ */
119
+ static ComputeNormalizedQualityIndicator(points, indicatorOptions = {}, normalizationOptions = {}) {
120
+ var _a;
121
+ const method = (_a = indicatorOptions.method) !== null && _a !== void 0 ? _a : QualityIndicatorMethod_1.QualityIndicatorMethod.NASH_SUTCLIFFE;
122
+ const rawValue = SpeedMatrix.ComputeQualityIndicator(points, indicatorOptions);
123
+ return SpeedMatrix.NormalizeQualityIndicator(rawValue, method, normalizationOptions);
52
124
  }
53
125
  static LogPositionValues(positionValues, valueDisplayFn, flattenPositionRange = {
54
126
  xMin: -SpeedMatrix.DEFAULT_MATRIX_RANGE,
@@ -101,6 +173,136 @@ class SpeedMatrix {
101
173
  }
102
174
  return built;
103
175
  }
176
+ // Average absolute difference between rain and gauge
177
+ // Range: 0 to ∞, Perfect: 0
178
+ static computeDelta(points) {
179
+ let sum = 0;
180
+ let count = 0;
181
+ for (const point of points) {
182
+ const delta = point.getDelta();
183
+ if (typeof delta === 'undefined') {
184
+ continue;
185
+ }
186
+ sum += delta;
187
+ count++;
188
+ }
189
+ return count > 0 ? sum / count : 0;
190
+ }
191
+ // Average of min/max ratio (uses QualityPoint.getRatio)
192
+ // Range: 0 to 1, Perfect: 1
193
+ static computeRatio(points) {
194
+ let sum = 0;
195
+ let count = 0;
196
+ for (const point of points) {
197
+ const rain = point.getRainValue();
198
+ const gauge = point.getGaugeValue();
199
+ if (typeof rain !== 'number' || typeof gauge !== 'number') {
200
+ continue;
201
+ }
202
+ // Skip when both are zero (undefined quality)
203
+ if (rain === 0 && gauge === 0) {
204
+ continue;
205
+ }
206
+ sum += point.getRatio();
207
+ count++;
208
+ }
209
+ return count > 0 ? sum / count : 0;
210
+ }
211
+ // Percentage of points with ratio >= threshold
212
+ // Range: 0 to 100, Perfect: 100
213
+ static computeSuccessRate(points, threshold) {
214
+ let successCount = 0;
215
+ let totalCount = 0;
216
+ for (const point of points) {
217
+ const rain = point.getRainValue();
218
+ const gauge = point.getGaugeValue();
219
+ if (typeof rain !== 'number' || typeof gauge !== 'number') {
220
+ continue;
221
+ }
222
+ // Both zero is considered a success (correct prediction of no rain)
223
+ if (rain === 0 && gauge === 0) {
224
+ successCount++;
225
+ totalCount++;
226
+ continue;
227
+ }
228
+ totalCount++;
229
+ if (point.getRatio() >= threshold) {
230
+ successCount++;
231
+ }
232
+ }
233
+ return totalCount > 0 ? (successCount / totalCount) * 100 : 0;
234
+ }
235
+ // Root Mean Square Error - penalizes large errors more
236
+ // Range: 0 to ∞, Perfect: 0
237
+ static computeRMSE(points) {
238
+ let sumSquaredErrors = 0;
239
+ let count = 0;
240
+ for (const point of points) {
241
+ const rain = point.getRainValue();
242
+ const gauge = point.getGaugeValue();
243
+ if (typeof rain !== 'number' || typeof gauge !== 'number') {
244
+ continue;
245
+ }
246
+ const error = rain - gauge;
247
+ sumSquaredErrors += error * error;
248
+ count++;
249
+ }
250
+ return count > 0 ? Math.sqrt(sumSquaredErrors / count) : 0;
251
+ }
252
+ // Mean Absolute Percentage Error
253
+ // Range: 0 to 100+, Perfect: 0
254
+ static computeMAPE(points) {
255
+ let sumPercentageErrors = 0;
256
+ let count = 0;
257
+ for (const point of points) {
258
+ const rain = point.getRainValue();
259
+ const gauge = point.getGaugeValue();
260
+ if (typeof rain !== 'number' || typeof gauge !== 'number') {
261
+ continue;
262
+ }
263
+ // Skip zero gauge values to avoid division by zero
264
+ if (gauge === 0) {
265
+ continue;
266
+ }
267
+ const percentageError = Math.abs((rain - gauge) / gauge) * 100;
268
+ sumPercentageErrors += percentageError;
269
+ count++;
270
+ }
271
+ return count > 0 ? sumPercentageErrors / count : 0;
272
+ }
273
+ // Nash-Sutcliffe Efficiency - hydrology standard comparing to mean prediction
274
+ // Range: -∞ to 1, Perfect: 1 (0 = as good as mean, <0 = worse than mean)
275
+ static computeNashSutcliffe(points) {
276
+ const validPoints = [];
277
+ for (const point of points) {
278
+ const rain = point.getRainValue();
279
+ const gauge = point.getGaugeValue();
280
+ if (typeof rain === 'number' && typeof gauge === 'number') {
281
+ validPoints.push({ rain, gauge });
282
+ }
283
+ }
284
+ if (validPoints.length === 0) {
285
+ return 0;
286
+ }
287
+ // Calculate mean of observed (gauge) values
288
+ const meanGauge = validPoints.reduce((sum, p) => sum + p.gauge, 0) / validPoints.length;
289
+ // Calculate sum of squared errors (prediction vs observation)
290
+ let sumSquaredErrors = 0;
291
+ // Calculate sum of squared deviations from mean (variance numerator)
292
+ let sumSquaredDeviations = 0;
293
+ for (const p of validPoints) {
294
+ const error = p.rain - p.gauge;
295
+ sumSquaredErrors += error * error;
296
+ const deviation = p.gauge - meanGauge;
297
+ sumSquaredDeviations += deviation * deviation;
298
+ }
299
+ // Avoid division by zero (all gauge values are the same)
300
+ if (sumSquaredDeviations === 0) {
301
+ // If predictions are also all the same and equal to gauge, perfect score
302
+ return sumSquaredErrors === 0 ? 1 : -Infinity;
303
+ }
304
+ return 1 - sumSquaredErrors / sumSquaredDeviations;
305
+ }
104
306
  renderFlatten(options) {
105
307
  const positionMatrix = this.getFlatten();
106
308
  if (positionMatrix.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"SpeedMatrix.js","sourceRoot":"","sources":["../../src/quality/SpeedMatrix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpeedMatrix.js","sourceRoot":"","sources":["../../src/quality/SpeedMatrix.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { SpeedMatrix } from './SpeedMatrix';
2
2
  import { PositionValue } from './position/PositionValue';
3
3
  import { QualityPoint } from './QualityPoint';
4
- import { RainComputationQuality } from '../rain/RainComputationQuality';
4
+ import { QualityIndicatorOptions, QualityNormalizationOptions } from './QualityIndicatorMethod';
5
+ import { RainComputationQuality } from '../rain';
5
6
  export interface ICompares {
6
7
  comparesPerDate: IComparePerDate[];
7
8
  compareCumulative: ICompare;
@@ -31,12 +32,8 @@ export declare class SpeedMatrixContainer {
31
32
  static BuildCompares(qualities: RainComputationQuality[], removeDuplicates?: boolean): ICompares;
32
33
  static BuildCompareTimeline(currentQuality: RainComputationQuality, dateMin: Date, dateMax: Date): ICompare[];
33
34
  protected static mergeStillComputed(v1: any, v2: any): any;
34
- protected static mergeDateMin(d1: Date, d2: Date): Date;
35
- protected static mergeDateMax(d1: Date, d2: Date): Date;
36
35
  protected static mergeAvg(v1: number, v2: number): number;
37
- protected static mergeMin(v1: number, v2: number): number;
38
36
  protected static mergeConcat(a1: Array<any>, a2: Array<any>): Array<any>;
39
- protected static mergeReduce(a1: Array<QualityPoint>, a2: Array<QualityPoint>): Array<QualityPoint>;
40
37
  getMatrix(index?: number): SpeedMatrix;
41
38
  getMatrixByName(name: string): SpeedMatrix;
42
39
  getMatrices(): SpeedMatrix[];
@@ -45,10 +42,21 @@ export declare class SpeedMatrixContainer {
45
42
  getMaxGauge(matrixName?: string): number;
46
43
  getMaxRain(matrixName?: string): number;
47
44
  /**
48
- * Get summed quality indicator (0 ideally)
49
- * @link SpeedMatrix.ComputeQualityIndicator
45
+ * Get quality indicator.
46
+ * By default returns raw values (0 ideally for DELTA, 1 ideally for NASH_SUTCLIFFE).
47
+ * With normalize=true, returns 0-100 scale where 100=best for all methods.
48
+ *
49
+ * @param matrixName - Optional matrix name to filter quality points
50
+ * @param options - Quality indicator calculation options
51
+ * @param options.method - The calculation method (default: NASH_SUTCLIFFE)
52
+ * @param options.normalize - If true, normalizes result to 0-100 (0=bad, 100=best)
53
+ * @param options.normalizationOptions - Options for normalization (reference max values)
54
+ * @returns Quality indicator value
50
55
  */
51
- getQuality(matrixName?: string): number;
56
+ getQuality(matrixName?: string, options?: QualityIndicatorOptions & {
57
+ normalize?: boolean;
58
+ normalizationOptions?: QualityNormalizationOptions;
59
+ }): number;
52
60
  getTrustedIndicators(): number[];
53
61
  getSpeed(): {
54
62
  angleInDegrees: number;
@@ -5,7 +5,7 @@ const SpeedMatrix_1 = require("./SpeedMatrix");
5
5
  const PositionValue_1 = require("./position/PositionValue");
6
6
  const PositionHistory_1 = require("./history/PositionHistory");
7
7
  const QualityPoint_1 = require("./QualityPoint");
8
- const CartesianValue_1 = require("../cartesian/CartesianValue");
8
+ const QualityIndicatorMethod_1 = require("./QualityIndicatorMethod");
9
9
  class SpeedMatrixContainer {
10
10
  constructor(json) {
11
11
  this.qualityPoints = {};
@@ -30,11 +30,11 @@ class SpeedMatrixContainer {
30
30
  return created;
31
31
  }
32
32
  static BuildCompares(qualities, removeDuplicates = true) {
33
- var _a;
33
+ var _a, _b;
34
34
  const qualitiesSorted = qualities.sort((a, b) => a.date.getTime() - b.date.getTime());
35
35
  const comparesPerDate = [];
36
36
  const compareCumulative = {
37
- name: 'cumulative_' + qualities.reduce((p, rcq) => p + '_' + rcq.date.toISOString(), ''),
37
+ name: 'cumulative_' + qualities.reduce((p, rcq) => { var _a; return p + '_' + ((_a = rcq.date) === null || _a === void 0 ? void 0 : _a.toISOString()); }, ''),
38
38
  date: (_a = qualities[0]) === null || _a === void 0 ? void 0 : _a.date,
39
39
  qualityPointsLegacy: [],
40
40
  qualityPoints: [],
@@ -58,20 +58,25 @@ class SpeedMatrixContainer {
58
58
  });
59
59
  const qualityPoints = compareTimeline.reduce((p, a) => p.concat(a.qualityPoints), []);
60
60
  for (const qualityPoint of qualityPoints) {
61
- const key = qualityPoint.gaugeDate.toISOString() + '_' + qualityPoint.gaugeId;
61
+ const delta = qualityPoint.getDelta();
62
+ if (typeof delta === 'undefined') {
63
+ continue;
64
+ }
65
+ const key = ((_b = qualityPoint.gaugeDate) === null || _b === void 0 ? void 0 : _b.toISOString()) + '_' + qualityPoint.gaugeId;
62
66
  if (typeof minDeltaPerDate_GaugeId[key] === 'undefined') {
63
- minDeltaPerDate_GaugeId[key] = qualityPoint.getDelta();
67
+ minDeltaPerDate_GaugeId[key] = delta;
64
68
  }
65
- minDeltaPerDate_GaugeId[key] = Math.min(minDeltaPerDate_GaugeId[key], qualityPoint.getDelta());
69
+ minDeltaPerDate_GaugeId[key] = Math.min(minDeltaPerDate_GaugeId[key], delta);
66
70
  }
67
71
  }
68
72
  // loop and search for unique points
69
73
  const qualityPointToUsePerDate_GaugeId = {};
70
74
  comparesPerDate.forEach((compare) => {
71
75
  compare.compareTimeline.forEach((timeline) => {
76
+ var _a;
72
77
  for (let i = timeline.qualityPoints.length - 1; i >= 0; i--) {
73
78
  const qualityPoint = timeline.qualityPoints[i];
74
- const key = qualityPoint.gaugeDate.toISOString() + '_' + qualityPoint.gaugeId;
79
+ const key = ((_a = qualityPoint.gaugeDate) === null || _a === void 0 ? void 0 : _a.toISOString()) + '_' + qualityPoint.gaugeId;
75
80
  if (!qualityPointToUsePerDate_GaugeId[key] &&
76
81
  typeof minDeltaPerDate_GaugeId[key] !== 'undefined' &&
77
82
  minDeltaPerDate_GaugeId[key] === qualityPoint.getDelta()) {
@@ -154,26 +159,6 @@ class SpeedMatrixContainer {
154
159
  }
155
160
  return null;
156
161
  }
157
- static mergeDateMin(d1, d2) {
158
- const stillComputed = this.mergeStillComputed(d1, d2);
159
- if (stillComputed === null) {
160
- return new Date(Math.min(new Date(d1).getTime(), new Date(d2).getTime()));
161
- }
162
- if (stillComputed !== undefined) {
163
- return new Date(stillComputed);
164
- }
165
- return stillComputed;
166
- }
167
- static mergeDateMax(d1, d2) {
168
- const stillComputed = this.mergeStillComputed(d1, d2);
169
- if (stillComputed === null) {
170
- return new Date(Math.max(new Date(d1).getTime(), new Date(d2).getTime()));
171
- }
172
- if (stillComputed !== undefined) {
173
- return new Date(stillComputed);
174
- }
175
- return stillComputed;
176
- }
177
162
  static mergeAvg(v1, v2) {
178
163
  if (v1 === 0 && v2 === 0) {
179
164
  return 0;
@@ -184,13 +169,6 @@ class SpeedMatrixContainer {
184
169
  }
185
170
  return stillComputed;
186
171
  }
187
- static mergeMin(v1, v2) {
188
- const stillComputed = this.mergeStillComputed(v1, v2);
189
- if (stillComputed === null) {
190
- return Math.min(v1, v2);
191
- }
192
- return stillComputed;
193
- }
194
172
  static mergeConcat(a1, a2) {
195
173
  const stillComputed = this.mergeStillComputed(a1, a2);
196
174
  if (stillComputed === null) {
@@ -198,52 +176,6 @@ class SpeedMatrixContainer {
198
176
  }
199
177
  return stillComputed;
200
178
  }
201
- static mergeReduce(a1, a2) {
202
- const stillComputed = this.mergeStillComputed(a1, a2);
203
- if (stillComputed === null) {
204
- const ids = new Map();
205
- const concatted = a1.concat(a2);
206
- for (const qualityPoint of concatted) {
207
- const oldValue = {
208
- gaugeValue: 0,
209
- rainValue: 0,
210
- };
211
- // if (ids.has(qualityPoint.gaugeId)) {
212
- // oldValue = ids.get(qualityPoint.gaugeId);
213
- // }
214
- ids.set(qualityPoint.gaugeId, {
215
- gaugeLabel: qualityPoint.gaugeLabel,
216
- gaugeValue: qualityPoint.getGaugeValue() + oldValue.gaugeValue,
217
- gaugeLat: qualityPoint.gaugeCartesianValue.lat,
218
- gaugeLng: qualityPoint.gaugeCartesianValue.lng,
219
- rainValue: qualityPoint.getRainValue() + oldValue.rainValue,
220
- rainLat: qualityPoint.getRainLat(),
221
- rainLng: qualityPoint.getRainLng(),
222
- gaugeDate: qualityPoint.gaugeDate,
223
- rainDate: qualityPoint.rainDate,
224
- rainCartesianValues: qualityPoint.rainCartesianValues,
225
- remark: qualityPoint.remark,
226
- });
227
- }
228
- return [...ids].map(([id, value]) => {
229
- return new QualityPoint_1.QualityPoint({
230
- gaugeId: id,
231
- gaugeLabel: value.gaugeLabel,
232
- gaugeDate: value.gaugeDate,
233
- rainDate: value.rainDate,
234
- gaugeCartesianValue: new CartesianValue_1.CartesianValue({
235
- value: value.gaugeValue,
236
- lat: value.gaugeLat,
237
- lng: value.gaugeLng,
238
- }),
239
- rainCartesianValues: value.rainCartesianValues,
240
- speed: null,
241
- remark: value.remark,
242
- });
243
- });
244
- }
245
- return stillComputed;
246
- }
247
179
  getMatrix(index = 0) {
248
180
  if (this.matrices.length <= index) {
249
181
  return null;
@@ -318,12 +250,26 @@ class SpeedMatrixContainer {
318
250
  return max;
319
251
  }
320
252
  /**
321
- * Get summed quality indicator (0 ideally)
322
- * @link SpeedMatrix.ComputeQualityIndicator
253
+ * Get quality indicator.
254
+ * By default returns raw values (0 ideally for DELTA, 1 ideally for NASH_SUTCLIFFE).
255
+ * With normalize=true, returns 0-100 scale where 100=best for all methods.
256
+ *
257
+ * @param matrixName - Optional matrix name to filter quality points
258
+ * @param options - Quality indicator calculation options
259
+ * @param options.method - The calculation method (default: NASH_SUTCLIFFE)
260
+ * @param options.normalize - If true, normalizes result to 0-100 (0=bad, 100=best)
261
+ * @param options.normalizationOptions - Options for normalization (reference max values)
262
+ * @returns Quality indicator value
323
263
  */
324
- getQuality(matrixName) {
264
+ getQuality(matrixName, options = {}) {
265
+ var _a;
325
266
  const qualityPoints = this.getQualityPoints(matrixName);
326
- return SpeedMatrix_1.SpeedMatrix.ComputeQualityIndicator(qualityPoints);
267
+ const method = (_a = options.method) !== null && _a !== void 0 ? _a : QualityIndicatorMethod_1.QualityIndicatorMethod.NASH_SUTCLIFFE;
268
+ const rawValue = SpeedMatrix_1.SpeedMatrix.ComputeQualityIndicator(qualityPoints, options);
269
+ if (options.normalize) {
270
+ return SpeedMatrix_1.SpeedMatrix.NormalizeQualityIndicator(rawValue, method, options.normalizationOptions);
271
+ }
272
+ return rawValue;
327
273
  }
328
274
  getTrustedIndicators() {
329
275
  if (this.trustedIndicators.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"SpeedMatrixContainer.js","sourceRoot":"","sources":["../../src/quality/SpeedMatrixContainer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpeedMatrixContainer.js","sourceRoot":"","sources":["../../src/quality/SpeedMatrixContainer.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export declare class CartesianGaugeHistory {
8
8
  constructor(json: {
9
9
  gaugeId: string;
10
10
  gaugeLabel: string;
11
- date: Date;
11
+ date: Date | string;
12
12
  value: CartesianValue;
13
13
  configurationAsJSON: string;
14
14
  });
@@ -3,7 +3,7 @@ export declare class CartesianRainHistory {
3
3
  date: Date;
4
4
  computedValue: CartesianValue;
5
5
  constructor(json: {
6
- date: Date;
6
+ date: Date | string;
7
7
  computedValue: CartesianValue;
8
8
  });
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CartesianRainHistory.js","sourceRoot":"","sources":["../../../src/quality/history/CartesianRainHistory.ts"],"names":[],"mappings":";;;AAEA,MAAa,oBAAoB;IAI7B,YAAY,IAAiD;QACzD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IAC5C,CAAC;CACJ;AARD,oDAQC"}
1
+ {"version":3,"file":"CartesianRainHistory.js","sourceRoot":"","sources":["../../../src/quality/history/CartesianRainHistory.ts"],"names":[],"mappings":";;;AAEA,MAAa,oBAAoB;IAI7B,YAAY,IAA0D;QAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IAC5C,CAAC;CACJ;AARD,oDAQC"}
@@ -9,7 +9,7 @@ export declare class PositionHistory extends PositionValue {
9
9
  constructor(json: {
10
10
  id: string;
11
11
  label: string;
12
- date: Date;
12
+ date: Date | string;
13
13
  x: number;
14
14
  y: number;
15
15
  value: number;
@@ -1,3 +1,4 @@
1
+ export * from './QualityIndicatorMethod';
1
2
  export * from './QualityPoint';
2
3
  export * from './SpeedMatrix';
3
4
  export * from './SpeedMatrixContainer';