raain-model 2.5.4 → 2.6.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.
@@ -1,24 +1,9 @@
1
1
  import { LatLng } from '../../cartesian/LatLng';
2
2
  import { Position } from '../position/Position';
3
- import { CartesianValue } from '../../cartesian/CartesianValue';
4
3
  export declare class QualityTools {
5
- static DEFAULT_SCALE: number;
6
4
  static IndexOfDualArray(array: any, itemToFind: any): any;
7
5
  static Precision(a: any): number;
8
- static RoundLatLng(latOrLng: number, scale?: number, needPrecision?: boolean): number;
9
- static LimitWithPrecision(latOrLng: number, precision?: number): number;
10
- static IsEqualsLatLng(latOrLng1: number, latOrLng2: number, cartesianStep?: number): boolean;
11
- static IsAroundLatLng(latLngCenter: LatLng, latLngAround: LatLng, stepRange: number, cartesianStep?: number): boolean;
12
- static IsNotAroundLatLng(latLngCenter: LatLng, latLngAround: LatLng, stepRange: number, cartesianStep?: number): boolean;
13
- static MapLatLngToPosition(latLng: LatLng, rounded?: boolean, cartesianPixelWidth?: LatLng): Position;
6
+ static MapLatLngToPosition(latLng: LatLng): Position;
14
7
  static MapPositionToLatLng(position: Position): LatLng;
15
- static DegToRad(azimuthInDegrees: number): number;
16
- static GetAzimuthRad(angleInDegrees: number): number;
17
- static ComputeLatSteps(cartesianValues: CartesianValue[]): number[];
18
- static ComputeLngSteps(cartesianValues: CartesianValue[]): number[];
19
- static LogCartesianValues(cartesianValues: CartesianValue[], logger?: Console): void;
20
- static UniqNum(a: number[]): number[];
21
- static UniqStr(a: number[]): number[];
22
8
  static CreateNDimArray(dimensions: any[], defaultValue?: any): any[];
23
- protected static LabelWithSign(val: number): string;
24
9
  }
@@ -23,68 +23,9 @@ class QualityTools {
23
23
  }
24
24
  return p;
25
25
  }
26
- static RoundLatLng(latOrLng, scale = QualityTools.DEFAULT_SCALE, needPrecision = false) {
27
- const result = Math.round(latOrLng / scale) * scale;
28
- if (!needPrecision) {
29
- return result;
30
- }
31
- return parseFloat(parseFloat('' + result).toPrecision(12));
32
- // alternative ?
33
- // let decimalPlaces = 0;
34
- // if (('' + scale).indexOf('0.') === 0) {
35
- // decimalPlaces = ('' + scale).substring(2).length;
36
- // } else {
37
- // return Math.round(latOrLng / scale) * scale;
38
- // }
39
- // const p = Math.pow(10, decimalPlaces || 0);
40
- // const n = (latOrLng * p) * (1 + Number.EPSILON);
41
- // return Math.round(n) / p;
42
- }
43
- static LimitWithPrecision(latOrLng, precision = 12) {
44
- return parseFloat(parseFloat('' + latOrLng).toPrecision(precision));
45
- }
46
- static IsEqualsLatLng(latOrLng1, latOrLng2, cartesianStep = QualityTools.DEFAULT_SCALE) {
47
- return QualityTools.RoundLatLng(latOrLng1, cartesianStep, true) === QualityTools.RoundLatLng(latOrLng2, cartesianStep, true);
48
- }
49
- static IsAroundLatLng(latLngCenter, latLngAround, stepRange, cartesianStep = QualityTools.DEFAULT_SCALE) {
50
- let isAround = false;
51
- const min = -stepRange * cartesianStep, max = stepRange * cartesianStep;
52
- for (let lat = min; !isAround && lat <= max; lat += cartesianStep) {
53
- for (let lng = min; !isAround && lng <= max; lng += cartesianStep) {
54
- isAround = QualityTools.RoundLatLng(latLngCenter.lat, cartesianStep, true)
55
- === QualityTools.RoundLatLng(latLngAround.lat + lat, cartesianStep, true);
56
- if (isAround) {
57
- isAround = QualityTools.RoundLatLng(latLngCenter.lng, cartesianStep, true)
58
- === QualityTools.RoundLatLng(latLngAround.lng + lng, cartesianStep, true);
59
- }
60
- }
61
- }
62
- return isAround;
63
- }
64
- static IsNotAroundLatLng(latLngCenter, latLngAround, stepRange, cartesianStep = QualityTools.DEFAULT_SCALE) {
65
- const max = (stepRange * cartesianStep) + Number.EPSILON;
66
- let isOut = QualityTools.RoundLatLng(latLngCenter.lat, cartesianStep)
67
- > QualityTools.RoundLatLng(latLngAround.lat + max, cartesianStep)
68
- || QualityTools.RoundLatLng(latLngCenter.lat, cartesianStep)
69
- < QualityTools.RoundLatLng(latLngAround.lat - max, cartesianStep);
70
- if (!isOut) {
71
- isOut = QualityTools.RoundLatLng(latLngCenter.lng, cartesianStep)
72
- > QualityTools.RoundLatLng(latLngAround.lng + max, cartesianStep)
73
- || QualityTools.RoundLatLng(latLngCenter.lng, cartesianStep)
74
- < QualityTools.RoundLatLng(latLngAround.lng - max, cartesianStep);
75
- }
76
- return isOut;
77
- }
78
- static MapLatLngToPosition(latLng, rounded, cartesianPixelWidth) {
79
- let x = latLng.lng;
80
- let y = latLng.lat;
81
- if (rounded) {
82
- if (!cartesianPixelWidth) {
83
- throw new Error('need cartesianPixelWidth to MapLatLngToPosition');
84
- }
85
- x = QualityTools.RoundLatLng(x, cartesianPixelWidth.lng, true);
86
- y = QualityTools.RoundLatLng(y, cartesianPixelWidth.lat, true);
87
- }
26
+ static MapLatLngToPosition(latLng) {
27
+ const x = latLng.lng;
28
+ const y = latLng.lat;
88
29
  return new Position_1.Position({ x, y });
89
30
  }
90
31
  static MapPositionToLatLng(position) {
@@ -92,60 +33,6 @@ class QualityTools {
92
33
  const lat = position.y;
93
34
  return new LatLng_1.LatLng({ lat, lng });
94
35
  }
95
- static DegToRad(azimuthInDegrees) {
96
- return azimuthInDegrees * Math.PI / 180;
97
- }
98
- static GetAzimuthRad(angleInDegrees) {
99
- return QualityTools.DegToRad(-angleInDegrees + 90);
100
- }
101
- static ComputeLatSteps(cartesianValues) {
102
- const lats = cartesianValues.map(c => c.lat).sort((a, b) => a - b);
103
- return QualityTools.UniqNum(lats);
104
- }
105
- static ComputeLngSteps(cartesianValues) {
106
- const lngs = cartesianValues.map(c => c.lng).sort((a, b) => a - b);
107
- return QualityTools.UniqNum(lngs);
108
- }
109
- static LogCartesianValues(cartesianValues, logger = console) {
110
- logger === null || logger === void 0 ? void 0 : logger.log('>> raain-quality ### logCartesianValues with', cartesianValues.length, QualityTools.DEFAULT_SCALE, ' in progress...');
111
- const pointsToShow = {};
112
- const latSteps = QualityTools.ComputeLatSteps(cartesianValues);
113
- const lngSteps = QualityTools.ComputeLngSteps(cartesianValues);
114
- const labelX = (v) => {
115
- return QualityTools.LabelWithSign(v);
116
- };
117
- const labelY = (v) => {
118
- return QualityTools.LabelWithSign(v);
119
- };
120
- const valueDisplay = (v) => {
121
- return '' + Math.round(v * 100) / 100;
122
- };
123
- for (let lat of latSteps) {
124
- const xObject = {};
125
- for (let lng of lngSteps) {
126
- const latLng = new LatLng_1.LatLng({ lat, lng });
127
- latLng.setPrecision(12);
128
- lat = latLng.lat;
129
- lng = latLng.lng;
130
- xObject[labelX(lng)] = valueDisplay(0);
131
- }
132
- pointsToShow[labelY(lat)] = xObject;
133
- }
134
- for (const [index, point] of cartesianValues.entries()) {
135
- let value = valueDisplay(point.value);
136
- if (pointsToShow[labelY(point.lat)][labelX(point.lng)] !== '0') {
137
- value = '' + value + '?' + pointsToShow[labelY(point.lat)][labelX(point.lng)];
138
- }
139
- pointsToShow[labelY(point.lat)][labelX(point.lng)] = value;
140
- }
141
- logger === null || logger === void 0 ? void 0 : logger.table(pointsToShow);
142
- }
143
- static UniqNum(a) {
144
- return [...new Set(a)];
145
- }
146
- static UniqStr(a) {
147
- return [...new Set(a)];
148
- }
149
36
  static CreateNDimArray(dimensions, defaultValue) {
150
37
  if (dimensions.length > 0) {
151
38
  const dim = dimensions[0];
@@ -163,18 +50,6 @@ class QualityTools {
163
50
  return undefined;
164
51
  }
165
52
  }
166
- static LabelWithSign(val) {
167
- const value = val;
168
- if (value < 0) {
169
- return '' + value;
170
- }
171
- else if (value === 0) {
172
- return ' ' + 0;
173
- }
174
- return '+' + value;
175
- }
176
53
  }
177
54
  exports.QualityTools = QualityTools;
178
- // scale of Pixel regarding LatLng : 1 => 100km, 0.01 => 1km, 0.005 => 500m
179
- QualityTools.DEFAULT_SCALE = 0.01;
180
55
  //# sourceMappingURL=QualityTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QualityTools.js","sourceRoot":"","sources":["../../../src/quality/tools/QualityTools.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAC9C,mDAA8C;AAG9C,MAAa,YAAY;IAKd,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU;QAC5C,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,OAAO,CAAC,CAAC;QACb,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,CAAC,IAAI,EAAE,CAAC;YACR,CAAC,EAAE,CAAC;QACR,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,QAAgB,EAAE,KAAK,GAAG,YAAY,CAAC,aAAa,EAAE,aAAa,GAAG,KAAK;QAEjG,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;QACpD,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,OAAO,UAAU,CAAC,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3D,gBAAgB;QAChB,yBAAyB;QACzB,0CAA0C;QAC1C,wDAAwD;QACxD,WAAW;QACX,mDAAmD;QACnD,IAAI;QACJ,8CAA8C;QAC9C,mDAAmD;QACnD,4BAA4B;IAChC,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAAC,QAAgB,EAAE,SAAS,GAAG,EAAE;QAC7D,OAAO,UAAU,CAAC,UAAU,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IACxE,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,SAAiB,EAAE,SAAiB,EAAE,aAAa,GAAG,YAAY,CAAC,aAAa;QACzG,OAAO,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,YAAY,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IACjI,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,YAAoB,EAAE,YAAoB,EAAE,SAAiB,EAC7D,aAAa,GAAG,YAAY,CAAC,aAAa;QAEnE,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,GAAG,GAAG,CAAC,SAAS,GAAG,aAAa,EAClC,GAAG,GAAG,SAAS,GAAG,aAAa,CAAC;QACpC,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,QAAQ,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI,aAAa,EAAE,CAAC;YAChE,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,QAAQ,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI,aAAa,EAAE,CAAC;gBAChE,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC;wBAClE,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC9E,IAAI,QAAQ,EAAE,CAAC;oBACX,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC;4BAClE,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;gBAClF,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAAC,YAAoB,EAAE,YAAoB,EAAE,SAAiB,EAC7D,aAAa,GAAG,YAAY,CAAC,aAAa;QAEtE,MAAM,GAAG,GAAG,CAAC,SAAS,GAAG,aAAa,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;QAEzD,IAAI,KAAK,GAAG,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC;cAC/D,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,EAAE,aAAa,CAAC;eAC9D,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC;kBAC1D,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,EAAE,aAAa,CAAC,CAAC;QACtE,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,KAAK,GAAG,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC;kBAC3D,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,EAAE,aAAa,CAAC;mBAC9D,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC;sBAC1D,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,EAAE,aAAa,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAAC,MAAc,EAAE,OAAiB,EAAE,mBAA4B;QAC7F,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;QACnB,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;QACnB,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACvE,CAAC;YACD,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC/D,CAAC,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC,EAAE,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,IAAI,mBAAQ,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC;IAChC,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAAC,QAAkB;QAChD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC;QACvB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC;QACvB,OAAO,IAAI,eAAM,CAAC,EAAC,GAAG,EAAE,GAAG,EAAC,CAAC,CAAC;IAClC,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,gBAAwB;QAC3C,OAAO,gBAAgB,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,cAAsB;QAC9C,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,eAAiC;QAC3D,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,eAAiC;QAC3D,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAAC,eAAiC,EACjC,MAAM,GAAG,OAAO;QAC7C,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,8CAA8C,EAAE,eAAe,CAAC,MAAM,EAC9E,YAAY,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QAE/D,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE;YACzB,OAAO,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;QACxC,CAAC,CAAA;QACD,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE;YACzB,OAAO,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;QACxC,CAAC,CAAA;QACD,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,EAAE;YACvB,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAC1C,CAAC,CAAA;QAED,KAAK,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAEvB,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,EAAC,GAAG,EAAE,GAAG,EAAC,CAAC,CAAC;gBACtC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBACxB,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;gBACjB,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;gBACjB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC;YACD,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;QACxC,CAAC;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,IAAI,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACrC,IAAI,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC7D,KAAK,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAClF,CAAC;YAED,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAC/D,CAAC;QAED,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,CAAW;QAC7B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,CAAW;QAC7B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,UAAiB,EAAE,YAAkB;QAC/D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBAC/D,IAAI,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;oBACrC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC1F,CAAC;YACL,CAAC;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC;aAAM,CAAC;YACJ,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAES,MAAM,CAAC,aAAa,CAAC,GAAW;QACtC,MAAM,KAAK,GAAG,GAAG,CAAC;QAClB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACZ,OAAO,EAAE,GAAG,KAAK,CAAC;QACtB,CAAC;aAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,GAAG,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,GAAG,KAAK,CAAC;IACvB,CAAC;;AA/ML,oCAiNC;AA/MG,2EAA2E;AAC7D,0BAAa,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"QualityTools.js","sourceRoot":"","sources":["../../../src/quality/tools/QualityTools.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAC9C,mDAA8C;AAE9C,MAAa,YAAY;IAEd,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU;QAC5C,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3C,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACf,OAAO,CAAC,CAAC;QACb,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,CAAC,IAAI,EAAE,CAAC;YACR,CAAC,EAAE,CAAC;QACR,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC;IAGM,MAAM,CAAC,mBAAmB,CAAC,MAAc;QAC5C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;QACrB,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;QACrB,OAAO,IAAI,mBAAQ,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC;IAChC,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAAC,QAAkB;QAChD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC;QACvB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC;QACvB,OAAO,IAAI,eAAM,CAAC,EAAC,GAAG,EAAE,GAAG,EAAC,CAAC,CAAC;IAClC,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,UAAiB,EAAE,YAAkB;QAC/D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,QAAQ,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,eAAe,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBAC/D,IAAI,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;oBACrC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC1F,CAAC;YACL,CAAC;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC;aAAM,CAAC;YACJ,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;CAEJ;AArDD,oCAqDC"}
@@ -2,9 +2,10 @@ import { RaainNode } from '../organization/RaainNode';
2
2
  import { Link } from '../organization/Link';
3
3
  import { RainPolarMeasureValue } from '../polar/RainPolarMeasureValue';
4
4
  import { RainCartesianMeasureValue } from '../cartesian/RainCartesianMeasureValue';
5
- import { RainComputationAbstract } from './RainComputationAbstract';
5
+ import { MergeStrategy, RainComputationAbstract } from './RainComputationAbstract';
6
6
  import { LatLng } from '../cartesian/LatLng';
7
7
  import { RainMeasure } from './RainMeasure';
8
+ import { CartesianTools } from '../cartesian/CartesianTools';
8
9
  /**
9
10
  * api/rains/:rainId/computations/:computationId
10
11
  * or as an array on
@@ -33,8 +34,9 @@ export declare class RainComputation extends RainComputationAbstract {
33
34
  stringify: boolean;
34
35
  }): any;
35
36
  mergeCartesianResults(options: {
36
- mergeCartesianPixelWidth: LatLng;
37
+ mergeStrategy: MergeStrategy;
37
38
  mergeLimitPoints: [LatLng, LatLng];
39
+ cartesianTools: CartesianTools;
38
40
  removeNullValues?: boolean;
39
41
  }): RainMeasure[];
40
42
  protected getLinkType(): string;
@@ -24,10 +24,9 @@ class RainComputation extends RainComputationAbstract_1.RainComputationAbstract
24
24
  }
25
25
  mergeCartesianResults(options) {
26
26
  this.buildLatLngMatrix(options);
27
- const values = this.results;
28
27
  return this.mergeRainMeasures([new RainMeasure_1.RainMeasure({
29
28
  id: this.id,
30
- values,
29
+ values: this.results,
31
30
  date: this.date
32
31
  })], options);
33
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RainComputation.js","sourceRoot":"","sources":["../../src/rain/RainComputation.ts"],"names":[],"mappings":";;;AAEA,0EAAqE;AACrE,sFAAiF;AACjF,uEAAkE;AAElE,+CAA0C;AAE1C;;;;GAIG;AACH,MAAa,eAAgB,SAAQ,iDAAuB;IAQxD,YAAY,IAgBX;QACG,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAEM,MAAM,CAAC,OAAO,GAAG;QACpB,SAAS,EAAE,KAAK;KACnB;QACG,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,qBAAqB,CAAC,OAIrB;QACG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,yBAAW,CAAC;gBAC3C,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,MAAM;gBACN,IAAI,EAAE,IAAI,CAAC,IAAI;aAClB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAClB,CAAC;IAES,WAAW;QACjB,OAAO,eAAe,CAAC,IAAI,CAAC;IAChC,CAAC;IAEO,UAAU,CAAC,OAAyE;QACxF,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC3B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/D,OAAO,IAAI,6CAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;iBAAM,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,OAAO,IAAI,6CAAqB,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,OAAO,IAAI,qDAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;iBAAM,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;gBAC3B,OAAO,IAAI,qDAAyB,CAAC,CAAC,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,CAAC;YACb,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;;AA/EL,0CAiFC;AA/EiB,oBAAI,GAAG,kBAAkB,CAAC"}
1
+ {"version":3,"file":"RainComputation.js","sourceRoot":"","sources":["../../src/rain/RainComputation.ts"],"names":[],"mappings":";;;AAEA,0EAAqE;AACrE,sFAAiF;AACjF,uEAAiF;AAEjF,+CAA0C;AAG1C;;;;GAIG;AACH,MAAa,eAAgB,SAAQ,iDAAuB;IAQxD,YAAY,IAgBX;QACG,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAEM,MAAM,CAAC,OAAO,GAAG;QACpB,SAAS,EAAE,KAAK;KACnB;QACG,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,qBAAqB,CAAC,OAKrB;QAEG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAEhC,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,yBAAW,CAAC;gBAC3C,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,MAAM,EAAE,IAAI,CAAC,OAAO;gBACpB,IAAI,EAAE,IAAI,CAAC,IAAI;aAClB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAClB,CAAC;IAES,WAAW;QACjB,OAAO,eAAe,CAAC,IAAI,CAAC;IAChC,CAAC;IAEO,UAAU,CAAC,OAAyE;QACxF,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC3B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/D,OAAO,IAAI,6CAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;iBAAM,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,OAAO,IAAI,6CAAqB,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,OAAO,IAAI,qDAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;iBAAM,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;gBAC3B,OAAO,IAAI,qDAAyB,CAAC,CAAC,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,CAAC;YACb,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;;AAjFL,0CAmFC;AAjFiB,oBAAI,GAAG,kBAAkB,CAAC"}
@@ -3,6 +3,19 @@ import { Link } from '../organization/Link';
3
3
  import { LatLng } from '../cartesian/LatLng';
4
4
  import { RainMeasure } from './RainMeasure';
5
5
  import { CartesianValue } from '../cartesian/CartesianValue';
6
+ import { CartesianTools } from '../cartesian/CartesianTools';
7
+ export declare enum MergeStrategy {
8
+ NONE = "none",
9
+ SUM = "sum",
10
+ AVERAGE = "average",
11
+ MAX = "max"
12
+ }
13
+ interface MergeLatLng {
14
+ sum: number;
15
+ max: number;
16
+ count: number;
17
+ latLng: LatLng;
18
+ }
6
19
  /**
7
20
  * not used directly
8
21
  */
@@ -17,8 +30,8 @@ export declare class RainComputationAbstract extends RaainNode {
17
30
  launchedBy: string;
18
31
  name: string;
19
32
  protected mergeTools: {
20
- cartesianPixelWidth: LatLng;
21
- latsLngs: number[][];
33
+ cartesianTools: CartesianTools;
34
+ latsLngs: MergeLatLng[][];
22
35
  limitPoints: LatLng[];
23
36
  };
24
37
  constructor(json: {
@@ -43,20 +56,30 @@ export declare class RainComputationAbstract extends RaainNode {
43
56
  addRadarLinks(linksToAdd: Link[] | RaainNode[]): void;
44
57
  replaceRainLink(linksToAdd: Link | RaainNode | any): void;
45
58
  addRadarMeasureLinks(linksToAdd: Link[] | any[]): void;
46
- protected getLinkType(): string;
59
+ getBuiltMergeTools(rainMeasures: RainMeasure[], options: {
60
+ cartesianTools: CartesianTools;
61
+ mergeLimitPoints: LatLng[];
62
+ }): {
63
+ cartesianTools: CartesianTools;
64
+ latsLngs: MergeLatLng[][];
65
+ limitPoints: LatLng[];
66
+ };
67
+ getMergeLatLngIndex(cartesianValue: CartesianValue): number[];
47
68
  protected buildLatLngMatrix(options: {
48
- mergeCartesianPixelWidth: LatLng;
69
+ cartesianTools: CartesianTools;
49
70
  mergeLimitPoints: LatLng[];
50
71
  }): {
51
- cartesianPixelWidth: LatLng;
52
- latsLngs: number[][];
72
+ cartesianTools: CartesianTools;
73
+ latsLngs: MergeLatLng[][];
53
74
  limitPoints: LatLng[];
54
75
  };
76
+ protected buildMergeTools(rainMeasures: RainMeasure[]): void;
77
+ protected getLinkType(): string;
55
78
  protected mergeRainMeasures(rainMeasures: RainMeasure[], options: {
79
+ mergeStrategy: MergeStrategy;
56
80
  mergeLimitPoints: [LatLng, LatLng];
57
81
  removeNullValues?: boolean;
58
82
  }): RainMeasure[];
59
- protected getMergeLatLngIndex(cartesianValue: CartesianValue): number[];
60
- protected getMergeLatLng(latIndex: number, lngIndex: number): number[];
61
- protected buildMergeCartesianValues(): CartesianValue[];
83
+ protected buildMergeCartesianValues(mergeStrategy: MergeStrategy, removeNullValues?: boolean): CartesianValue[];
62
84
  }
85
+ export {};
@@ -1,16 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RainComputationAbstract = void 0;
3
+ exports.RainComputationAbstract = exports.MergeStrategy = void 0;
4
4
  const RaainNode_1 = require("../organization/RaainNode");
5
5
  const Link_1 = require("../organization/Link");
6
6
  const RadarNode_1 = require("../radar/RadarNode");
7
7
  const RainNode_1 = require("./RainNode");
8
8
  const RadarMeasure_1 = require("../radar/RadarMeasure");
9
- const QualityTools_1 = require("../quality/tools/QualityTools");
9
+ const LatLng_1 = require("../cartesian/LatLng");
10
10
  const RainMeasure_1 = require("./RainMeasure");
11
11
  const CartesianMeasureValue_1 = require("../cartesian/CartesianMeasureValue");
12
12
  const RainCartesianMeasureValue_1 = require("../cartesian/RainCartesianMeasureValue");
13
13
  const CartesianValue_1 = require("../cartesian/CartesianValue");
14
+ const CartesianTools_1 = require("../cartesian/CartesianTools");
15
+ var MergeStrategy;
16
+ (function (MergeStrategy) {
17
+ MergeStrategy["NONE"] = "none";
18
+ MergeStrategy["SUM"] = "sum";
19
+ MergeStrategy["AVERAGE"] = "average";
20
+ MergeStrategy["MAX"] = "max";
21
+ })(MergeStrategy || (exports.MergeStrategy = MergeStrategy = {}));
14
22
  /**
15
23
  * not used directly
16
24
  */
@@ -98,34 +106,52 @@ class RainComputationAbstract extends RaainNode_1.RaainNode {
98
106
  addRadarMeasureLinks(linksToAdd) {
99
107
  this.addLinks(RainComputationAbstract._getRadarMeasureLinks(linksToAdd));
100
108
  }
101
- getLinkType() {
102
- throw Error('abstract');
109
+ getBuiltMergeTools(rainMeasures, options) {
110
+ this.buildLatLngMatrix(options);
111
+ this.buildMergeTools(rainMeasures);
112
+ return this.mergeTools;
113
+ }
114
+ getMergeLatLngIndex(cartesianValue) {
115
+ const latLng = this.mergeTools.cartesianTools.getLatLngFromEarthMap(cartesianValue);
116
+ const latLngScale = this.mergeTools.cartesianTools.getScaleLatLngFromEarth(latLng);
117
+ const latIndex = Math.round((latLng.lat - this.mergeTools.limitPoints[0].lat) / latLngScale.lat);
118
+ const lngIndex = Math.round((latLng.lng - this.mergeTools.limitPoints[0].lng) / latLngScale.lng);
119
+ return [latIndex, lngIndex];
103
120
  }
104
121
  buildLatLngMatrix(options) {
105
122
  const latsLngs = [];
106
- const lngCount = Math.round((options.mergeLimitPoints[1].lng - options.mergeLimitPoints[0].lng)
107
- / options.mergeCartesianPixelWidth.lng) + 1;
108
- for (let lat = options.mergeLimitPoints[0].lat; lat <= options.mergeLimitPoints[1].lat; lat += options.mergeCartesianPixelWidth.lat) {
109
- lat = QualityTools_1.QualityTools.RoundLatLng(lat, options.mergeCartesianPixelWidth.lat);
110
- latsLngs.push(new Array(lngCount).fill(0));
123
+ const downPoint = options.cartesianTools.getLatLngFromEarthMap(options.mergeLimitPoints[0]);
124
+ const topPoint = options.cartesianTools.getLatLngFromEarthMap(options.mergeLimitPoints[1]);
125
+ const scaleLat = options.cartesianTools.getScaleLatLng(downPoint);
126
+ for (let lat = downPoint.lat; lat <= topPoint.lat; lat += scaleLat.lat) {
127
+ lat = CartesianTools_1.CartesianTools.LimitWithPrecision(lat);
128
+ const latLng = new LatLng_1.LatLng({ lat, lng: downPoint.lng });
129
+ const scaleLng = options.cartesianTools.getScaleLatLng(latLng);
130
+ const lngCount = Math.round((topPoint.lng - downPoint.lng) / scaleLng.lng) + 1;
131
+ const lngs = [];
132
+ for (let i = 0; i < lngCount; i++) {
133
+ const initValue = { sum: 0, max: 0, count: 0, latLng: undefined };
134
+ lngs.push(initValue);
135
+ }
136
+ latsLngs.push(lngs);
111
137
  }
112
- this.mergeTools = { latsLngs, cartesianPixelWidth: options.mergeCartesianPixelWidth, limitPoints: options.mergeLimitPoints };
138
+ this.mergeTools = { latsLngs, cartesianTools: options.cartesianTools, limitPoints: [downPoint, topPoint] };
113
139
  return this.mergeTools;
114
140
  }
115
- mergeRainMeasures(rainMeasures, options) {
116
- let rainMeasuresMerged = [];
117
- let lastCartesianRainMeasure;
141
+ buildMergeTools(rainMeasures) {
118
142
  for (const rainMeasure of rainMeasures) {
119
143
  for (const value of rainMeasure.values) {
120
- if (typeof value['cartesianValues'] !== 'undefined' && typeof value['cartesianPixelWidth'] !== 'undefined') {
121
- lastCartesianRainMeasure = rainMeasure;
144
+ if (typeof value['cartesianValues'] !== 'undefined') {
122
145
  const cartesianMeasureValue = new CartesianMeasureValue_1.CartesianMeasureValue(value);
123
146
  const cartesianValues = cartesianMeasureValue.getCartesianValues();
124
147
  for (const cartesianValue of cartesianValues) {
125
148
  const latLngIndex = this.getMergeLatLngIndex(cartesianValue);
126
149
  if (latLngIndex[0] >= 0 && latLngIndex[1] >= 0 && latLngIndex[0] < this.mergeTools.latsLngs.length &&
127
150
  latLngIndex[1] < this.mergeTools.latsLngs[latLngIndex[0]].length) {
128
- this.mergeTools.latsLngs[latLngIndex[0]][latLngIndex[1]] += cartesianValue.value;
151
+ this.mergeTools.latsLngs[latLngIndex[0]][latLngIndex[1]].latLng = CartesianTools_1.CartesianTools.CreateLatLng(cartesianValue);
152
+ this.mergeTools.latsLngs[latLngIndex[0]][latLngIndex[1]].sum += cartesianValue.value;
153
+ this.mergeTools.latsLngs[latLngIndex[0]][latLngIndex[1]].max = Math.max(cartesianValue.value, this.mergeTools.latsLngs[latLngIndex[0]][latLngIndex[1]].max);
154
+ this.mergeTools.latsLngs[latLngIndex[0]][latLngIndex[1]].count++;
129
155
  }
130
156
  else {
131
157
  // throw new Error(`Wrong mergeRainMeasure ${latLngIndex[0]} ${latLngIndex[1]}`);
@@ -134,45 +160,39 @@ class RainComputationAbstract extends RaainNode_1.RaainNode {
134
160
  }
135
161
  }
136
162
  }
137
- if (!lastCartesianRainMeasure) {
163
+ }
164
+ getLinkType() {
165
+ throw Error('abstract');
166
+ }
167
+ mergeRainMeasures(rainMeasures, options) {
168
+ if (rainMeasures.length === 0) {
138
169
  return [];
139
170
  }
140
- let cartesianValuesMerged = this.buildMergeCartesianValues();
141
- if (options.removeNullValues) {
142
- cartesianValuesMerged = cartesianValuesMerged.filter(c => !!c.value);
143
- }
144
- const rm = new RainMeasure_1.RainMeasure(lastCartesianRainMeasure.toJSON());
171
+ this.buildMergeTools(rainMeasures);
172
+ const firstCartesianRainMeasure = rainMeasures[0];
173
+ const cartesianValuesMerged = this.buildMergeCartesianValues(options.mergeStrategy, options.removeNullValues);
174
+ const rm = new RainMeasure_1.RainMeasure(firstCartesianRainMeasure.toJSON());
145
175
  rm.values = [new RainCartesianMeasureValue_1.RainCartesianMeasureValue({
146
176
  cartesianValues: cartesianValuesMerged,
147
- cartesianPixelWidth: this.mergeTools.cartesianPixelWidth,
148
- version: lastCartesianRainMeasure.getVersion(),
177
+ version: firstCartesianRainMeasure.getVersion(),
149
178
  limitPoints: options.mergeLimitPoints,
150
179
  })];
151
- rainMeasuresMerged = [rm];
152
- return rainMeasuresMerged;
180
+ return [rm];
153
181
  }
154
- getMergeLatLngIndex(cartesianValue) {
155
- const latMin = Math.round((this.mergeTools.limitPoints[0].lat) / this.mergeTools.cartesianPixelWidth.lat);
156
- const lngMin = Math.round((this.mergeTools.limitPoints[0].lng) / this.mergeTools.cartesianPixelWidth.lng);
157
- const latToCompare = Math.round(cartesianValue.lat / this.mergeTools.cartesianPixelWidth.lat);
158
- const lngToCompare = Math.round(cartesianValue.lng / this.mergeTools.cartesianPixelWidth.lng);
159
- return [latToCompare - latMin, lngToCompare - lngMin];
160
- }
161
- getMergeLatLng(latIndex, lngIndex) {
162
- const latMin = this.mergeTools.limitPoints[0].lat;
163
- const lngMin = this.mergeTools.limitPoints[0].lng;
164
- const latToCompare = latIndex * this.mergeTools.cartesianPixelWidth.lat;
165
- const lngToCompare = lngIndex * this.mergeTools.cartesianPixelWidth.lng;
166
- return [latToCompare + latMin, lngToCompare + lngMin];
167
- }
168
- buildMergeCartesianValues() {
182
+ buildMergeCartesianValues(mergeStrategy, removeNullValues = false) {
169
183
  const cartesianValuesMerged = [];
170
184
  for (const [latIndex, latValues] of this.mergeTools.latsLngs.entries()) {
171
- for (const [lngIndex, value] of latValues.entries()) {
172
- if (value) {
173
- const latLng = this.getMergeLatLng(latIndex, lngIndex);
174
- const lat = QualityTools_1.QualityTools.RoundLatLng(latLng[0], this.mergeTools.cartesianPixelWidth.lat, true);
175
- const lng = QualityTools_1.QualityTools.RoundLatLng(latLng[1], this.mergeTools.cartesianPixelWidth.lng, true);
185
+ for (const [lngIndex, mergeValue] of latValues.entries()) {
186
+ let value = mergeValue.sum;
187
+ if (mergeStrategy === MergeStrategy.AVERAGE) {
188
+ value = mergeValue.count ? value / mergeValue.count : -1;
189
+ }
190
+ else if (mergeStrategy === MergeStrategy.MAX) {
191
+ value = mergeValue.max;
192
+ }
193
+ if (mergeValue.count && !(removeNullValues && !value)) {
194
+ const lat = mergeValue.latLng.lat;
195
+ const lng = mergeValue.latLng.lng;
176
196
  cartesianValuesMerged.push(new CartesianValue_1.CartesianValue({ value, lat, lng }));
177
197
  }
178
198
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RainComputationAbstract.js","sourceRoot":"","sources":["../../src/rain/RainComputationAbstract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RainComputationAbstract.js","sourceRoot":"","sources":["../../src/rain/RainComputationAbstract.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { RainComputationAbstract } from './RainComputationAbstract';
1
+ import { MergeStrategy, RainComputationAbstract } from './RainComputationAbstract';
2
2
  import { Link } from '../organization/Link';
3
3
  import { RainMeasure } from './RainMeasure';
4
4
  import { RaainNode } from '../organization/RaainNode';
5
5
  import { LatLng } from '../cartesian/LatLng';
6
+ import { CartesianTools } from '../cartesian/CartesianTools';
6
7
  /**
7
8
  * api/rains/:id/computations/:computationId?format=map&...
8
9
  * or with
@@ -27,11 +28,11 @@ export declare class RainComputationMap extends RainComputationAbstract {
27
28
  radars?: Link[] | RaainNode[];
28
29
  });
29
30
  toJSON(): any;
30
- setMapData(mapData: RainMeasure[] | string, options?: {
31
- mergeCartesian: boolean;
32
- mergeCartesianPixelWidth: LatLng;
33
- mergeLimitPoints: [LatLng, LatLng];
34
- removeNullValues: boolean;
31
+ setMapData(mapData: RainMeasure[] | string, options: {
32
+ mergeStrategy: MergeStrategy;
33
+ cartesianTools?: CartesianTools;
34
+ mergeLimitPoints?: [LatLng, LatLng];
35
+ removeNullValues?: boolean;
35
36
  }): void;
36
37
  getMapData(): RainMeasure[];
37
38
  }
@@ -2,8 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RainComputationMap = void 0;
4
4
  const RainComputationAbstract_1 = require("./RainComputationAbstract");
5
- const LatLng_1 = require("../cartesian/LatLng");
6
- const QualityTools_1 = require("../quality/tools/QualityTools");
7
5
  /**
8
6
  * api/rains/:id/computations/:computationId?format=map&...
9
7
  * or with
@@ -12,7 +10,7 @@ const QualityTools_1 = require("../quality/tools/QualityTools");
12
10
  class RainComputationMap extends RainComputationAbstract_1.RainComputationAbstract {
13
11
  constructor(json) {
14
12
  super(json);
15
- this.setMapData(json.map);
13
+ this.setMapData(json.map, { mergeStrategy: RainComputationAbstract_1.MergeStrategy.NONE });
16
14
  }
17
15
  toJSON() {
18
16
  const json = super.toJSON();
@@ -22,18 +20,21 @@ class RainComputationMap extends RainComputationAbstract_1.RainComputationAbstra
22
20
  }
23
21
  return json;
24
22
  }
25
- setMapData(mapData, options = {
26
- mergeCartesian: false,
27
- mergeCartesianPixelWidth: new LatLng_1.LatLng({ lat: QualityTools_1.QualityTools.DEFAULT_SCALE, lng: QualityTools_1.QualityTools.DEFAULT_SCALE }),
28
- mergeLimitPoints: [new LatLng_1.LatLng({ lat: 0, lng: 0 }), new LatLng_1.LatLng({ lat: 0, lng: 0 })],
29
- removeNullValues: false,
30
- }) {
23
+ setMapData(mapData, options) {
31
24
  if (!mapData) {
32
25
  return;
33
26
  }
34
- if (typeof (mapData) !== 'string' && (options === null || options === void 0 ? void 0 : options.mergeCartesian)) {
35
- this.buildLatLngMatrix(options);
36
- mapData = this.mergeRainMeasures(mapData, options);
27
+ if (typeof (mapData) !== 'string' && options.mergeStrategy !== RainComputationAbstract_1.MergeStrategy.NONE
28
+ && (options === null || options === void 0 ? void 0 : options.cartesianTools) && (options === null || options === void 0 ? void 0 : options.mergeLimitPoints)) {
29
+ this.buildLatLngMatrix({
30
+ cartesianTools: options.cartesianTools,
31
+ mergeLimitPoints: options.mergeLimitPoints
32
+ });
33
+ mapData = this.mergeRainMeasures(mapData, {
34
+ mergeLimitPoints: options.mergeLimitPoints,
35
+ removeNullValues: !!options.removeNullValues,
36
+ mergeStrategy: options.mergeStrategy,
37
+ });
37
38
  }
38
39
  let map = mapData;
39
40
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"RainComputationMap.js","sourceRoot":"","sources":["../../src/rain/RainComputationMap.ts"],"names":[],"mappings":";;;AAAA,uEAAkE;AAIlE,gDAA2C;AAC3C,gEAA2D;AAE3D;;;;GAIG;AACH,MAAa,kBAAmB,SAAQ,iDAAuB;IAI3D,YAAY,IAiBX;QACG,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAEM,MAAM;QACT,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;YACvB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,UAAU,CAAC,OAA+B,EAAE,UAAU;QACzD,cAAc,EAAE,KAAK;QACrB,wBAAwB,EAAE,IAAI,eAAM,CAAC,EAAC,GAAG,EAAE,2BAAY,CAAC,aAAa,EAAE,GAAG,EAAE,2BAAY,CAAC,aAAa,EAAC,CAAC;QACxG,gBAAgB,EAAE,CAAC,IAAI,eAAM,CAAC,EAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC,CAAC,EAAE,IAAI,eAAM,CAAC,EAAC,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC,CAAC,CAAqB;QAClG,gBAAgB,EAAE,KAAK;KAC1B;QACG,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CAAA,EAAE,CAAC;YAC3D,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAChC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAwB,EAAE,OAAO,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,GAAG,GAAG,OAAO,CAAC;QAClB,IAAI,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAChC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAClC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;QACb,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAEM,UAAU;QACb,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;CACJ;AAlED,gDAkEC"}
1
+ {"version":3,"file":"RainComputationMap.js","sourceRoot":"","sources":["../../src/rain/RainComputationMap.ts"],"names":[],"mappings":";;;AAAA,uEAAiF;AAOjF;;;;GAIG;AACH,MAAa,kBAAmB,SAAQ,iDAAuB;IAI3D,YAAY,IAiBX;QACG,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,aAAa,EAAE,uCAAa,CAAC,IAAI,EAAC,CAAC,CAAC;IACnE,CAAC;IAEM,MAAM;QACT,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;YACvB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,UAAU,CAAC,OAA+B,EAAE,OAKlD;QACG,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,aAAa,KAAK,uCAAa,CAAC,IAAI;gBAC1E,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CAAA,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,CAAA,EAAE,CAAC;YAE1D,IAAI,CAAC,iBAAiB,CAAC;gBACnB,cAAc,EAAE,OAAO,CAAC,cAAc;gBACtC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;aAC7C,CAAC,CAAC;YAEH,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAwB,EAAE;gBACvD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB;gBAC5C,aAAa,EAAE,OAAO,CAAC,aAAa;aACvC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,GAAG,GAAG,OAAO,CAAC;QAClB,IAAI,CAAC;YACD,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAChC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAClC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;QACb,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAEM,UAAU;QACb,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;CACJ;AA5ED,gDA4EC"}