raain-model 2.5.4 → 2.6.2

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 (87) hide show
  1. package/RELEASE.md +1 -0
  2. package/cartesian/CartesianMeasureValue.d.ts +0 -10
  3. package/cartesian/CartesianMeasureValue.js +2 -16
  4. package/cartesian/CartesianMeasureValue.js.map +1 -1
  5. package/cartesian/CartesianTools.d.ts +32 -0
  6. package/cartesian/CartesianTools.js +255 -0
  7. package/cartesian/CartesianTools.js.map +1 -0
  8. package/cartesian/EarthMap.d.ts +5 -0
  9. package/cartesian/EarthMap.js +3 -0
  10. package/cartesian/EarthMap.js.map +1 -0
  11. package/cartesian/ICartesianMeasureValue.d.ts +0 -1
  12. package/cartesian/LatLng.js +5 -5
  13. package/cartesian/LatLng.js.map +1 -1
  14. package/cartesian/RadarCartesianMeasureValue.d.ts +0 -4
  15. package/cartesian/RadarCartesianMeasureValue.js.map +1 -1
  16. package/cartesian/RainCartesianMeasureValue.d.ts +1 -5
  17. package/cartesian/RainCartesianMeasureValue.js.map +1 -1
  18. package/cartesian/index.d.ts +8 -0
  19. package/cartesian/index.js +25 -0
  20. package/cartesian/index.js.map +1 -0
  21. package/gauge/GaugeMeasure.d.ts +3 -3
  22. package/gauge/GaugeMeasure.js +2 -2
  23. package/gauge/GaugeMeasure.js.map +1 -1
  24. package/gauge/GaugeNode.d.ts +1 -3
  25. package/gauge/GaugeNode.js +2 -2
  26. package/gauge/GaugeNode.js.map +1 -1
  27. package/gauge/GaugeNodeMap.d.ts +1 -3
  28. package/gauge/GaugeNodeMap.js.map +1 -1
  29. package/gauge/index.d.ts +3 -0
  30. package/gauge/index.js +20 -0
  31. package/gauge/index.js.map +1 -0
  32. package/index.d.ts +7 -40
  33. package/index.js +7 -40
  34. package/index.js.map +1 -1
  35. package/organization/Measure.d.ts +2 -2
  36. package/organization/index.d.ts +7 -0
  37. package/organization/index.js +24 -0
  38. package/organization/index.js.map +1 -0
  39. package/package.json +1 -1
  40. package/polar/RainPolarMeasureValue.d.ts +1 -1
  41. package/polar/index.d.ts +8 -0
  42. package/polar/index.js +25 -0
  43. package/polar/index.js.map +1 -0
  44. package/quality/SpeedMatrix.js +3 -6
  45. package/quality/SpeedMatrix.js.map +1 -1
  46. package/quality/SpeedMatrixContainer.d.ts +1 -1
  47. package/quality/index.d.ts +9 -0
  48. package/quality/index.js +26 -0
  49. package/quality/index.js.map +1 -0
  50. package/quality/tools/QualityTools.d.ts +1 -16
  51. package/quality/tools/QualityTools.js +3 -128
  52. package/quality/tools/QualityTools.js.map +1 -1
  53. package/radar/RadarMeasure.d.ts +3 -3
  54. package/radar/RadarMeasure.js +2 -2
  55. package/radar/RadarMeasure.js.map +1 -1
  56. package/radar/RadarNode.d.ts +1 -3
  57. package/radar/RadarNode.js +2 -2
  58. package/radar/RadarNode.js.map +1 -1
  59. package/radar/RadarNodeMap.d.ts +1 -3
  60. package/radar/RadarNodeMap.js.map +1 -1
  61. package/radar/index.d.ts +3 -0
  62. package/radar/index.js +20 -0
  63. package/radar/index.js.map +1 -0
  64. package/rain/MergeStrategy.d.ts +13 -0
  65. package/rain/MergeStrategy.js +11 -0
  66. package/rain/MergeStrategy.js.map +1 -0
  67. package/rain/RainComputation.d.ts +6 -6
  68. package/rain/RainComputation.js +7 -8
  69. package/rain/RainComputation.js.map +1 -1
  70. package/rain/RainComputationAbstract.d.ts +21 -13
  71. package/rain/RainComputationAbstract.js +70 -62
  72. package/rain/RainComputationAbstract.js.map +1 -1
  73. package/rain/RainComputationMap.d.ts +8 -8
  74. package/rain/RainComputationMap.js +14 -12
  75. package/rain/RainComputationMap.js.map +1 -1
  76. package/rain/RainComputationQuality.d.ts +2 -3
  77. package/rain/RainComputationQuality.js +2 -2
  78. package/rain/RainComputationQuality.js.map +1 -1
  79. package/rain/RainMeasure.d.ts +3 -3
  80. package/rain/RainMeasure.js +2 -2
  81. package/rain/RainMeasure.js.map +1 -1
  82. package/rain/RainNode.d.ts +4 -6
  83. package/rain/RainNode.js +22 -23
  84. package/rain/RainNode.js.map +1 -1
  85. package/rain/index.d.ts +6 -0
  86. package/rain/index.js +23 -0
  87. package/rain/index.js.map +1 -0
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RadarMeasure = void 0;
4
- const Measure_1 = require("../organization/Measure");
4
+ const organization_1 = require("../organization");
5
5
  const RadarNode_1 = require("./RadarNode");
6
6
  /**
7
7
  * api/radars/:id/measures/:id
8
8
  */
9
- class RadarMeasure extends Measure_1.Measure {
9
+ class RadarMeasure extends organization_1.Measure {
10
10
  constructor(json) {
11
11
  super(json);
12
12
  if (json.radar) {
@@ -1 +1 @@
1
- {"version":3,"file":"RadarMeasure.js","sourceRoot":"","sources":["../../src/radar/RadarMeasure.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAGhD,2CAAsC;AAEtC;;GAEG;AACH,MAAa,YAAa,SAAQ,iBAAO;IAIrC,YAAY,IAOC;QAET,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,qBAAS,CAAC,EAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC;QAC5G,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,OAAa;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAS,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,WAAW;QACjB,OAAO,YAAY,CAAC,IAAI,CAAC;IAC7B,CAAC;;AA/BL,oCAgCC;AA9BiB,iBAAI,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"RadarMeasure.js","sourceRoot":"","sources":["../../src/radar/RadarMeasure.ts"],"names":[],"mappings":";;;AAAA,kDAAwC;AAGxC,2CAAsC;AAEtC;;GAEG;AACH,MAAa,YAAa,SAAQ,sBAAO;IAIrC,YAAY,IAOC;QAET,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,qBAAS,CAAC,EAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC;QAC5G,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,OAAa;QACvB,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAS,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,WAAW;QACjB,OAAO,YAAY,CAAC,IAAI,CAAC;IAC7B,CAAC;;AA/BL,oCAgCC;AA9BiB,iBAAI,GAAG,eAAe,CAAC"}
@@ -1,6 +1,4 @@
1
- import { RaainNode } from '../organization/RaainNode';
2
- import { Link } from '../organization/Link';
3
- import { TeamNode } from '../organization/TeamNode';
1
+ import { Link, RaainNode, TeamNode } from '../organization';
4
2
  /**
5
3
  * api/radars/:id
6
4
  */
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RadarNode = void 0;
4
- const RaainNode_1 = require("../organization/RaainNode");
4
+ const organization_1 = require("../organization");
5
5
  /**
6
6
  * api/radars/:id
7
7
  */
8
- class RadarNode extends RaainNode_1.RaainNode {
8
+ class RadarNode extends organization_1.RaainNode {
9
9
  constructor(json) {
10
10
  super(json);
11
11
  this.latitude = json.latitude;
@@ -1 +1 @@
1
- {"version":3,"file":"RadarNode.js","sourceRoot":"","sources":["../../src/radar/RadarNode.ts"],"names":[],"mappings":";;;AAAA,yDAAoD;AAIpD;;GAEG;AACH,MAAa,SAAU,SAAQ,qBAAS;IAcpC,YAAY,IAWX;QACG,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACpD,CAAC;IAEM,MAAM;;QACT,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,KAAI,IAAI,CAAC,IAAI,CAAC;QAC1C,IAAI,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACvD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,gBAAgB,CAAC,aAA2B;QAC/C,IAAI,IAAI,GAAG,aAAa,CAAC;QACzB,IAAI,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,OAAO,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAEM,gBAAgB;QACnB,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;QACb,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,WAAW;QACjB,OAAO,SAAS,CAAC,IAAI,CAAC;IAC1B,CAAC;;AAtEL,8BAwEC;AAtEiB,cAAI,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"RadarNode.js","sourceRoot":"","sources":["../../src/radar/RadarNode.ts"],"names":[],"mappings":";;;AAAA,kDAA0D;AAE1D;;GAEG;AACH,MAAa,SAAU,SAAQ,wBAAS;IAcpC,YAAY,IAWX;QACG,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACpD,CAAC;IAEM,MAAM;;QACT,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,KAAI,IAAI,CAAC,IAAI,CAAC;QAC1C,IAAI,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACvD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,gBAAgB,CAAC,aAA2B;QAC/C,IAAI,IAAI,GAAG,aAAa,CAAC;QACzB,IAAI,CAAC;YACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,OAAO,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;IAEM,gBAAgB;QACnB,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;QACb,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,WAAW;QACjB,OAAO,SAAS,CAAC,IAAI,CAAC;IAC1B,CAAC;;AAtEL,8BAwEC;AAtEiB,cAAI,GAAG,OAAO,CAAC"}
@@ -1,8 +1,6 @@
1
1
  import { RadarMeasure } from './RadarMeasure';
2
2
  import { RadarNode } from './RadarNode';
3
- import { Link } from '../organization/Link';
4
- import { RaainNode } from '../organization/RaainNode';
5
- import { TeamNode } from '../organization/TeamNode';
3
+ import { Link, RaainNode, TeamNode } from '../organization';
6
4
  /**
7
5
  * api/radars/:radarId?format=map&...
8
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"RadarNodeMap.js","sourceRoot":"","sources":["../../src/radar/RadarNodeMap.ts"],"names":[],"mappings":";;;AACA,2CAAsC;AAKtC;;GAEG;AACH,MAAa,YAAa,SAAQ,qBAAS;IAKvC,YAAY,IAYX;QACG,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,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;QAC3B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,UAAU,CAAC,OAAgC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO;QACX,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;AArDD,oCAqDC"}
1
+ {"version":3,"file":"RadarNodeMap.js","sourceRoot":"","sources":["../../src/radar/RadarNodeMap.ts"],"names":[],"mappings":";;;AACA,2CAAsC;AAGtC;;GAEG;AACH,MAAa,YAAa,SAAQ,qBAAS;IAKvC,YAAY,IAYX;QACG,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,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;QAC3B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,UAAU,CAAC,OAAgC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO;QACX,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;AArDD,oCAqDC"}
@@ -0,0 +1,3 @@
1
+ export * from './RadarMeasure';
2
+ export * from './RadarNodeMap';
3
+ export * from './RadarNode';
package/radar/index.js ADDED
@@ -0,0 +1,20 @@
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("./RadarMeasure"), exports);
18
+ __exportStar(require("./RadarNodeMap"), exports);
19
+ __exportStar(require("./RadarNode"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/radar/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,iDAA+B;AAC/B,8CAA4B"}
@@ -0,0 +1,13 @@
1
+ import { LatLng } from '../cartesian';
2
+ export declare enum MergeStrategy {
3
+ NONE = "none",
4
+ SUM = "sum",
5
+ AVERAGE = "average",
6
+ MAX = "max"
7
+ }
8
+ export interface MergeLatLng {
9
+ sum: number;
10
+ max: number;
11
+ count: number;
12
+ latLng: LatLng;
13
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MergeStrategy = void 0;
4
+ var MergeStrategy;
5
+ (function (MergeStrategy) {
6
+ MergeStrategy["NONE"] = "none";
7
+ MergeStrategy["SUM"] = "sum";
8
+ MergeStrategy["AVERAGE"] = "average";
9
+ MergeStrategy["MAX"] = "max";
10
+ })(MergeStrategy || (exports.MergeStrategy = MergeStrategy = {}));
11
+ //# sourceMappingURL=MergeStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MergeStrategy.js","sourceRoot":"","sources":["../../src/rain/MergeStrategy.ts"],"names":[],"mappings":";;;AAEA,IAAY,aAKX;AALD,WAAY,aAAa;IACrB,8BAAa,CAAA;IACb,4BAAW,CAAA;IACX,oCAAmB,CAAA;IACnB,4BAAW,CAAA;AACf,CAAC,EALW,aAAa,6BAAb,aAAa,QAKxB"}
@@ -1,10 +1,9 @@
1
- import { RaainNode } from '../organization/RaainNode';
2
- import { Link } from '../organization/Link';
3
- import { RainPolarMeasureValue } from '../polar/RainPolarMeasureValue';
4
- import { RainCartesianMeasureValue } from '../cartesian/RainCartesianMeasureValue';
1
+ import { Link, RaainNode } from '../organization';
2
+ import { RainPolarMeasureValue } from '../polar';
3
+ import { CartesianTools, LatLng, RainCartesianMeasureValue } from '../cartesian';
5
4
  import { RainComputationAbstract } from './RainComputationAbstract';
6
- import { LatLng } from '../cartesian/LatLng';
7
5
  import { RainMeasure } from './RainMeasure';
6
+ import { MergeStrategy } from './MergeStrategy';
8
7
  /**
9
8
  * api/rains/:rainId/computations/:computationId
10
9
  * or as an array on
@@ -33,8 +32,9 @@ export declare class RainComputation extends RainComputationAbstract {
33
32
  stringify: boolean;
34
33
  }): any;
35
34
  mergeCartesianResults(options: {
36
- mergeCartesianPixelWidth: LatLng;
35
+ mergeStrategy: MergeStrategy;
37
36
  mergeLimitPoints: [LatLng, LatLng];
37
+ cartesianTools: CartesianTools;
38
38
  removeNullValues?: boolean;
39
39
  }): RainMeasure[];
40
40
  protected getLinkType(): string;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RainComputation = void 0;
4
- const RainPolarMeasureValue_1 = require("../polar/RainPolarMeasureValue");
5
- const RainCartesianMeasureValue_1 = require("../cartesian/RainCartesianMeasureValue");
4
+ const polar_1 = require("../polar");
5
+ const cartesian_1 = require("../cartesian");
6
6
  const RainComputationAbstract_1 = require("./RainComputationAbstract");
7
7
  const RainMeasure_1 = require("./RainMeasure");
8
8
  /**
@@ -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
  }
@@ -44,16 +43,16 @@ class RainComputation extends RainComputationAbstract_1.RainComputationAbstract
44
43
  }
45
44
  this.results = results.map(r => {
46
45
  if (typeof r === 'string' && r.indexOf('polarMeasureValue') >= 0) {
47
- return new RainPolarMeasureValue_1.RainPolarMeasureValue(JSON.parse(r));
46
+ return new polar_1.RainPolarMeasureValue(JSON.parse(r));
48
47
  }
49
48
  else if (r.polarMeasureValue) {
50
- return new RainPolarMeasureValue_1.RainPolarMeasureValue(r);
49
+ return new polar_1.RainPolarMeasureValue(r);
51
50
  }
52
51
  if (typeof r === 'string' && r.indexOf('cartesian') >= 0) {
53
- return new RainCartesianMeasureValue_1.RainCartesianMeasureValue(JSON.parse(r));
52
+ return new cartesian_1.RainCartesianMeasureValue(JSON.parse(r));
54
53
  }
55
54
  else if (r.cartesianValues) {
56
- return new RainCartesianMeasureValue_1.RainCartesianMeasureValue(r);
55
+ return new cartesian_1.RainCartesianMeasureValue(r);
57
56
  }
58
57
  else {
59
58
  return r;
@@ -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":";;;AACA,oCAA+C;AAC/C,4CAA+E;AAC/E,uEAAkE;AAClE,+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,6BAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;iBAAM,IAAI,CAAC,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,OAAO,IAAI,6BAAqB,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,qCAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,CAAC;iBAAM,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;gBAC3B,OAAO,IAAI,qCAAyB,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"}
@@ -1,8 +1,7 @@
1
- import { RaainNode } from '../organization/RaainNode';
2
- import { Link } from '../organization/Link';
3
- import { LatLng } from '../cartesian/LatLng';
1
+ import { Link, RaainNode } from '../organization';
2
+ import { CartesianTools, CartesianValue, LatLng } from '../cartesian';
4
3
  import { RainMeasure } from './RainMeasure';
5
- import { CartesianValue } from '../cartesian/CartesianValue';
4
+ import { MergeLatLng, MergeStrategy } from './MergeStrategy';
6
5
  /**
7
6
  * not used directly
8
7
  */
@@ -17,8 +16,8 @@ export declare class RainComputationAbstract extends RaainNode {
17
16
  launchedBy: string;
18
17
  name: string;
19
18
  protected mergeTools: {
20
- cartesianPixelWidth: LatLng;
21
- latsLngs: number[][];
19
+ cartesianTools: CartesianTools;
20
+ latsLngs: MergeLatLng[][];
22
21
  limitPoints: LatLng[];
23
22
  };
24
23
  constructor(json: {
@@ -43,20 +42,29 @@ export declare class RainComputationAbstract extends RaainNode {
43
42
  addRadarLinks(linksToAdd: Link[] | RaainNode[]): void;
44
43
  replaceRainLink(linksToAdd: Link | RaainNode | any): void;
45
44
  addRadarMeasureLinks(linksToAdd: Link[] | any[]): void;
46
- protected getLinkType(): string;
45
+ getBuiltMergeTools(rainMeasures: RainMeasure[], options: {
46
+ cartesianTools: CartesianTools;
47
+ mergeLimitPoints: LatLng[];
48
+ }): {
49
+ cartesianTools: CartesianTools;
50
+ latsLngs: MergeLatLng[][];
51
+ limitPoints: LatLng[];
52
+ };
53
+ getMergeLatLngIndex(cartesianValue: CartesianValue): number[];
47
54
  protected buildLatLngMatrix(options: {
48
- mergeCartesianPixelWidth: LatLng;
55
+ cartesianTools: CartesianTools;
49
56
  mergeLimitPoints: LatLng[];
50
57
  }): {
51
- cartesianPixelWidth: LatLng;
52
- latsLngs: number[][];
58
+ cartesianTools: CartesianTools;
59
+ latsLngs: MergeLatLng[][];
53
60
  limitPoints: LatLng[];
54
61
  };
62
+ protected buildMergeTools(rainMeasures: RainMeasure[]): void;
63
+ protected getLinkType(): string;
55
64
  protected mergeRainMeasures(rainMeasures: RainMeasure[], options: {
65
+ mergeStrategy: MergeStrategy;
56
66
  mergeLimitPoints: [LatLng, LatLng];
57
67
  removeNullValues?: boolean;
58
68
  }): RainMeasure[];
59
- protected getMergeLatLngIndex(cartesianValue: CartesianValue): number[];
60
- protected getMergeLatLng(latIndex: number, lngIndex: number): number[];
61
- protected buildMergeCartesianValues(): CartesianValue[];
69
+ protected buildMergeCartesianValues(mergeStrategy: MergeStrategy, removeNullValues?: boolean): CartesianValue[];
62
70
  }
@@ -1,20 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RainComputationAbstract = void 0;
4
- const RaainNode_1 = require("../organization/RaainNode");
5
- const Link_1 = require("../organization/Link");
6
- const RadarNode_1 = require("../radar/RadarNode");
4
+ const organization_1 = require("../organization");
5
+ const radar_1 = require("../radar");
7
6
  const RainNode_1 = require("./RainNode");
8
- const RadarMeasure_1 = require("../radar/RadarMeasure");
9
- const QualityTools_1 = require("../quality/tools/QualityTools");
7
+ const cartesian_1 = require("../cartesian");
10
8
  const RainMeasure_1 = require("./RainMeasure");
11
- const CartesianMeasureValue_1 = require("../cartesian/CartesianMeasureValue");
12
- const RainCartesianMeasureValue_1 = require("../cartesian/RainCartesianMeasureValue");
13
- const CartesianValue_1 = require("../cartesian/CartesianValue");
9
+ const MergeStrategy_1 = require("./MergeStrategy");
14
10
  /**
15
11
  * not used directly
16
12
  */
17
- class RainComputationAbstract extends RaainNode_1.RaainNode {
13
+ class RainComputationAbstract extends organization_1.RaainNode {
18
14
  constructor(json) {
19
15
  super(json);
20
16
  this.date = json.date ? new Date(json.date) : null;
@@ -35,14 +31,14 @@ class RainComputationAbstract extends RaainNode_1.RaainNode {
35
31
  return [];
36
32
  }
37
33
  return linksToPurify.map(l => {
38
- if (l instanceof Link_1.Link) {
34
+ if (l instanceof organization_1.Link) {
39
35
  return l;
40
36
  }
41
37
  else if (l && l['_id']) {
42
- return new RadarNode_1.RadarNode({ id: l['_id'].toString(), latitude: 0, longitude: 0, name: l.name, team: l.team });
38
+ return new radar_1.RadarNode({ id: l['_id'].toString(), latitude: 0, longitude: 0, name: l.name, team: l.team });
43
39
  }
44
40
  else if (l && l.id) {
45
- return new RadarNode_1.RadarNode({
41
+ return new radar_1.RadarNode({
46
42
  id: l.id.toString(), // 'hex'
47
43
  latitude: 0, longitude: 0, name: l.name, team: l.team
48
44
  });
@@ -54,14 +50,14 @@ class RainComputationAbstract extends RaainNode_1.RaainNode {
54
50
  return [];
55
51
  }
56
52
  return linksToPurify.map(l => {
57
- if (l instanceof Link_1.Link) {
53
+ if (l instanceof organization_1.Link) {
58
54
  return l;
59
55
  }
60
56
  else if (l && l['_id']) {
61
- return new RadarMeasure_1.RadarMeasure({ id: l['_id'].toString(), values: [] });
57
+ return new radar_1.RadarMeasure({ id: l['_id'].toString(), values: [] });
62
58
  }
63
59
  else if (l && l.id) {
64
- return new RadarMeasure_1.RadarMeasure({ id: l.id.toString(), values: [] }); // 'hex'
60
+ return new radar_1.RadarMeasure({ id: l.id.toString(), values: [] }); // 'hex'
65
61
  }
66
62
  });
67
63
  }
@@ -98,34 +94,52 @@ class RainComputationAbstract extends RaainNode_1.RaainNode {
98
94
  addRadarMeasureLinks(linksToAdd) {
99
95
  this.addLinks(RainComputationAbstract._getRadarMeasureLinks(linksToAdd));
100
96
  }
101
- getLinkType() {
102
- throw Error('abstract');
97
+ getBuiltMergeTools(rainMeasures, options) {
98
+ this.buildLatLngMatrix(options);
99
+ this.buildMergeTools(rainMeasures);
100
+ return this.mergeTools;
101
+ }
102
+ getMergeLatLngIndex(cartesianValue) {
103
+ const latLng = this.mergeTools.cartesianTools.getLatLngFromEarthMap(cartesianValue);
104
+ const latLngScale = this.mergeTools.cartesianTools.getScaleLatLngFromEarth(latLng);
105
+ const latIndex = Math.round((latLng.lat - this.mergeTools.limitPoints[0].lat) / latLngScale.lat);
106
+ const lngIndex = Math.round((latLng.lng - this.mergeTools.limitPoints[0].lng) / latLngScale.lng);
107
+ return [latIndex, lngIndex];
103
108
  }
104
109
  buildLatLngMatrix(options) {
105
110
  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));
111
+ const downPoint = options.cartesianTools.getLatLngFromEarthMap(options.mergeLimitPoints[0]);
112
+ const topPoint = options.cartesianTools.getLatLngFromEarthMap(options.mergeLimitPoints[1]);
113
+ const scaleLat = options.cartesianTools.getScaleLatLng(downPoint);
114
+ for (let lat = downPoint.lat; lat <= topPoint.lat; lat += scaleLat.lat) {
115
+ lat = cartesian_1.CartesianTools.LimitWithPrecision(lat);
116
+ const latLng = new cartesian_1.LatLng({ lat, lng: downPoint.lng });
117
+ const scaleLng = options.cartesianTools.getScaleLatLng(latLng);
118
+ const lngCount = Math.round((topPoint.lng - downPoint.lng) / scaleLng.lng) + 1;
119
+ const lngs = [];
120
+ for (let i = 0; i < lngCount; i++) {
121
+ const initValue = { sum: 0, max: 0, count: 0, latLng: undefined };
122
+ lngs.push(initValue);
123
+ }
124
+ latsLngs.push(lngs);
111
125
  }
112
- this.mergeTools = { latsLngs, cartesianPixelWidth: options.mergeCartesianPixelWidth, limitPoints: options.mergeLimitPoints };
126
+ this.mergeTools = { latsLngs, cartesianTools: options.cartesianTools, limitPoints: [downPoint, topPoint] };
113
127
  return this.mergeTools;
114
128
  }
115
- mergeRainMeasures(rainMeasures, options) {
116
- let rainMeasuresMerged = [];
117
- let lastCartesianRainMeasure;
129
+ buildMergeTools(rainMeasures) {
118
130
  for (const rainMeasure of rainMeasures) {
119
131
  for (const value of rainMeasure.values) {
120
- if (typeof value['cartesianValues'] !== 'undefined' && typeof value['cartesianPixelWidth'] !== 'undefined') {
121
- lastCartesianRainMeasure = rainMeasure;
122
- const cartesianMeasureValue = new CartesianMeasureValue_1.CartesianMeasureValue(value);
132
+ if (typeof value['cartesianValues'] !== 'undefined') {
133
+ const cartesianMeasureValue = new cartesian_1.CartesianMeasureValue(value);
123
134
  const cartesianValues = cartesianMeasureValue.getCartesianValues();
124
135
  for (const cartesianValue of cartesianValues) {
125
136
  const latLngIndex = this.getMergeLatLngIndex(cartesianValue);
126
137
  if (latLngIndex[0] >= 0 && latLngIndex[1] >= 0 && latLngIndex[0] < this.mergeTools.latsLngs.length &&
127
138
  latLngIndex[1] < this.mergeTools.latsLngs[latLngIndex[0]].length) {
128
- this.mergeTools.latsLngs[latLngIndex[0]][latLngIndex[1]] += cartesianValue.value;
139
+ this.mergeTools.latsLngs[latLngIndex[0]][latLngIndex[1]].latLng = cartesian_1.CartesianTools.CreateLatLng(cartesianValue);
140
+ this.mergeTools.latsLngs[latLngIndex[0]][latLngIndex[1]].sum += cartesianValue.value;
141
+ this.mergeTools.latsLngs[latLngIndex[0]][latLngIndex[1]].max = Math.max(cartesianValue.value, this.mergeTools.latsLngs[latLngIndex[0]][latLngIndex[1]].max);
142
+ this.mergeTools.latsLngs[latLngIndex[0]][latLngIndex[1]].count++;
129
143
  }
130
144
  else {
131
145
  // throw new Error(`Wrong mergeRainMeasure ${latLngIndex[0]} ${latLngIndex[1]}`);
@@ -134,46 +148,40 @@ class RainComputationAbstract extends RaainNode_1.RaainNode {
134
148
  }
135
149
  }
136
150
  }
137
- if (!lastCartesianRainMeasure) {
151
+ }
152
+ getLinkType() {
153
+ throw Error('abstract');
154
+ }
155
+ mergeRainMeasures(rainMeasures, options) {
156
+ if (rainMeasures.length === 0) {
138
157
  return [];
139
158
  }
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());
145
- rm.values = [new RainCartesianMeasureValue_1.RainCartesianMeasureValue({
159
+ this.buildMergeTools(rainMeasures);
160
+ const firstCartesianRainMeasure = rainMeasures[0];
161
+ const cartesianValuesMerged = this.buildMergeCartesianValues(options.mergeStrategy, options.removeNullValues);
162
+ const rm = new RainMeasure_1.RainMeasure(firstCartesianRainMeasure.toJSON());
163
+ rm.values = [new cartesian_1.RainCartesianMeasureValue({
146
164
  cartesianValues: cartesianValuesMerged,
147
- cartesianPixelWidth: this.mergeTools.cartesianPixelWidth,
148
- version: lastCartesianRainMeasure.getVersion(),
165
+ version: firstCartesianRainMeasure.getVersion(),
149
166
  limitPoints: options.mergeLimitPoints,
150
167
  })];
151
- rainMeasuresMerged = [rm];
152
- return rainMeasuresMerged;
168
+ return [rm];
153
169
  }
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() {
170
+ buildMergeCartesianValues(mergeStrategy, removeNullValues = false) {
169
171
  const cartesianValuesMerged = [];
170
172
  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);
176
- cartesianValuesMerged.push(new CartesianValue_1.CartesianValue({ value, lat, lng }));
173
+ for (const [lngIndex, mergeValue] of latValues.entries()) {
174
+ let value = mergeValue.sum;
175
+ if (mergeStrategy === MergeStrategy_1.MergeStrategy.AVERAGE) {
176
+ value = mergeValue.count ? value / mergeValue.count : -1;
177
+ }
178
+ else if (mergeStrategy === MergeStrategy_1.MergeStrategy.MAX) {
179
+ value = mergeValue.max;
180
+ }
181
+ if (mergeValue.count && !(removeNullValues && !value)) {
182
+ const lat = mergeValue.latLng.lat;
183
+ const lng = mergeValue.latLng.lng;
184
+ cartesianValuesMerged.push(new cartesian_1.CartesianValue({ value, lat, lng }));
177
185
  }
178
186
  }
179
187
  }
@@ -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,8 @@
1
1
  import { RainComputationAbstract } from './RainComputationAbstract';
2
- import { Link } from '../organization/Link';
2
+ import { Link, RaainNode } from '../organization';
3
3
  import { RainMeasure } from './RainMeasure';
4
- import { RaainNode } from '../organization/RaainNode';
5
- import { LatLng } from '../cartesian/LatLng';
4
+ import { CartesianTools, LatLng } from '../cartesian';
5
+ import { MergeStrategy } from './MergeStrategy';
6
6
  /**
7
7
  * api/rains/:id/computations/:computationId?format=map&...
8
8
  * or with
@@ -27,11 +27,11 @@ export declare class RainComputationMap extends RainComputationAbstract {
27
27
  radars?: Link[] | RaainNode[];
28
28
  });
29
29
  toJSON(): any;
30
- setMapData(mapData: RainMeasure[] | string, options?: {
31
- mergeCartesian: boolean;
32
- mergeCartesianPixelWidth: LatLng;
33
- mergeLimitPoints: [LatLng, LatLng];
34
- removeNullValues: boolean;
30
+ setMapData(mapData: RainMeasure[] | string, options: {
31
+ mergeStrategy: MergeStrategy;
32
+ cartesianTools?: CartesianTools;
33
+ mergeLimitPoints?: [LatLng, LatLng];
34
+ removeNullValues?: boolean;
35
35
  }): void;
36
36
  getMapData(): RainMeasure[];
37
37
  }
@@ -2,8 +2,7 @@
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");
5
+ const MergeStrategy_1 = require("./MergeStrategy");
7
6
  /**
8
7
  * api/rains/:id/computations/:computationId?format=map&...
9
8
  * or with
@@ -12,7 +11,7 @@ const QualityTools_1 = require("../quality/tools/QualityTools");
12
11
  class RainComputationMap extends RainComputationAbstract_1.RainComputationAbstract {
13
12
  constructor(json) {
14
13
  super(json);
15
- this.setMapData(json.map);
14
+ this.setMapData(json.map, { mergeStrategy: MergeStrategy_1.MergeStrategy.NONE });
16
15
  }
17
16
  toJSON() {
18
17
  const json = super.toJSON();
@@ -22,18 +21,21 @@ class RainComputationMap extends RainComputationAbstract_1.RainComputationAbstra
22
21
  }
23
22
  return json;
24
23
  }
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
- }) {
24
+ setMapData(mapData, options) {
31
25
  if (!mapData) {
32
26
  return;
33
27
  }
34
- if (typeof (mapData) !== 'string' && (options === null || options === void 0 ? void 0 : options.mergeCartesian)) {
35
- this.buildLatLngMatrix(options);
36
- mapData = this.mergeRainMeasures(mapData, options);
28
+ if (typeof (mapData) !== 'string' && options.mergeStrategy !== MergeStrategy_1.MergeStrategy.NONE
29
+ && (options === null || options === void 0 ? void 0 : options.cartesianTools) && (options === null || options === void 0 ? void 0 : options.mergeLimitPoints)) {
30
+ this.buildLatLngMatrix({
31
+ cartesianTools: options.cartesianTools,
32
+ mergeLimitPoints: options.mergeLimitPoints
33
+ });
34
+ mapData = this.mergeRainMeasures(mapData, {
35
+ mergeLimitPoints: options.mergeLimitPoints,
36
+ removeNullValues: !!options.removeNullValues,
37
+ mergeStrategy: options.mergeStrategy,
38
+ });
37
39
  }
38
40
  let map = mapData;
39
41
  try {