raain-model 2.6.10 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +94 -7
- package/README.md +14 -13
- package/RELEASE_PROCESS.md +91 -4
- package/cartesian/CartesianMeasureValue.d.ts +46 -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 +27 -0
- package/cartesian/RadarCartesianMeasureValue.js +24 -0
- package/cartesian/RadarCartesianMeasureValue.js.map +1 -0
- package/cartesian/RainCartesianMeasureValue.d.ts +25 -0
- package/cartesian/RainCartesianMeasureValue.js +25 -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 +30 -0
- package/gauge/GaugeMeasure.js +30 -0
- package/gauge/GaugeMeasure.js.map +1 -0
- package/gauge/GaugeNode.d.ts +95 -0
- package/{src/gauge/GaugeNode.ts → gauge/GaugeNode.js} +28 -54
- package/gauge/GaugeNode.js.map +1 -0
- package/gauge/GaugeNodeMap.d.ts +35 -0
- package/gauge/GaugeNodeMap.js +42 -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 +30 -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 +30 -0
- package/organization/Measure.js +51 -0
- package/organization/Measure.js.map +1 -0
- package/organization/PeopleNode.d.ts +23 -0
- package/{src/organization/PeopleNode.ts → organization/PeopleNode.js} +10 -20
- package/organization/PeopleNode.js.map +1 -0
- package/organization/RaainNode.d.ts +95 -0
- package/{src/organization/RaainNode.ts → organization/RaainNode.js} +38 -63
- package/organization/RaainNode.js.map +1 -0
- package/organization/TeamNode.d.ts +51 -0
- package/organization/TeamNode.js +52 -0
- package/organization/TeamNode.js.map +1 -0
- package/organization/index.js +24 -0
- package/organization/index.js.map +1 -0
- package/package.json +4 -2
- package/polar/AbstractPolarMeasureValue.d.ts +31 -0
- package/{src/polar/AbstractPolarMeasureValue.ts → polar/AbstractPolarMeasureValue.js} +34 -62
- 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 +24 -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 +33 -0
- package/{src/polar/RadarPolarMeasureValue.ts → polar/RadarPolarMeasureValue.js} +31 -39
- package/polar/RadarPolarMeasureValue.js.map +1 -0
- package/polar/RainPolarMeasureValue.d.ts +24 -0
- package/polar/RainPolarMeasureValue.js +46 -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 +38 -0
- package/radar/RadarMeasure.js +33 -0
- package/radar/RadarMeasure.js.map +1 -0
- package/radar/RadarNode.d.ts +41 -0
- package/radar/RadarNode.js +58 -0
- package/radar/RadarNode.js.map +1 -0
- package/radar/RadarNodeMap.d.ts +51 -0
- package/radar/RadarNodeMap.js +50 -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 +59 -0
- package/rain/RainComputation.js +68 -0
- package/rain/RainComputation.js.map +1 -0
- package/rain/RainComputationAbstract.d.ts +89 -0
- package/rain/RainComputationAbstract.js +207 -0
- package/rain/RainComputationAbstract.js.map +1 -0
- package/rain/RainComputationMap.d.ts +113 -0
- package/{src/rain/RainComputationMap.ts → rain/RainComputationMap.js} +26 -60
- package/rain/RainComputationMap.js.map +1 -0
- package/rain/RainComputationQuality.d.ts +58 -0
- package/{src/rain/RainComputationQuality.ts → rain/RainComputationQuality.js} +52 -89
- 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 +60 -0
- package/rain/RainNode.js +198 -0
- package/rain/RainNode.js.map +1 -0
- package/{src/rain/index.ts → rain/index.d.ts} +1 -0
- package/rain/index.js +24 -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/organization/TeamNode.ts +0 -91
- 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/RadarNode.ts +0 -78
- package/src/radar/RadarNodeMap.ts +0 -61
- package/src/rain/MergeStrategy.ts +0 -15
- package/src/rain/RainComputation.ts +0 -96
- package/src/rain/RainComputationAbstract.ts +0 -262
- package/src/rain/RainMeasure.ts +0 -25
- package/src/rain/RainNode.ts +0 -235
- 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
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PolarMeasureValueMap = void 0;
|
|
4
|
+
const MeasureValuePolarContainer_1 = require("./MeasureValuePolarContainer");
|
|
5
|
+
const PolarValue_1 = require("./PolarValue");
|
|
6
|
+
const PolarMeasureValue_1 = require("./PolarMeasureValue");
|
|
7
|
+
const PolarFilter_1 = require("./PolarFilter");
|
|
7
8
|
/**
|
|
8
9
|
* PolarMeasureValue Map tools to optimize get/set
|
|
9
10
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
protected buildPolarFilter: PolarFilter = new PolarFilter()) {
|
|
11
|
+
class PolarMeasureValueMap {
|
|
12
|
+
constructor(polarMeasureValue, buildPolarFilter = new PolarFilter_1.PolarFilter()) {
|
|
13
|
+
this.polarMeasureValue = polarMeasureValue;
|
|
14
|
+
this.buildPolarFilter = buildPolarFilter;
|
|
15
|
+
this.builtMeasureValuePolarContainers = [];
|
|
16
16
|
this.buildFromPolar();
|
|
17
17
|
}
|
|
18
|
-
|
|
19
|
-
protected static UpdateIndex(arrayLength: number, index: number): number {
|
|
18
|
+
static UpdateIndex(arrayLength, index) {
|
|
20
19
|
let newIndex = index;
|
|
21
20
|
if (arrayLength <= index) {
|
|
22
21
|
newIndex = index - arrayLength;
|
|
23
|
-
}
|
|
22
|
+
}
|
|
23
|
+
else if (index < 0) {
|
|
24
24
|
newIndex = arrayLength + index;
|
|
25
25
|
}
|
|
26
26
|
if (newIndex < 0) {
|
|
@@ -28,319 +28,240 @@ export class PolarMeasureValueMap {
|
|
|
28
28
|
}
|
|
29
29
|
return Math.round(newIndex);
|
|
30
30
|
}
|
|
31
|
-
|
|
32
31
|
applyToPolar() {
|
|
33
|
-
const polarMeasureValue = new PolarMeasureValue({
|
|
32
|
+
const polarMeasureValue = new PolarMeasureValue_1.PolarMeasureValue({
|
|
34
33
|
measureValuePolarContainers: this.builtMeasureValuePolarContainers,
|
|
35
34
|
azimuthsCount: this.polarMeasureValue.getAzimuthsCount(),
|
|
36
35
|
polarEdgesCount: this.polarMeasureValue.getPolarEdgesCount()
|
|
37
36
|
});
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
this.polarMeasureValue.setPolarsAsContainer(filteredPolarMeasureValue.getPolars(), {resetCount: false});
|
|
37
|
+
const filteredPolarMeasureValue = polarMeasureValue.getFiltered({ nullValues: true, ordered: true });
|
|
38
|
+
this.polarMeasureValue.setPolarsAsContainer(filteredPolarMeasureValue.getPolars(), { resetCount: false });
|
|
42
39
|
}
|
|
43
|
-
|
|
44
|
-
duplicate(polarFilter?: PolarFilter): PolarMeasureValueMap {
|
|
40
|
+
duplicate(polarFilter) {
|
|
45
41
|
const newPolarMeasureValueMap = new PolarMeasureValueMap(null);
|
|
46
42
|
const measureValuePolarContainers = [];
|
|
47
43
|
for (const measureValuePolarContainer of this.builtMeasureValuePolarContainers) {
|
|
48
|
-
const duplicateMeasureValuePolarContainer = measureValuePolarContainer.getFiltered({nullValues: false});
|
|
44
|
+
const duplicateMeasureValuePolarContainer = measureValuePolarContainer.getFiltered({ nullValues: false });
|
|
49
45
|
measureValuePolarContainers.push(duplicateMeasureValuePolarContainer);
|
|
50
46
|
}
|
|
51
|
-
|
|
52
47
|
newPolarMeasureValueMap.polarMeasureValue = this.polarMeasureValue;
|
|
53
48
|
newPolarMeasureValueMap.builtMeasureValuePolarContainers = measureValuePolarContainers;
|
|
54
49
|
newPolarMeasureValueMap.buildPolarFilter = this.buildPolarFilter.merging();
|
|
55
50
|
const newBuildPolarFilter = this.buildPolarFilter.merging(polarFilter);
|
|
56
|
-
|
|
57
51
|
if (!newPolarMeasureValueMap.buildPolarFilter.equal(newBuildPolarFilter)) {
|
|
58
52
|
newPolarMeasureValueMap.filter(newBuildPolarFilter);
|
|
59
53
|
}
|
|
60
|
-
|
|
61
54
|
return newPolarMeasureValueMap;
|
|
62
55
|
}
|
|
63
|
-
|
|
64
|
-
getPolarValue(json: { azimuthIndex: number, edgeIndex: number }): PolarValue {
|
|
56
|
+
getPolarValue(json) {
|
|
65
57
|
let edgeValue = 0;
|
|
66
58
|
let distanceInMetersFound = 0;
|
|
67
|
-
const {azimuthIndex, azimuthInDegrees} = this.updatedAzimuth(json.azimuthIndex);
|
|
59
|
+
const { azimuthIndex, azimuthInDegrees } = this.updatedAzimuth(json.azimuthIndex);
|
|
68
60
|
if (azimuthIndex >= 0) {
|
|
69
|
-
|
|
70
61
|
if (azimuthIndex >= this.builtMeasureValuePolarContainers.length) {
|
|
71
62
|
// throw new Error('Impossible to getPolarValue azimuth from ' + JSON.stringify(json));
|
|
72
63
|
return null;
|
|
73
64
|
}
|
|
74
|
-
|
|
75
65
|
const measureValuePolarContainer = this.builtMeasureValuePolarContainers[azimuthIndex];
|
|
76
|
-
const {edgeIndex, distanceInMeters} = this.updatedEdge(json.edgeIndex, measureValuePolarContainer);
|
|
66
|
+
const { edgeIndex, distanceInMeters } = this.updatedEdge(json.edgeIndex, measureValuePolarContainer);
|
|
77
67
|
distanceInMetersFound = distanceInMeters;
|
|
78
|
-
|
|
79
68
|
if (edgeIndex >= 0) {
|
|
80
|
-
|
|
81
69
|
if (edgeIndex >= measureValuePolarContainer.polarEdges.length) {
|
|
82
70
|
// throw new Error('Impossible to getPolarValue edge from ' + JSON.stringify(json));
|
|
83
71
|
return null;
|
|
84
72
|
}
|
|
85
|
-
|
|
86
73
|
edgeValue = measureValuePolarContainer.polarEdges[edgeIndex];
|
|
87
74
|
}
|
|
88
|
-
}
|
|
89
|
-
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
const { distanceInMeters } = this.updatedEdge(json.edgeIndex);
|
|
90
78
|
distanceInMetersFound = distanceInMeters;
|
|
91
79
|
}
|
|
92
|
-
|
|
93
|
-
return new PolarValue({
|
|
80
|
+
return new PolarValue_1.PolarValue({
|
|
94
81
|
value: edgeValue,
|
|
95
82
|
polarAzimuthInDegrees: azimuthInDegrees,
|
|
96
83
|
polarDistanceInMeters: distanceInMetersFound
|
|
97
84
|
});
|
|
98
85
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
const {azimuthIndex, azimuthInDegrees} = this.updatedAzimuth(json.azimuthIndex);
|
|
86
|
+
setPolarValue(json) {
|
|
87
|
+
const { azimuthIndex, azimuthInDegrees } = this.updatedAzimuth(json.azimuthIndex);
|
|
103
88
|
if (azimuthIndex < 0) {
|
|
104
89
|
throw new Error(`Impossible to set ${JSON.stringify(json)} in this optimized polar structure`);
|
|
105
90
|
}
|
|
106
|
-
|
|
107
91
|
const measureValuePolarContainer = this.builtMeasureValuePolarContainers[azimuthIndex];
|
|
108
|
-
const {edgeIndex} = this.updatedEdge(json.edgeIndex, measureValuePolarContainer);
|
|
92
|
+
const { edgeIndex } = this.updatedEdge(json.edgeIndex, measureValuePolarContainer);
|
|
109
93
|
if (edgeIndex < 0) {
|
|
110
94
|
throw new Error(`Impossible to set ${JSON.stringify(json)} in this optimized polar structure`);
|
|
111
95
|
}
|
|
112
|
-
|
|
113
96
|
measureValuePolarContainer.polarEdges[edgeIndex] = json.value;
|
|
114
97
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
edgeIndex: number,
|
|
120
|
-
valueSetter: (newValue: number) => void
|
|
121
|
-
) => void,
|
|
122
|
-
options?: {
|
|
123
|
-
iterateOnEachEdge?: boolean,
|
|
124
|
-
polarFilter?: PolarFilter
|
|
125
|
-
}) {
|
|
126
|
-
|
|
127
|
-
const azimuthMin = typeof options?.polarFilter?.azimuthMin !== 'undefined' ? options?.polarFilter.azimuthMin : 0;
|
|
128
|
-
const azimuthMax = typeof options?.polarFilter?.azimuthMax !== 'undefined' ? options?.polarFilter.azimuthMax
|
|
98
|
+
iterate(onEachValue, options) {
|
|
99
|
+
var _a, _b, _c, _d;
|
|
100
|
+
const azimuthMin = typeof ((_a = options === null || options === void 0 ? void 0 : options.polarFilter) === null || _a === void 0 ? void 0 : _a.azimuthMin) !== 'undefined' ? options === null || options === void 0 ? void 0 : options.polarFilter.azimuthMin : 0;
|
|
101
|
+
const azimuthMax = typeof ((_b = options === null || options === void 0 ? void 0 : options.polarFilter) === null || _b === void 0 ? void 0 : _b.azimuthMax) !== 'undefined' ? options === null || options === void 0 ? void 0 : options.polarFilter.azimuthMax
|
|
129
102
|
: this.polarMeasureValue.getAzimuthsCount();
|
|
130
|
-
const edgeMin = typeof options
|
|
131
|
-
const edgeMax = typeof options
|
|
103
|
+
const edgeMin = typeof ((_c = options === null || options === void 0 ? void 0 : options.polarFilter) === null || _c === void 0 ? void 0 : _c.edgeMin) !== 'undefined' ? options === null || options === void 0 ? void 0 : options.polarFilter.edgeMin : 0;
|
|
104
|
+
const edgeMax = typeof ((_d = options === null || options === void 0 ? void 0 : options.polarFilter) === null || _d === void 0 ? void 0 : _d.edgeMax) !== 'undefined' ? options === null || options === void 0 ? void 0 : options.polarFilter.edgeMax
|
|
132
105
|
: this.polarMeasureValue.getPolarEdgesCount();
|
|
133
|
-
|
|
134
|
-
if (options?.iterateOnEachEdge) {
|
|
106
|
+
if (options === null || options === void 0 ? void 0 : options.iterateOnEachEdge) {
|
|
135
107
|
this.iterateOnEachEdge(azimuthMin, azimuthMax, edgeMin, edgeMax, onEachValue);
|
|
136
|
-
}
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
137
110
|
this.iterateOnEachAzimuth(azimuthMin, azimuthMax, edgeMin, edgeMax, onEachValue);
|
|
138
111
|
}
|
|
139
112
|
}
|
|
140
|
-
|
|
141
113
|
countPolar() {
|
|
142
114
|
return this.builtMeasureValuePolarContainers
|
|
143
115
|
.reduce((p, c) => p + c.getPolarEdgesCount(), 0);
|
|
144
116
|
}
|
|
145
|
-
|
|
146
|
-
countPolarWithEdgeFilter(filter: any) {
|
|
117
|
+
countPolarWithEdgeFilter(filter) {
|
|
147
118
|
return this.builtMeasureValuePolarContainers
|
|
148
119
|
.reduce((p, c) => p + c.polarEdges.filter(filter).length, 0);
|
|
149
120
|
}
|
|
150
|
-
|
|
151
|
-
filter(polarFilter: PolarFilter) {
|
|
152
|
-
|
|
121
|
+
filter(polarFilter) {
|
|
153
122
|
const azimuthsCount = this.polarMeasureValue.getAzimuthsCount();
|
|
154
123
|
const polarEdgesCount = this.polarMeasureValue.getPolarEdgesCount();
|
|
155
124
|
const defaultDistanceBetweenInEdgeInMeters = this.polarMeasureValue.getDefaultDistance();
|
|
156
|
-
|
|
157
125
|
const azimuthMin = typeof polarFilter.azimuthMin !== 'undefined' ? polarFilter.azimuthMin : 0;
|
|
158
126
|
const azimuthMax = typeof polarFilter.azimuthMax !== 'undefined' ?
|
|
159
127
|
Math.min(polarFilter.azimuthMax, azimuthsCount - 1) : azimuthsCount - 1;
|
|
160
128
|
const edgeMin = typeof polarFilter.edgeMin !== 'undefined' ? polarFilter.edgeMin : 0;
|
|
161
129
|
const edgeMax = typeof polarFilter.edgeMax !== 'undefined' ?
|
|
162
130
|
Math.min(polarFilter.edgeMax, polarEdgesCount - 1) : polarEdgesCount - 1;
|
|
163
|
-
|
|
164
131
|
const newMeasureValuePolarContainers = [];
|
|
165
132
|
for (let azimuthIndex = azimuthMin; azimuthIndex <= azimuthMax; azimuthIndex++) {
|
|
166
133
|
const azimuthInDegrees = azimuthIndex * 360 / azimuthsCount;
|
|
167
134
|
const polarEdges = [];
|
|
168
135
|
for (let edgeIndex = edgeMin; edgeIndex <= edgeMax; edgeIndex++) {
|
|
169
|
-
const polarValue = this.getPolarValue({azimuthIndex, edgeIndex});
|
|
136
|
+
const polarValue = this.getPolarValue({ azimuthIndex, edgeIndex });
|
|
170
137
|
polarEdges.push(polarValue.value);
|
|
171
138
|
}
|
|
172
|
-
newMeasureValuePolarContainers.push(new MeasureValuePolarContainer({
|
|
139
|
+
newMeasureValuePolarContainers.push(new MeasureValuePolarContainer_1.MeasureValuePolarContainer({
|
|
173
140
|
azimuth: azimuthInDegrees,
|
|
174
141
|
distance: defaultDistanceBetweenInEdgeInMeters,
|
|
175
142
|
polarEdges,
|
|
176
143
|
edgeOffset: edgeMin
|
|
177
|
-
}))
|
|
144
|
+
}));
|
|
178
145
|
}
|
|
179
|
-
|
|
180
146
|
this.buildPolarFilter = polarFilter;
|
|
181
147
|
this.builtMeasureValuePolarContainers = newMeasureValuePolarContainers;
|
|
182
148
|
}
|
|
183
|
-
|
|
184
|
-
protected buildFromPolar() {
|
|
149
|
+
buildFromPolar() {
|
|
185
150
|
if (!this.polarMeasureValue) {
|
|
186
151
|
return [];
|
|
187
152
|
}
|
|
188
|
-
|
|
189
|
-
const builtMeasureValuePolarContainers: MeasureValuePolarContainer[] = [];
|
|
190
|
-
|
|
153
|
+
const builtMeasureValuePolarContainers = [];
|
|
191
154
|
const azimuthsCount = this.polarMeasureValue.getAzimuthsCount();
|
|
192
155
|
const polarEdgesCount = this.polarMeasureValue.getPolarEdgesCount();
|
|
193
156
|
const defaultDistanceBetweenInEdgeInMeters = this.polarMeasureValue.getDefaultDistance();
|
|
194
|
-
|
|
195
157
|
const azimuthMin = typeof this.buildPolarFilter.azimuthMin !== 'undefined' ? this.buildPolarFilter.azimuthMin : 0;
|
|
196
158
|
const azimuthMax = typeof this.buildPolarFilter.azimuthMax !== 'undefined' ? this.buildPolarFilter.azimuthMax : azimuthsCount - 1;
|
|
197
159
|
const edgeMin = typeof this.buildPolarFilter.edgeMin !== 'undefined' ? this.buildPolarFilter.edgeMin : 0;
|
|
198
160
|
const edgeMax = typeof this.buildPolarFilter.edgeMax !== 'undefined' ? this.buildPolarFilter.edgeMax : polarEdgesCount - 1;
|
|
199
|
-
|
|
200
161
|
for (let azIndex = azimuthMin; azIndex <= azimuthMax; azIndex++) {
|
|
201
162
|
const azimuthInDegrees = azIndex * 360 / azimuthsCount;
|
|
202
163
|
const polarEdges = [];
|
|
203
164
|
for (let edgeIndex = edgeMin; edgeIndex <= edgeMax; edgeIndex++) {
|
|
204
165
|
const distanceInMeters = defaultDistanceBetweenInEdgeInMeters * (edgeIndex + 1);
|
|
205
|
-
const polarValue = this.polarMeasureValue.getPolarValue({azimuthInDegrees, distanceInMeters});
|
|
166
|
+
const polarValue = this.polarMeasureValue.getPolarValue({ azimuthInDegrees, distanceInMeters });
|
|
206
167
|
polarEdges.push(polarValue.value);
|
|
207
168
|
}
|
|
208
|
-
builtMeasureValuePolarContainers.push(new MeasureValuePolarContainer({
|
|
169
|
+
builtMeasureValuePolarContainers.push(new MeasureValuePolarContainer_1.MeasureValuePolarContainer({
|
|
209
170
|
azimuth: azimuthInDegrees,
|
|
210
171
|
distance: defaultDistanceBetweenInEdgeInMeters,
|
|
211
172
|
polarEdges,
|
|
212
173
|
edgeOffset: edgeMin
|
|
213
|
-
}))
|
|
174
|
+
}));
|
|
214
175
|
}
|
|
215
|
-
|
|
216
176
|
this.builtMeasureValuePolarContainers = builtMeasureValuePolarContainers;
|
|
217
177
|
}
|
|
218
|
-
|
|
219
|
-
|
|
178
|
+
updatedAzimuth(azimuthIndexToUpdate) {
|
|
179
|
+
var _a;
|
|
220
180
|
const azimuthsCount = this.polarMeasureValue.getAzimuthsCount();
|
|
221
|
-
const azimuthMin = typeof this.buildPolarFilter
|
|
222
|
-
|
|
181
|
+
const azimuthMin = typeof ((_a = this.buildPolarFilter) === null || _a === void 0 ? void 0 : _a.azimuthMin) !== 'undefined' ? this.buildPolarFilter.azimuthMin : 0;
|
|
223
182
|
const azimuthIndexAbsolute = azimuthIndexToUpdate - azimuthMin;
|
|
224
183
|
const azimuthIndex1 = PolarMeasureValueMap.UpdateIndex(azimuthsCount, azimuthIndexAbsolute);
|
|
225
184
|
const azimuthIndex2 = PolarMeasureValueMap.UpdateIndex(azimuthsCount, azimuthIndexToUpdate);
|
|
226
185
|
const azimuthInDegrees = (azimuthIndex2) * 360 / azimuthsCount;
|
|
227
|
-
|
|
228
186
|
if (azimuthIndex1 < 0) {
|
|
229
187
|
console.warn('### raain-model > Map strange azimuthIndex:', azimuthIndex1);
|
|
230
188
|
}
|
|
231
189
|
if (azimuthInDegrees < 0 || azimuthInDegrees > 360) {
|
|
232
190
|
console.warn('### raain-model > Map strange azimuthInDegrees:', azimuthInDegrees);
|
|
233
191
|
}
|
|
234
|
-
|
|
235
|
-
return {azimuthIndex: azimuthIndex1, azimuthInDegrees};
|
|
192
|
+
return { azimuthIndex: azimuthIndex1, azimuthInDegrees };
|
|
236
193
|
}
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
measureValuePolarContainer?: MeasureValuePolarContainer,
|
|
240
|
-
options?: {
|
|
241
|
-
reverse: boolean
|
|
242
|
-
}) {
|
|
194
|
+
updatedEdge(edgeIndexToUpdate, measureValuePolarContainer, options) {
|
|
195
|
+
var _a;
|
|
243
196
|
let distance = this.polarMeasureValue.getDefaultDistance();
|
|
244
197
|
if (measureValuePolarContainer) {
|
|
245
198
|
distance = measureValuePolarContainer.getDistance();
|
|
246
199
|
}
|
|
247
|
-
const edgeMin = typeof this.buildPolarFilter
|
|
248
|
-
|
|
200
|
+
const edgeMin = typeof ((_a = this.buildPolarFilter) === null || _a === void 0 ? void 0 : _a.edgeMin) !== 'undefined' ? this.buildPolarFilter.edgeMin : 0;
|
|
249
201
|
let edgeIndex = edgeIndexToUpdate - edgeMin;
|
|
250
202
|
let distanceIndex = edgeIndexToUpdate + 1;
|
|
251
|
-
if (options
|
|
203
|
+
if (options === null || options === void 0 ? void 0 : options.reverse) {
|
|
252
204
|
edgeIndex = edgeIndexToUpdate + edgeMin;
|
|
253
205
|
distanceIndex = edgeIndex + 1;
|
|
254
206
|
}
|
|
255
|
-
|
|
256
207
|
const distanceInMeters = distance * distanceIndex;
|
|
257
208
|
if (distanceInMeters < 0) {
|
|
258
209
|
console.warn('### raain-model > Map strange edgeIndex:', edgeIndex, distanceInMeters);
|
|
259
210
|
}
|
|
260
|
-
|
|
261
211
|
edgeIndex = Math.round(edgeIndex);
|
|
262
|
-
|
|
263
|
-
return {edgeIndex, distanceInMeters};
|
|
212
|
+
return { edgeIndex, distanceInMeters };
|
|
264
213
|
}
|
|
265
|
-
|
|
266
|
-
protected iterateOnEachAzimuth(azimuthMin: number, azimuthMax: number,
|
|
267
|
-
edgeMin: number, edgeMax: number,
|
|
268
|
-
onEachValue: (
|
|
269
|
-
polarValue: PolarValue,
|
|
270
|
-
azimuthIndex: number,
|
|
271
|
-
edgeIndex: number,
|
|
272
|
-
valueSetter: (newValue: number) => void
|
|
273
|
-
) => void) {
|
|
274
|
-
|
|
214
|
+
iterateOnEachAzimuth(azimuthMin, azimuthMax, edgeMin, edgeMax, onEachValue) {
|
|
275
215
|
for (const measureValuePolarContainer of this.builtMeasureValuePolarContainers) {
|
|
276
216
|
const azimuthInDegrees = measureValuePolarContainer.azimuth;
|
|
277
217
|
const polarEdges = measureValuePolarContainer.polarEdges;
|
|
278
218
|
const azimuthAbsoluteIndex = Math.round(azimuthInDegrees * this.polarMeasureValue.getAzimuthsCount() / 360);
|
|
279
|
-
if (azimuthAbsoluteIndex < azimuthMin)
|
|
280
|
-
|
|
281
|
-
|
|
219
|
+
if (azimuthAbsoluteIndex < azimuthMin)
|
|
220
|
+
continue;
|
|
221
|
+
if (azimuthMax < azimuthAbsoluteIndex)
|
|
222
|
+
break;
|
|
282
223
|
for (const [edgeIndex, value] of polarEdges.entries()) {
|
|
283
|
-
|
|
284
|
-
const updated = this.updatedEdge(edgeIndex, measureValuePolarContainer, {reverse: true});
|
|
224
|
+
const updated = this.updatedEdge(edgeIndex, measureValuePolarContainer, { reverse: true });
|
|
285
225
|
const edgeAbsoluteIndex = updated.edgeIndex;
|
|
286
226
|
const distanceInMeters = updated.distanceInMeters;
|
|
287
|
-
if (edgeAbsoluteIndex < edgeMin)
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
227
|
+
if (edgeAbsoluteIndex < edgeMin)
|
|
228
|
+
continue;
|
|
229
|
+
if (edgeMax < edgeAbsoluteIndex)
|
|
230
|
+
break;
|
|
231
|
+
const valueSetter = (newValue) => {
|
|
291
232
|
polarEdges[edgeIndex] = newValue;
|
|
292
233
|
};
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
polarDistanceInMeters: distanceInMeters
|
|
299
|
-
}),
|
|
300
|
-
azimuthAbsoluteIndex,
|
|
301
|
-
edgeAbsoluteIndex,
|
|
302
|
-
valueSetter);
|
|
234
|
+
onEachValue(new PolarValue_1.PolarValue({
|
|
235
|
+
value,
|
|
236
|
+
polarAzimuthInDegrees: azimuthInDegrees,
|
|
237
|
+
polarDistanceInMeters: distanceInMeters
|
|
238
|
+
}), azimuthAbsoluteIndex, edgeAbsoluteIndex, valueSetter);
|
|
303
239
|
}
|
|
304
240
|
}
|
|
305
241
|
}
|
|
306
|
-
|
|
307
|
-
protected iterateOnEachEdge(azimuthMin: number, azimuthMax: number,
|
|
308
|
-
edgeMin: number, edgeMax: number,
|
|
309
|
-
onEachValue: (
|
|
310
|
-
polarValue: PolarValue,
|
|
311
|
-
azimuthIndex: number,
|
|
312
|
-
edgeIndex: number,
|
|
313
|
-
valueSetter: (newValue: number) => void
|
|
314
|
-
) => void) {
|
|
315
|
-
|
|
242
|
+
iterateOnEachEdge(azimuthMin, azimuthMax, edgeMin, edgeMax, onEachValue) {
|
|
316
243
|
for (let edge = edgeMin; edge <= edgeMax; edge++) {
|
|
317
244
|
for (const measureValuePolarContainer of this.builtMeasureValuePolarContainers) {
|
|
318
245
|
const azimuthInDegrees = measureValuePolarContainer.azimuth;
|
|
319
246
|
const polarEdges = measureValuePolarContainer.polarEdges;
|
|
320
247
|
const azimuthAbsoluteIndex = Math.round(azimuthInDegrees * this.polarMeasureValue.getAzimuthsCount() / 360);
|
|
321
|
-
if (azimuthAbsoluteIndex < azimuthMin)
|
|
322
|
-
|
|
323
|
-
|
|
248
|
+
if (azimuthAbsoluteIndex < azimuthMin)
|
|
249
|
+
continue;
|
|
250
|
+
if (azimuthMax < azimuthAbsoluteIndex)
|
|
251
|
+
break;
|
|
324
252
|
for (const [edgeIndex, value] of polarEdges.entries()) {
|
|
325
|
-
|
|
326
|
-
const updated = this.updatedEdge(edgeIndex, measureValuePolarContainer, {reverse: true});
|
|
253
|
+
const updated = this.updatedEdge(edgeIndex, measureValuePolarContainer, { reverse: true });
|
|
327
254
|
const edgeAbsoluteIndex = updated.edgeIndex;
|
|
328
255
|
const distanceInMeters = updated.distanceInMeters;
|
|
329
|
-
|
|
330
256
|
if (edge === edgeAbsoluteIndex) {
|
|
331
|
-
const valueSetter = (newValue
|
|
257
|
+
const valueSetter = (newValue) => {
|
|
332
258
|
polarEdges[edgeIndex] = newValue;
|
|
333
259
|
};
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
polarDistanceInMeters: distanceInMeters
|
|
340
|
-
}),
|
|
341
|
-
azimuthAbsoluteIndex,
|
|
342
|
-
edgeAbsoluteIndex,
|
|
343
|
-
valueSetter);
|
|
260
|
+
onEachValue(new PolarValue_1.PolarValue({
|
|
261
|
+
value,
|
|
262
|
+
polarAzimuthInDegrees: azimuthInDegrees,
|
|
263
|
+
polarDistanceInMeters: distanceInMeters
|
|
264
|
+
}), azimuthAbsoluteIndex, edgeAbsoluteIndex, valueSetter);
|
|
344
265
|
}
|
|
345
266
|
if (edge < edgeAbsoluteIndex) {
|
|
346
267
|
break;
|
|
@@ -350,3 +271,5 @@ export class PolarMeasureValueMap {
|
|
|
350
271
|
}
|
|
351
272
|
}
|
|
352
273
|
}
|
|
274
|
+
exports.PolarMeasureValueMap = PolarMeasureValueMap;
|
|
275
|
+
//# sourceMappingURL=PolarMeasureValueMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PolarMeasureValueMap.js","sourceRoot":"","sources":["../../src/polar/PolarMeasureValueMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PolarValue = void 0;
|
|
4
|
+
class PolarValue {
|
|
5
|
+
constructor(json) {
|
|
6
|
+
this.value = json.value;
|
|
7
|
+
this.polarAzimuthInDegrees = json.polarAzimuthInDegrees;
|
|
8
|
+
this.polarDistanceInMeters = json.polarDistanceInMeters;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.PolarValue = PolarValue;
|
|
12
|
+
//# sourceMappingURL=PolarValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PolarValue.js","sourceRoot":"","sources":["../../src/polar/PolarValue.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAU;IAKnB,YAAY,IAIX;QACG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACxD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC;IAC5D,CAAC;CACJ;AAdD,gCAcC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { IPolarMeasureValue } from './IPolarMeasureValue';
|
|
2
|
+
import { AbstractPolarMeasureValue } from './AbstractPolarMeasureValue';
|
|
3
|
+
import { PolarMeasureValue } from './PolarMeasureValue';
|
|
4
|
+
/**
|
|
5
|
+
* Radar with polar value containers
|
|
6
|
+
*/
|
|
7
|
+
export declare class RadarPolarMeasureValue extends AbstractPolarMeasureValue implements IPolarMeasureValue {
|
|
8
|
+
angle: number;
|
|
9
|
+
axis: number;
|
|
10
|
+
constructor(json: {
|
|
11
|
+
polarMeasureValue: RadarPolarMeasureValue | PolarMeasureValue | string;
|
|
12
|
+
angle: number;
|
|
13
|
+
axis: number;
|
|
14
|
+
});
|
|
15
|
+
/**
|
|
16
|
+
* A fake image to give an example of format needed, made of:
|
|
17
|
+
* - 2 axis: horizontal + vertical
|
|
18
|
+
* - 3 sites: 0.4°, 1.4° and 2.4°
|
|
19
|
+
* - 720 azimuth with a step of 0.5°
|
|
20
|
+
* - 250 gate with a step of 1KM
|
|
21
|
+
*/
|
|
22
|
+
static BuildFakeRadarPolarMeasureValues(movementFrom0To90?: number): RadarPolarMeasureValue[];
|
|
23
|
+
toJSON(): {
|
|
24
|
+
angle: number;
|
|
25
|
+
axis: number;
|
|
26
|
+
polarMeasureValue: PolarMeasureValue;
|
|
27
|
+
};
|
|
28
|
+
toJSONWithPolarStringified(): {
|
|
29
|
+
angle: number;
|
|
30
|
+
axis: number;
|
|
31
|
+
polarMeasureValue: string;
|
|
32
|
+
};
|
|
33
|
+
}
|