raain-model 2.6.10 → 2.6.11
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.
- package/README.md +2 -12
- package/RELEASE_PROCESS.md +11 -6
- package/cartesian/CartesianMeasureValue.d.ts +40 -0
- package/{src/cartesian/CartesianMeasureValue.ts → cartesian/CartesianMeasureValue.js} +41 -73
- package/cartesian/CartesianMeasureValue.js.map +1 -0
- package/cartesian/CartesianTools.d.ts +32 -0
- package/{src/cartesian/CartesianTools.ts → cartesian/CartesianTools.js} +69 -130
- package/cartesian/CartesianTools.js.map +1 -0
- package/cartesian/CartesianValue.d.ts +14 -0
- package/cartesian/CartesianValue.js +17 -0
- package/cartesian/CartesianValue.js.map +1 -0
- package/cartesian/EarthMap.d.ts +5 -0
- package/cartesian/EarthMap.js +3 -0
- package/cartesian/EarthMap.js.map +1 -0
- package/cartesian/ICartesianMeasureValue.d.ts +23 -0
- package/cartesian/ICartesianMeasureValue.js +3 -0
- package/cartesian/ICartesianMeasureValue.js.map +1 -0
- package/cartesian/LatLng.d.ts +16 -0
- package/cartesian/LatLng.js +34 -0
- package/cartesian/LatLng.js.map +1 -0
- package/cartesian/RadarCartesianMeasureValue.d.ts +17 -0
- package/cartesian/RadarCartesianMeasureValue.js +22 -0
- package/cartesian/RadarCartesianMeasureValue.js.map +1 -0
- package/cartesian/RainCartesianMeasureValue.d.ts +17 -0
- package/cartesian/RainCartesianMeasureValue.js +23 -0
- package/cartesian/RainCartesianMeasureValue.js.map +1 -0
- package/cartesian/index.js +25 -0
- package/cartesian/index.js.map +1 -0
- package/gauge/GaugeMeasure.d.ts +20 -0
- package/gauge/GaugeMeasure.js +30 -0
- package/gauge/GaugeMeasure.js.map +1 -0
- package/gauge/GaugeNode.d.ts +85 -0
- package/{src/gauge/GaugeNode.ts → gauge/GaugeNode.js} +20 -48
- package/gauge/GaugeNode.js.map +1 -0
- package/gauge/GaugeNodeMap.d.ts +24 -0
- package/gauge/GaugeNodeMap.js +40 -0
- package/gauge/GaugeNodeMap.js.map +1 -0
- package/gauge/index.js +20 -0
- package/gauge/index.js.map +1 -0
- package/index.js +24 -0
- package/index.js.map +1 -0
- package/organization/EventNode.d.ts +22 -0
- package/organization/EventNode.js +30 -0
- package/organization/EventNode.js.map +1 -0
- package/organization/IVersion.js +3 -0
- package/organization/IVersion.js.map +1 -0
- package/organization/Link.d.ts +16 -0
- package/{src/organization/Link.ts → organization/Link.js} +15 -15
- package/organization/Link.js.map +1 -0
- package/organization/Measure.d.ts +22 -0
- package/organization/Measure.js +45 -0
- package/organization/Measure.js.map +1 -0
- package/organization/PeopleNode.d.ts +18 -0
- package/{src/organization/PeopleNode.ts → organization/PeopleNode.js} +10 -20
- package/organization/PeopleNode.js.map +1 -0
- package/organization/RaainNode.d.ts +91 -0
- package/{src/organization/RaainNode.ts → organization/RaainNode.js} +38 -63
- package/organization/RaainNode.js.map +1 -0
- package/organization/TeamNode.d.ts +63 -0
- package/{src/organization/TeamNode.ts → organization/TeamNode.js} +13 -36
- package/organization/TeamNode.js.map +1 -0
- package/organization/index.js +24 -0
- package/organization/index.js.map +1 -0
- package/package.json +1 -1
- package/polar/AbstractPolarMeasureValue.d.ts +29 -0
- package/{src/polar/AbstractPolarMeasureValue.ts → polar/AbstractPolarMeasureValue.js} +32 -58
- package/polar/AbstractPolarMeasureValue.js.map +1 -0
- package/polar/IPolarMeasureValue.d.ts +19 -0
- package/polar/IPolarMeasureValue.js +3 -0
- package/polar/IPolarMeasureValue.js.map +1 -0
- package/polar/MeasureValuePolarContainer.d.ts +19 -0
- package/{src/polar/MeasureValuePolarContainer.ts → polar/MeasureValuePolarContainer.js} +13 -29
- package/polar/MeasureValuePolarContainer.js.map +1 -0
- package/polar/PolarFilter.d.ts +16 -0
- package/polar/PolarFilter.js +45 -0
- package/polar/PolarFilter.js.map +1 -0
- package/polar/PolarMeasureValue.d.ts +51 -0
- package/{src/polar/PolarMeasureValue.ts → polar/PolarMeasureValue.js} +62 -125
- package/polar/PolarMeasureValue.js.map +1 -0
- package/polar/PolarMeasureValueMap.d.ts +45 -0
- package/{src/polar/PolarMeasureValueMap.ts → polar/PolarMeasureValueMap.js} +88 -165
- package/polar/PolarMeasureValueMap.js.map +1 -0
- package/polar/PolarValue.d.ts +10 -0
- package/polar/PolarValue.js +12 -0
- package/polar/PolarValue.js.map +1 -0
- package/polar/RadarPolarMeasureValue.d.ts +27 -0
- package/{src/polar/RadarPolarMeasureValue.ts → polar/RadarPolarMeasureValue.js} +21 -34
- package/polar/RadarPolarMeasureValue.js.map +1 -0
- package/polar/RainPolarMeasureValue.d.ts +20 -0
- package/polar/RainPolarMeasureValue.js +42 -0
- package/polar/RainPolarMeasureValue.js.map +1 -0
- package/polar/index.js +25 -0
- package/polar/index.js.map +1 -0
- package/quality/QualityPoint.d.ts +37 -0
- package/{src/quality/QualityPoint.ts → quality/QualityPoint.js} +33 -56
- package/quality/QualityPoint.js.map +1 -0
- package/quality/SpeedMatrix.d.ts +83 -0
- package/{src/quality/SpeedMatrix.ts → quality/SpeedMatrix.js} +76 -117
- package/quality/SpeedMatrix.js.map +1 -0
- package/quality/SpeedMatrixContainer.d.ts +102 -0
- package/{src/quality/SpeedMatrixContainer.ts → quality/SpeedMatrixContainer.js} +103 -210
- package/quality/SpeedMatrixContainer.js.map +1 -0
- package/quality/history/CartesianGaugeHistory.d.ts +15 -0
- package/quality/history/CartesianGaugeHistory.js +14 -0
- package/quality/history/CartesianGaugeHistory.js.map +1 -0
- package/quality/history/CartesianRainHistory.d.ts +9 -0
- package/quality/history/CartesianRainHistory.js +11 -0
- package/quality/history/CartesianRainHistory.js.map +1 -0
- package/quality/history/PositionHistory.d.ts +20 -0
- package/quality/history/PositionHistory.js +17 -0
- package/quality/history/PositionHistory.js.map +1 -0
- package/{src/quality/index.ts → quality/index.d.ts} +0 -3
- package/quality/index.js +26 -0
- package/quality/index.js.map +1 -0
- package/quality/position/Position.d.ts +22 -0
- package/quality/position/Position.js +50 -0
- package/quality/position/Position.js.map +1 -0
- package/quality/position/PositionValue.d.ts +9 -0
- package/quality/position/PositionValue.js +12 -0
- package/quality/position/PositionValue.js.map +1 -0
- package/quality/tools/QualityTools.d.ts +9 -0
- package/{src/quality/tools/QualityTools.ts → quality/tools/QualityTools.js} +17 -18
- package/quality/tools/QualityTools.js.map +1 -0
- package/radar/RadarMeasure.d.ts +19 -0
- package/radar/RadarMeasure.js +30 -0
- package/radar/RadarMeasure.js.map +1 -0
- package/radar/RadarNode.d.ts +30 -0
- package/{src/radar/RadarNode.ts → radar/RadarNode.js} +19 -41
- package/radar/RadarNode.js.map +1 -0
- package/radar/RadarNodeMap.d.ts +26 -0
- package/radar/RadarNodeMap.js +44 -0
- package/radar/RadarNodeMap.js.map +1 -0
- package/radar/index.js +20 -0
- package/radar/index.js.map +1 -0
- package/rain/MergeStrategy.d.ts +13 -0
- package/rain/MergeStrategy.js +11 -0
- package/rain/MergeStrategy.js.map +1 -0
- package/rain/RainComputation.d.ts +42 -0
- package/rain/RainComputation.js +65 -0
- package/rain/RainComputation.js.map +1 -0
- package/rain/RainComputationAbstract.d.ts +73 -0
- package/{src/rain/RainComputationAbstract.ts → rain/RainComputationAbstract.js} +69 -135
- package/rain/RainComputationAbstract.js.map +1 -0
- package/rain/RainComputationMap.d.ts +97 -0
- package/{src/rain/RainComputationMap.ts → rain/RainComputationMap.js} +22 -55
- package/rain/RainComputationMap.js.map +1 -0
- package/rain/RainComputationQuality.d.ts +40 -0
- package/{src/rain/RainComputationQuality.ts → rain/RainComputationQuality.js} +42 -80
- package/rain/RainComputationQuality.js.map +1 -0
- package/rain/RainMeasure.d.ts +17 -0
- package/rain/RainMeasure.js +18 -0
- package/rain/RainMeasure.js.map +1 -0
- package/rain/RainNode.d.ts +46 -0
- package/{src/rain/RainNode.ts → rain/RainNode.js} +72 -117
- package/rain/RainNode.js.map +1 -0
- package/rain/index.js +23 -0
- package/rain/index.js.map +1 -0
- package/.cursorignore +0 -10
- package/.github/workflows/ci.yml +0 -29
- package/LICENSE +0 -21
- package/RELEASE.md +0 -19
- package/specs/REQUIREMENTS.md +0 -42
- package/specs/TECHNICAL.md +0 -57
- package/specs/cartesian/Cartesian.spec.ts +0 -82
- package/specs/cartesian/CartesianTools.spec.ts +0 -121
- package/specs/gauge/Gauge.spec.ts +0 -39
- package/specs/organization/Organization.spec.ts +0 -38
- package/specs/polar/Polar.spec.ts +0 -267
- package/specs/quality/Position.spec.ts +0 -18
- package/specs/quality/QualityPointEdgeCases.spec.ts +0 -215
- package/specs/quality/QualityTools.spec.ts +0 -67
- package/specs/quality/SpeedMatrix.spec.ts +0 -214
- package/specs/radar/Radar.spec.ts +0 -129
- package/specs/rain/Rain.spec.ts +0 -334
- package/specs/tsconfig.json +0 -12
- package/src/cartesian/CartesianValue.ts +0 -26
- package/src/cartesian/EarthMap.ts +0 -5
- package/src/cartesian/ICartesianMeasureValue.ts +0 -22
- package/src/cartesian/LatLng.ts +0 -43
- package/src/cartesian/RadarCartesianMeasureValue.ts +0 -32
- package/src/cartesian/RainCartesianMeasureValue.ts +0 -32
- package/src/gauge/GaugeMeasure.ts +0 -42
- package/src/gauge/GaugeNodeMap.ts +0 -55
- package/src/organization/EventNode.ts +0 -43
- package/src/organization/Measure.ts +0 -61
- package/src/polar/IPolarMeasureValue.ts +0 -21
- package/src/polar/PolarFilter.ts +0 -46
- package/src/polar/PolarValue.ts +0 -16
- package/src/polar/RainPolarMeasureValue.ts +0 -57
- package/src/quality/history/CartesianGaugeHistory.ts +0 -23
- package/src/quality/history/CartesianRainHistory.ts +0 -15
- package/src/quality/history/PositionHistory.ts +0 -31
- package/src/quality/position/Position.ts +0 -59
- package/src/quality/position/PositionValue.ts +0 -15
- package/src/radar/RadarMeasure.ts +0 -41
- package/src/radar/RadarNodeMap.ts +0 -61
- package/src/rain/MergeStrategy.ts +0 -15
- package/src/rain/RainComputation.ts +0 -96
- package/src/rain/RainMeasure.ts +0 -25
- package/tsconfig.json +0 -17
- package/tslint.json +0 -79
- package/typedoc.json +0 -31
- /package/{src/cartesian/index.ts → cartesian/index.d.ts} +0 -0
- /package/{src/gauge/index.ts → gauge/index.d.ts} +0 -0
- /package/{src/index.ts → index.d.ts} +0 -0
- /package/{src/organization/IVersion.ts → organization/IVersion.d.ts} +0 -0
- /package/{src/organization/index.ts → organization/index.d.ts} +0 -0
- /package/{src/polar/index.ts → polar/index.d.ts} +0 -0
- /package/{src/radar/index.ts → radar/index.d.ts} +0 -0
- /package/{src/rain/index.ts → rain/index.d.ts} +0 -0
|
@@ -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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Link, RaainNode } from '../organization';
|
|
2
|
+
import { RainPolarMeasureValue } from '../polar';
|
|
3
|
+
import { CartesianTools, LatLng, RainCartesianMeasureValue } from '../cartesian';
|
|
4
|
+
import { RainComputationAbstract } from './RainComputationAbstract';
|
|
5
|
+
import { RainMeasure } from './RainMeasure';
|
|
6
|
+
import { MergeStrategy } from './MergeStrategy';
|
|
7
|
+
/**
|
|
8
|
+
* api/rains/:rainId/computations/:computationId
|
|
9
|
+
* or as an array on
|
|
10
|
+
* api/rains/:id/computations?format=id&begin=...
|
|
11
|
+
*/
|
|
12
|
+
export declare class RainComputation extends RainComputationAbstract {
|
|
13
|
+
static TYPE: string;
|
|
14
|
+
results: RainPolarMeasureValue[] | RainCartesianMeasureValue[];
|
|
15
|
+
constructor(json: {
|
|
16
|
+
id: string;
|
|
17
|
+
date: Date;
|
|
18
|
+
isReady: boolean;
|
|
19
|
+
results: RainPolarMeasureValue[] | RainCartesianMeasureValue[];
|
|
20
|
+
links?: Link[] | RaainNode[];
|
|
21
|
+
version?: string;
|
|
22
|
+
quality?: number;
|
|
23
|
+
progressIngest?: number;
|
|
24
|
+
progressComputing?: number;
|
|
25
|
+
timeSpentInMs?: number;
|
|
26
|
+
isDoneDate?: Date;
|
|
27
|
+
launchedBy?: string;
|
|
28
|
+
rain?: Link | RaainNode;
|
|
29
|
+
radars?: Link[] | RaainNode[];
|
|
30
|
+
});
|
|
31
|
+
toJSON(options?: {
|
|
32
|
+
stringify: boolean;
|
|
33
|
+
}): any;
|
|
34
|
+
mergeCartesianResults(options: {
|
|
35
|
+
mergeStrategy: MergeStrategy;
|
|
36
|
+
mergeLimitPoints: [LatLng, LatLng];
|
|
37
|
+
cartesianTools: CartesianTools;
|
|
38
|
+
removeNullValues?: boolean;
|
|
39
|
+
}): RainMeasure[];
|
|
40
|
+
protected getLinkType(): string;
|
|
41
|
+
private setResults;
|
|
42
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RainComputation = void 0;
|
|
4
|
+
const polar_1 = require("../polar");
|
|
5
|
+
const cartesian_1 = require("../cartesian");
|
|
6
|
+
const RainComputationAbstract_1 = require("./RainComputationAbstract");
|
|
7
|
+
const RainMeasure_1 = require("./RainMeasure");
|
|
8
|
+
/**
|
|
9
|
+
* api/rains/:rainId/computations/:computationId
|
|
10
|
+
* or as an array on
|
|
11
|
+
* api/rains/:id/computations?format=id&begin=...
|
|
12
|
+
*/
|
|
13
|
+
class RainComputation extends RainComputationAbstract_1.RainComputationAbstract {
|
|
14
|
+
constructor(json) {
|
|
15
|
+
super(json);
|
|
16
|
+
this.setResults(json.results);
|
|
17
|
+
}
|
|
18
|
+
toJSON(options = {
|
|
19
|
+
stringify: false
|
|
20
|
+
}) {
|
|
21
|
+
const json = super.toJSON();
|
|
22
|
+
json['results'] = this.results.map(r => r.toJSON(options));
|
|
23
|
+
return json;
|
|
24
|
+
}
|
|
25
|
+
mergeCartesianResults(options) {
|
|
26
|
+
this.buildLatLngMatrix(options);
|
|
27
|
+
return this.mergeRainMeasures([new RainMeasure_1.RainMeasure({
|
|
28
|
+
id: this.id,
|
|
29
|
+
values: this.results,
|
|
30
|
+
date: this.date
|
|
31
|
+
})], options);
|
|
32
|
+
}
|
|
33
|
+
getLinkType() {
|
|
34
|
+
return RainComputation.TYPE;
|
|
35
|
+
}
|
|
36
|
+
setResults(results) {
|
|
37
|
+
if (typeof results === 'string') {
|
|
38
|
+
results = JSON.parse(results);
|
|
39
|
+
}
|
|
40
|
+
if (!results || results.length === 0 || !Array.isArray(results)) {
|
|
41
|
+
this.results = [];
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
this.results = results.map(r => {
|
|
45
|
+
if (typeof r === 'string' && r.indexOf('polarMeasureValue') >= 0) {
|
|
46
|
+
return new polar_1.RainPolarMeasureValue(JSON.parse(r));
|
|
47
|
+
}
|
|
48
|
+
else if (r.polarMeasureValue) {
|
|
49
|
+
return new polar_1.RainPolarMeasureValue(r);
|
|
50
|
+
}
|
|
51
|
+
if (typeof r === 'string' && r.indexOf('cartesian') >= 0) {
|
|
52
|
+
return new cartesian_1.RainCartesianMeasureValue(JSON.parse(r));
|
|
53
|
+
}
|
|
54
|
+
else if (r.cartesianValues) {
|
|
55
|
+
return new cartesian_1.RainCartesianMeasureValue(r);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
return r;
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.RainComputation = RainComputation;
|
|
64
|
+
RainComputation.TYPE = 'rain-computation';
|
|
65
|
+
//# sourceMappingURL=RainComputation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Link, RaainNode } from '../organization';
|
|
2
|
+
import { CartesianTools, CartesianValue, LatLng } from '../cartesian';
|
|
3
|
+
import { RainMeasure } from './RainMeasure';
|
|
4
|
+
import { MergeLatLng, MergeStrategy } from './MergeStrategy';
|
|
5
|
+
/**
|
|
6
|
+
* not used directly
|
|
7
|
+
*/
|
|
8
|
+
export declare class RainComputationAbstract extends RaainNode {
|
|
9
|
+
quality: number;
|
|
10
|
+
progressIngest: number;
|
|
11
|
+
progressComputing: number;
|
|
12
|
+
timeSpentInMs: number;
|
|
13
|
+
date: Date;
|
|
14
|
+
isReady: boolean;
|
|
15
|
+
isDoneDate: Date;
|
|
16
|
+
launchedBy: string;
|
|
17
|
+
name: string;
|
|
18
|
+
protected mergeTools: {
|
|
19
|
+
cartesianTools: CartesianTools;
|
|
20
|
+
latsLngs: MergeLatLng[][];
|
|
21
|
+
limitPoints: LatLng[];
|
|
22
|
+
};
|
|
23
|
+
constructor(json: {
|
|
24
|
+
id: string;
|
|
25
|
+
date: Date;
|
|
26
|
+
isReady: boolean;
|
|
27
|
+
links?: Link[] | RaainNode[];
|
|
28
|
+
version?: string;
|
|
29
|
+
quality?: number;
|
|
30
|
+
progressIngest?: number;
|
|
31
|
+
progressComputing?: number;
|
|
32
|
+
timeSpentInMs?: number;
|
|
33
|
+
isDoneDate?: Date;
|
|
34
|
+
launchedBy?: string;
|
|
35
|
+
rain?: Link | RaainNode;
|
|
36
|
+
radars?: Link[] | RaainNode[];
|
|
37
|
+
});
|
|
38
|
+
private static _getRadarLinks;
|
|
39
|
+
private static _getRadarMeasureLinks;
|
|
40
|
+
private static _getRainLink;
|
|
41
|
+
toJSON(): any;
|
|
42
|
+
addRadarLinks(linksToAdd: Link[] | RaainNode[]): void;
|
|
43
|
+
replaceRainLink(linksToAdd: Link | RaainNode | any): void;
|
|
44
|
+
addRadarMeasureLinks(linksToAdd: Link[] | any[]): void;
|
|
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): {
|
|
54
|
+
index: number[];
|
|
55
|
+
latLng: LatLng;
|
|
56
|
+
};
|
|
57
|
+
protected buildLatLngMatrix(options: {
|
|
58
|
+
cartesianTools: CartesianTools;
|
|
59
|
+
mergeLimitPoints: LatLng[];
|
|
60
|
+
}): {
|
|
61
|
+
cartesianTools: CartesianTools;
|
|
62
|
+
latsLngs: MergeLatLng[][];
|
|
63
|
+
limitPoints: LatLng[];
|
|
64
|
+
};
|
|
65
|
+
protected buildMergeTools(rainMeasures: RainMeasure[]): void;
|
|
66
|
+
protected getLinkType(): string;
|
|
67
|
+
protected mergeRainMeasures(rainMeasures: RainMeasure[], options: {
|
|
68
|
+
mergeStrategy: MergeStrategy;
|
|
69
|
+
mergeLimitPoints: [LatLng, LatLng];
|
|
70
|
+
removeNullValues?: boolean;
|
|
71
|
+
}): RainMeasure[];
|
|
72
|
+
protected buildMergeCartesianValues(mergeStrategy: MergeStrategy, removeNullValues?: boolean): CartesianValue[];
|
|
73
|
+
}
|
|
@@ -1,50 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RainComputationAbstract = void 0;
|
|
4
|
+
const organization_1 = require("../organization");
|
|
5
|
+
const radar_1 = require("../radar");
|
|
6
|
+
const RainNode_1 = require("./RainNode");
|
|
7
|
+
const cartesian_1 = require("../cartesian");
|
|
8
|
+
const RainMeasure_1 = require("./RainMeasure");
|
|
9
|
+
const MergeStrategy_1 = require("./MergeStrategy");
|
|
8
10
|
/**
|
|
9
11
|
* not used directly
|
|
10
12
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
public quality: number;
|
|
14
|
-
public progressIngest: number;
|
|
15
|
-
public progressComputing: number;
|
|
16
|
-
public timeSpentInMs: number;
|
|
17
|
-
public date: Date;
|
|
18
|
-
public isReady: boolean;
|
|
19
|
-
public isDoneDate: Date;
|
|
20
|
-
public launchedBy: string;
|
|
21
|
-
public name: string;
|
|
22
|
-
|
|
23
|
-
protected mergeTools: {
|
|
24
|
-
cartesianTools: CartesianTools;
|
|
25
|
-
latsLngs: MergeLatLng[][];
|
|
26
|
-
limitPoints: LatLng[];
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
constructor(json: {
|
|
30
|
-
id: string,
|
|
31
|
-
date: Date,
|
|
32
|
-
isReady: boolean,
|
|
33
|
-
|
|
34
|
-
links?: Link[] | RaainNode[],
|
|
35
|
-
version?: string,
|
|
36
|
-
quality?: number,
|
|
37
|
-
progressIngest?: number,
|
|
38
|
-
progressComputing?: number,
|
|
39
|
-
timeSpentInMs?: number,
|
|
40
|
-
isDoneDate?: Date,
|
|
41
|
-
launchedBy?: string,
|
|
42
|
-
rain?: Link | RaainNode,
|
|
43
|
-
radars?: Link[] | RaainNode[],
|
|
44
|
-
|
|
45
|
-
}) {
|
|
13
|
+
class RainComputationAbstract extends organization_1.RaainNode {
|
|
14
|
+
constructor(json) {
|
|
46
15
|
super(json);
|
|
47
|
-
|
|
48
16
|
this.date = json.date ? new Date(json.date) : null;
|
|
49
17
|
this.quality = json.quality >= 0 ? json.quality : -1;
|
|
50
18
|
this.progressIngest = json.progressIngest >= 0 ? json.progressIngest : -1;
|
|
@@ -53,61 +21,58 @@ export class RainComputationAbstract extends RaainNode {
|
|
|
53
21
|
this.isReady = !!json.isReady;
|
|
54
22
|
this.isDoneDate = json.isDoneDate ? new Date(json.isDoneDate) : undefined;
|
|
55
23
|
this.launchedBy = json.launchedBy;
|
|
56
|
-
|
|
57
24
|
this.replaceRainLink(json.links);
|
|
58
25
|
this.replaceRainLink(json.rain);
|
|
59
26
|
this.addRadarLinks(json.links);
|
|
60
27
|
this.addRadarLinks(json.radars);
|
|
61
28
|
}
|
|
62
|
-
|
|
63
|
-
private static _getRadarLinks(linksToPurify: any[]): any[] {
|
|
29
|
+
static _getRadarLinks(linksToPurify) {
|
|
64
30
|
if (!linksToPurify || linksToPurify.length === 0) {
|
|
65
31
|
return [];
|
|
66
32
|
}
|
|
67
|
-
|
|
68
33
|
return linksToPurify.map(l => {
|
|
69
|
-
if (l instanceof Link) {
|
|
34
|
+
if (l instanceof organization_1.Link) {
|
|
70
35
|
return l;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
36
|
+
}
|
|
37
|
+
else if (l && l['_id']) {
|
|
38
|
+
return new radar_1.RadarNode({ id: l['_id'].toString(), latitude: 0, longitude: 0, name: l.name, team: l.team });
|
|
39
|
+
}
|
|
40
|
+
else if (l && l.id) {
|
|
41
|
+
return new radar_1.RadarNode({
|
|
42
|
+
id: l.id.toString(), // 'hex'
|
|
76
43
|
latitude: 0, longitude: 0, name: l.name, team: l.team
|
|
77
44
|
});
|
|
78
45
|
}
|
|
79
46
|
});
|
|
80
47
|
}
|
|
81
|
-
|
|
82
|
-
private static _getRadarMeasureLinks(linksToPurify: any[]): any[] {
|
|
48
|
+
static _getRadarMeasureLinks(linksToPurify) {
|
|
83
49
|
if (!linksToPurify || linksToPurify.length === 0) {
|
|
84
50
|
return [];
|
|
85
51
|
}
|
|
86
|
-
|
|
87
52
|
return linksToPurify.map(l => {
|
|
88
|
-
if (l instanceof Link) {
|
|
53
|
+
if (l instanceof organization_1.Link) {
|
|
89
54
|
return l;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
55
|
+
}
|
|
56
|
+
else if (l && l['_id']) {
|
|
57
|
+
return new radar_1.RadarMeasure({ id: l['_id'].toString(), values: [] });
|
|
58
|
+
}
|
|
59
|
+
else if (l && l.id) {
|
|
60
|
+
return new radar_1.RadarMeasure({ id: l.id.toString(), values: [] }); // 'hex'
|
|
94
61
|
}
|
|
95
62
|
});
|
|
96
63
|
}
|
|
97
|
-
|
|
98
|
-
private static _getRainLink(linkToPurify: RaainNode): RainNode {
|
|
64
|
+
static _getRainLink(linkToPurify) {
|
|
99
65
|
if (!linkToPurify || !linkToPurify.id) {
|
|
100
66
|
return null;
|
|
101
67
|
}
|
|
102
|
-
|
|
103
|
-
return new RainNode({
|
|
68
|
+
return new RainNode_1.RainNode({
|
|
104
69
|
id: linkToPurify.id.toString(),
|
|
105
70
|
name: linkToPurify.id.toString(),
|
|
106
71
|
team: null
|
|
107
72
|
});
|
|
108
73
|
}
|
|
109
|
-
|
|
110
|
-
|
|
74
|
+
toJSON() {
|
|
75
|
+
var _a;
|
|
111
76
|
const json = super.toJSON();
|
|
112
77
|
json['date'] = this.date.toISOString();
|
|
113
78
|
json['quality'] = this.quality;
|
|
@@ -115,91 +80,72 @@ export class RainComputationAbstract extends RaainNode {
|
|
|
115
80
|
json['progressComputing'] = this.progressComputing;
|
|
116
81
|
json['timeSpentInMs'] = this.timeSpentInMs;
|
|
117
82
|
json['isReady'] = this.isReady;
|
|
118
|
-
json['isDoneDate'] = this.isDoneDate
|
|
83
|
+
json['isDoneDate'] = (_a = this.isDoneDate) === null || _a === void 0 ? void 0 : _a.toISOString();
|
|
119
84
|
json['launchedBy'] = this.launchedBy;
|
|
120
85
|
json['name'] = this.name;
|
|
121
86
|
return json;
|
|
122
87
|
}
|
|
123
|
-
|
|
124
|
-
public addRadarLinks(linksToAdd: Link[] | RaainNode[]): void {
|
|
88
|
+
addRadarLinks(linksToAdd) {
|
|
125
89
|
this.addLinks(RainComputationAbstract._getRadarLinks(linksToAdd));
|
|
126
90
|
}
|
|
127
|
-
|
|
128
|
-
public replaceRainLink(linksToAdd: Link | RaainNode | any): void {
|
|
91
|
+
replaceRainLink(linksToAdd) {
|
|
129
92
|
this.addLinks([RainComputationAbstract._getRainLink(linksToAdd)]);
|
|
130
93
|
}
|
|
131
|
-
|
|
132
|
-
public addRadarMeasureLinks(linksToAdd: Link[] | any[]): void {
|
|
94
|
+
addRadarMeasureLinks(linksToAdd) {
|
|
133
95
|
this.addLinks(RainComputationAbstract._getRadarMeasureLinks(linksToAdd));
|
|
134
96
|
}
|
|
135
|
-
|
|
136
|
-
public getBuiltMergeTools(rainMeasures: RainMeasure[], options: {
|
|
137
|
-
cartesianTools: CartesianTools,
|
|
138
|
-
mergeLimitPoints: LatLng[]
|
|
139
|
-
}) {
|
|
97
|
+
getBuiltMergeTools(rainMeasures, options) {
|
|
140
98
|
this.buildLatLngMatrix(options);
|
|
141
99
|
this.buildMergeTools(rainMeasures);
|
|
142
100
|
return this.mergeTools;
|
|
143
101
|
}
|
|
144
|
-
|
|
145
|
-
public getMergeLatLngIndex(cartesianValue: CartesianValue) {
|
|
146
|
-
|
|
102
|
+
getMergeLatLngIndex(cartesianValue) {
|
|
147
103
|
const latLng = this.mergeTools.cartesianTools.getLatLngFromEarthMap(cartesianValue);
|
|
148
104
|
const latLngScale = this.mergeTools.cartesianTools.getScaleLatLngFromEarth(latLng);
|
|
149
|
-
|
|
150
105
|
const latIndex = Math.round((latLng.lat - this.mergeTools.limitPoints[0].lat) / latLngScale.lat);
|
|
151
106
|
const lngIndex = Math.round((latLng.lng - this.mergeTools.limitPoints[0].lng) / latLngScale.lng);
|
|
152
|
-
|
|
153
|
-
return {index: [latIndex, lngIndex], latLng};
|
|
107
|
+
return { index: [latIndex, lngIndex], latLng };
|
|
154
108
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
cartesianTools:
|
|
158
|
-
mergeLimitPoints: LatLng[]
|
|
159
|
-
}) {
|
|
160
|
-
const latsLngs: MergeLatLng[][] = [];
|
|
161
|
-
this.mergeTools = {latsLngs, cartesianTools: options.cartesianTools, limitPoints: []};
|
|
109
|
+
buildLatLngMatrix(options) {
|
|
110
|
+
const latsLngs = [];
|
|
111
|
+
this.mergeTools = { latsLngs, cartesianTools: options.cartesianTools, limitPoints: [] };
|
|
162
112
|
if (!options.mergeLimitPoints) {
|
|
163
113
|
return this.mergeTools;
|
|
164
114
|
}
|
|
165
|
-
|
|
166
115
|
const downPoint = options.cartesianTools.getLatLngFromEarthMap(options.mergeLimitPoints[0]);
|
|
167
116
|
const topPoint = options.cartesianTools.getLatLngFromEarthMap(options.mergeLimitPoints[1]);
|
|
168
117
|
const scaleLat = options.cartesianTools.getScaleLatLng(downPoint);
|
|
169
|
-
|
|
170
118
|
for (let lat = downPoint.lat; lat <= topPoint.lat; lat += scaleLat.lat) {
|
|
171
|
-
lat = CartesianTools.LimitWithPrecision(lat);
|
|
172
|
-
const latLng = new LatLng({lat, lng: downPoint.lng});
|
|
119
|
+
lat = cartesian_1.CartesianTools.LimitWithPrecision(lat);
|
|
120
|
+
const latLng = new cartesian_1.LatLng({ lat, lng: downPoint.lng });
|
|
173
121
|
const scaleLng = options.cartesianTools.getScaleLatLng(latLng);
|
|
174
122
|
const lngCount = Math.round((topPoint.lng - downPoint.lng) / scaleLng.lng) + 1;
|
|
175
123
|
const lngs = [];
|
|
176
124
|
for (let i = 0; i < lngCount; i++) {
|
|
177
|
-
const initValue
|
|
125
|
+
const initValue = { sum: 0, max: 0, count: 0, latLng: undefined };
|
|
178
126
|
lngs.push(initValue);
|
|
179
127
|
}
|
|
180
128
|
latsLngs.push(lngs);
|
|
181
129
|
}
|
|
182
|
-
|
|
183
|
-
this.mergeTools = {latsLngs, cartesianTools: options.cartesianTools, limitPoints: [downPoint, topPoint]};
|
|
130
|
+
this.mergeTools = { latsLngs, cartesianTools: options.cartesianTools, limitPoints: [downPoint, topPoint] };
|
|
184
131
|
return this.mergeTools;
|
|
185
132
|
}
|
|
186
|
-
|
|
187
|
-
protected buildMergeTools(rainMeasures: RainMeasure[]) {
|
|
133
|
+
buildMergeTools(rainMeasures) {
|
|
188
134
|
for (const rainMeasure of rainMeasures) {
|
|
189
135
|
for (const value of rainMeasure.values) {
|
|
190
136
|
if (typeof value['cartesianValues'] !== 'undefined') {
|
|
191
|
-
const cartesianMeasureValue = new CartesianMeasureValue(value
|
|
137
|
+
const cartesianMeasureValue = new cartesian_1.CartesianMeasureValue(value);
|
|
192
138
|
const cartesianValues = cartesianMeasureValue.getCartesianValues();
|
|
193
139
|
for (const cartesianValue of cartesianValues) {
|
|
194
|
-
const {index, latLng} = this.getMergeLatLngIndex(cartesianValue);
|
|
140
|
+
const { index, latLng } = this.getMergeLatLngIndex(cartesianValue);
|
|
195
141
|
if (index[0] >= 0 && index[1] >= 0 && index[0] < this.mergeTools.latsLngs.length &&
|
|
196
142
|
index[1] < this.mergeTools.latsLngs[index[0]].length) {
|
|
197
|
-
this.mergeTools.latsLngs[index[0]][index[1]].latLng = CartesianTools.CreateLatLng(latLng);
|
|
143
|
+
this.mergeTools.latsLngs[index[0]][index[1]].latLng = cartesian_1.CartesianTools.CreateLatLng(latLng);
|
|
198
144
|
this.mergeTools.latsLngs[index[0]][index[1]].sum += cartesianValue.value;
|
|
199
|
-
this.mergeTools.latsLngs[index[0]][index[1]].max = Math.max(
|
|
200
|
-
cartesianValue.value, this.mergeTools.latsLngs[index[0]][index[1]].max);
|
|
145
|
+
this.mergeTools.latsLngs[index[0]][index[1]].max = Math.max(cartesianValue.value, this.mergeTools.latsLngs[index[0]][index[1]].max);
|
|
201
146
|
this.mergeTools.latsLngs[index[0]][index[1]].count++;
|
|
202
|
-
}
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
203
149
|
// throw new Error(`Wrong mergeRainMeasure ${latLngIndex[0]} ${latLngIndex[1]}`);
|
|
204
150
|
}
|
|
205
151
|
}
|
|
@@ -207,56 +153,44 @@ export class RainComputationAbstract extends RaainNode {
|
|
|
207
153
|
}
|
|
208
154
|
}
|
|
209
155
|
}
|
|
210
|
-
|
|
211
|
-
protected getLinkType(): string {
|
|
156
|
+
getLinkType() {
|
|
212
157
|
throw Error('abstract');
|
|
213
158
|
}
|
|
214
|
-
|
|
215
|
-
protected mergeRainMeasures(rainMeasures: RainMeasure[],
|
|
216
|
-
options: {
|
|
217
|
-
mergeStrategy: MergeStrategy,
|
|
218
|
-
mergeLimitPoints: [LatLng, LatLng],
|
|
219
|
-
removeNullValues?: boolean,
|
|
220
|
-
}): RainMeasure[] {
|
|
221
|
-
|
|
159
|
+
mergeRainMeasures(rainMeasures, options) {
|
|
222
160
|
if (rainMeasures.length === 0) {
|
|
223
161
|
return [];
|
|
224
162
|
}
|
|
225
|
-
|
|
226
163
|
this.buildMergeTools(rainMeasures);
|
|
227
|
-
|
|
228
164
|
const firstCartesianRainMeasure = rainMeasures[0];
|
|
229
165
|
const cartesianValuesMerged = this.buildMergeCartesianValues(options.mergeStrategy, options.removeNullValues);
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
})];
|
|
237
|
-
|
|
166
|
+
const rm = new RainMeasure_1.RainMeasure(firstCartesianRainMeasure.toJSON());
|
|
167
|
+
rm.values = [new cartesian_1.RainCartesianMeasureValue({
|
|
168
|
+
cartesianValues: cartesianValuesMerged,
|
|
169
|
+
version: firstCartesianRainMeasure.getVersion(),
|
|
170
|
+
limitPoints: options.mergeLimitPoints,
|
|
171
|
+
})];
|
|
238
172
|
return [rm];
|
|
239
173
|
}
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
const cartesianValuesMerged: CartesianValue[] = [];
|
|
174
|
+
buildMergeCartesianValues(mergeStrategy, removeNullValues = false) {
|
|
175
|
+
const cartesianValuesMerged = [];
|
|
243
176
|
for (const [latIndex, latValues] of this.mergeTools.latsLngs.entries()) {
|
|
244
177
|
for (const [lngIndex, mergeValue] of latValues.entries()) {
|
|
245
178
|
let value = mergeValue.sum;
|
|
246
|
-
if (mergeStrategy === MergeStrategy.AVERAGE) {
|
|
179
|
+
if (mergeStrategy === MergeStrategy_1.MergeStrategy.AVERAGE) {
|
|
247
180
|
value = mergeValue.count ? value / mergeValue.count : -1;
|
|
248
|
-
}
|
|
181
|
+
}
|
|
182
|
+
else if (mergeStrategy === MergeStrategy_1.MergeStrategy.MAX) {
|
|
249
183
|
value = mergeValue.max;
|
|
250
184
|
}
|
|
251
|
-
|
|
252
185
|
if (mergeValue.count && !(removeNullValues && !value)) {
|
|
253
186
|
const lat = mergeValue.latLng.lat;
|
|
254
187
|
const lng = mergeValue.latLng.lng;
|
|
255
|
-
cartesianValuesMerged.push(new CartesianValue({value, lat, lng}));
|
|
188
|
+
cartesianValuesMerged.push(new cartesian_1.CartesianValue({ value, lat, lng }));
|
|
256
189
|
}
|
|
257
190
|
}
|
|
258
191
|
}
|
|
259
192
|
return cartesianValuesMerged;
|
|
260
193
|
}
|
|
261
|
-
|
|
262
194
|
}
|
|
195
|
+
exports.RainComputationAbstract = RainComputationAbstract;
|
|
196
|
+
//# sourceMappingURL=RainComputationAbstract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RainComputationAbstract.js","sourceRoot":"","sources":["../../src/rain/RainComputationAbstract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { RainComputationAbstract } from './RainComputationAbstract';
|
|
2
|
+
import { Link, RaainNode } from '../organization';
|
|
3
|
+
import { RainMeasure } from './RainMeasure';
|
|
4
|
+
import { CartesianTools, LatLng } from '../cartesian';
|
|
5
|
+
import { MergeStrategy } from './MergeStrategy';
|
|
6
|
+
/**
|
|
7
|
+
* Represents a map-based rain computation result.
|
|
8
|
+
* This class extends RainComputationAbstract to provide map-specific functionality for rain data processing.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const computation = new RainComputationMap({
|
|
13
|
+
* id: 'comp1',
|
|
14
|
+
* date: new Date(),
|
|
15
|
+
* isReady: true,
|
|
16
|
+
* map: [] // Your rain measurement data here
|
|
17
|
+
* });
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @remarks
|
|
21
|
+
* This class is used in the following API endpoints:
|
|
22
|
+
* - api/rains/:id/computations/:computationId?format=map
|
|
23
|
+
* - api/rains/:id/computations?format=map&begin=...
|
|
24
|
+
*/
|
|
25
|
+
export declare class RainComputationMap extends RainComputationAbstract {
|
|
26
|
+
/**
|
|
27
|
+
* The map data stored as a stringified JSON array of RainMeasure objects.
|
|
28
|
+
* This format allows for efficient storage and transmission of large datasets.
|
|
29
|
+
*/
|
|
30
|
+
protected map: string;
|
|
31
|
+
/**
|
|
32
|
+
* Creates a new RainComputationMap instance.
|
|
33
|
+
*
|
|
34
|
+
* @param json - The configuration object containing all necessary parameters
|
|
35
|
+
* @param json.id - Unique identifier for the computation
|
|
36
|
+
* @param json.date - Timestamp of the computation
|
|
37
|
+
* @param json.isReady - Whether the computation is ready
|
|
38
|
+
* @param json.map - Array of rain measurements or stringified JSON
|
|
39
|
+
* @param json.links - Optional array of related nodes or links
|
|
40
|
+
* @param json.version - Optional version string
|
|
41
|
+
* @param json.quality - Optional quality metric (0-1)
|
|
42
|
+
* @param json.progressIngest - Optional ingestion progress (0-100)
|
|
43
|
+
* @param json.progressComputing - Optional computing progress (0-100)
|
|
44
|
+
* @param json.timeSpentInMs - Optional computation time in milliseconds
|
|
45
|
+
* @param json.isDoneDate - Optional completion timestamp
|
|
46
|
+
* @param json.launchedBy - Optional user identifier
|
|
47
|
+
* @param json.rain - Optional related rain node
|
|
48
|
+
* @param json.radars - Optional array of related radar nodes
|
|
49
|
+
*/
|
|
50
|
+
constructor(json: {
|
|
51
|
+
id: string;
|
|
52
|
+
date: Date;
|
|
53
|
+
isReady: boolean;
|
|
54
|
+
map: RainMeasure[] | string;
|
|
55
|
+
links?: Link[] | RaainNode[];
|
|
56
|
+
version?: string;
|
|
57
|
+
quality?: number;
|
|
58
|
+
progressIngest?: number;
|
|
59
|
+
progressComputing?: number;
|
|
60
|
+
timeSpentInMs?: number;
|
|
61
|
+
isDoneDate?: Date;
|
|
62
|
+
launchedBy?: string;
|
|
63
|
+
rain?: Link | RaainNode;
|
|
64
|
+
radars?: Link[] | RaainNode[];
|
|
65
|
+
});
|
|
66
|
+
/**
|
|
67
|
+
* Converts the computation to a JSON object.
|
|
68
|
+
*
|
|
69
|
+
* @returns A JSON object containing all relevant data
|
|
70
|
+
* @remarks
|
|
71
|
+
* This method overrides the parent class's toJSON method to handle the map property
|
|
72
|
+
* and remove the results property which is not used in this implementation.
|
|
73
|
+
*/
|
|
74
|
+
toJSON(): any;
|
|
75
|
+
/**
|
|
76
|
+
* Sets the map data with optional merging capabilities.
|
|
77
|
+
*
|
|
78
|
+
* @param mapData - The rain measurement data to set
|
|
79
|
+
* @param options - Configuration options for data processing
|
|
80
|
+
* @param options.mergeStrategy - Strategy to use when merging data
|
|
81
|
+
* @param options.cartesianTools - Optional tools for coordinate transformations
|
|
82
|
+
* @param options.mergeLimitPoints - Optional boundary points for merging
|
|
83
|
+
* @param options.removeNullValues - Whether to remove null values during merge
|
|
84
|
+
*
|
|
85
|
+
* @remarks
|
|
86
|
+
* This method handles both string and array inputs, and can perform merging
|
|
87
|
+
* operations based on the provided options. The data is always stored internally
|
|
88
|
+
* as a stringified JSON array.
|
|
89
|
+
*/
|
|
90
|
+
setMapData(mapData: RainMeasure[] | string, options: {
|
|
91
|
+
mergeStrategy: MergeStrategy;
|
|
92
|
+
cartesianTools?: CartesianTools;
|
|
93
|
+
mergeLimitPoints?: [LatLng, LatLng];
|
|
94
|
+
removeNullValues?: boolean;
|
|
95
|
+
}): void;
|
|
96
|
+
getMapData(): RainMeasure[];
|
|
97
|
+
}
|