raain-model 2.6.8 → 2.6.10

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 (210) hide show
  1. package/.cursorignore +10 -0
  2. package/.github/workflows/ci.yml +29 -0
  3. package/CHANGELOG.md +166 -0
  4. package/LICENSE +21 -0
  5. package/README.md +5 -3
  6. package/RELEASE_PROCESS.md +111 -0
  7. package/package.json +1 -1
  8. package/specs/REQUIREMENTS.md +42 -0
  9. package/specs/TECHNICAL.md +57 -0
  10. package/specs/cartesian/Cartesian.spec.ts +82 -0
  11. package/specs/cartesian/CartesianTools.spec.ts +121 -0
  12. package/specs/gauge/Gauge.spec.ts +39 -0
  13. package/specs/organization/Organization.spec.ts +38 -0
  14. package/specs/polar/Polar.spec.ts +267 -0
  15. package/specs/quality/Position.spec.ts +18 -0
  16. package/specs/quality/QualityPointEdgeCases.spec.ts +215 -0
  17. package/specs/quality/QualityTools.spec.ts +67 -0
  18. package/specs/quality/SpeedMatrix.spec.ts +214 -0
  19. package/specs/radar/Radar.spec.ts +129 -0
  20. package/specs/rain/Rain.spec.ts +334 -0
  21. package/specs/tsconfig.json +12 -0
  22. package/{cartesian/CartesianMeasureValue.js → src/cartesian/CartesianMeasureValue.ts} +73 -41
  23. package/{cartesian/CartesianTools.js → src/cartesian/CartesianTools.ts} +130 -69
  24. package/src/cartesian/CartesianValue.ts +26 -0
  25. package/src/cartesian/EarthMap.ts +5 -0
  26. package/src/cartesian/ICartesianMeasureValue.ts +22 -0
  27. package/src/cartesian/LatLng.ts +43 -0
  28. package/src/cartesian/RadarCartesianMeasureValue.ts +32 -0
  29. package/src/cartesian/RainCartesianMeasureValue.ts +32 -0
  30. package/src/gauge/GaugeMeasure.ts +42 -0
  31. package/{gauge/GaugeNode.js → src/gauge/GaugeNode.ts} +48 -20
  32. package/src/gauge/GaugeNodeMap.ts +55 -0
  33. package/src/organization/EventNode.ts +43 -0
  34. package/{organization/Link.js → src/organization/Link.ts} +15 -15
  35. package/src/organization/Measure.ts +61 -0
  36. package/{organization/PeopleNode.js → src/organization/PeopleNode.ts} +20 -10
  37. package/{organization/RaainNode.js → src/organization/RaainNode.ts} +91 -58
  38. package/{organization/TeamNode.js → src/organization/TeamNode.ts} +36 -13
  39. package/{polar/AbstractPolarMeasureValue.js → src/polar/AbstractPolarMeasureValue.ts} +58 -32
  40. package/src/polar/IPolarMeasureValue.ts +21 -0
  41. package/{polar/MeasureValuePolarContainer.js → src/polar/MeasureValuePolarContainer.ts} +29 -13
  42. package/src/polar/PolarFilter.ts +46 -0
  43. package/{polar/PolarMeasureValue.js → src/polar/PolarMeasureValue.ts} +125 -62
  44. package/{polar/PolarMeasureValueMap.js → src/polar/PolarMeasureValueMap.ts} +165 -88
  45. package/src/polar/PolarValue.ts +16 -0
  46. package/{polar/RadarPolarMeasureValue.js → src/polar/RadarPolarMeasureValue.ts} +34 -21
  47. package/src/polar/RainPolarMeasureValue.ts +57 -0
  48. package/{quality/QualityPoint.js → src/quality/QualityPoint.ts} +62 -34
  49. package/{quality/SpeedMatrix.js → src/quality/SpeedMatrix.ts} +117 -76
  50. package/{quality/SpeedMatrixContainer.js → src/quality/SpeedMatrixContainer.ts} +210 -103
  51. package/src/quality/history/CartesianGaugeHistory.ts +23 -0
  52. package/src/quality/history/CartesianRainHistory.ts +15 -0
  53. package/src/quality/history/PositionHistory.ts +31 -0
  54. package/{quality/index.d.ts → src/quality/index.ts} +3 -0
  55. package/src/quality/position/Position.ts +59 -0
  56. package/src/quality/position/PositionValue.ts +15 -0
  57. package/{quality/tools/QualityTools.js → src/quality/tools/QualityTools.ts} +18 -17
  58. package/src/radar/RadarMeasure.ts +41 -0
  59. package/{radar/RadarNode.js → src/radar/RadarNode.ts} +41 -19
  60. package/src/radar/RadarNodeMap.ts +61 -0
  61. package/src/rain/MergeStrategy.ts +15 -0
  62. package/src/rain/RainComputation.ts +96 -0
  63. package/{rain/RainComputationAbstract.js → src/rain/RainComputationAbstract.ts} +135 -69
  64. package/{rain/RainComputationMap.js → src/rain/RainComputationMap.ts} +55 -22
  65. package/{rain/RainComputationQuality.js → src/rain/RainComputationQuality.ts} +82 -44
  66. package/src/rain/RainMeasure.ts +25 -0
  67. package/{rain/RainNode.js → src/rain/RainNode.ts} +117 -72
  68. package/tsconfig.json +17 -0
  69. package/tslint.json +79 -0
  70. package/typedoc.json +31 -0
  71. package/cartesian/CartesianMeasureValue.d.ts +0 -40
  72. package/cartesian/CartesianMeasureValue.js.map +0 -1
  73. package/cartesian/CartesianTools.d.ts +0 -32
  74. package/cartesian/CartesianTools.js.map +0 -1
  75. package/cartesian/CartesianValue.d.ts +0 -14
  76. package/cartesian/CartesianValue.js +0 -17
  77. package/cartesian/CartesianValue.js.map +0 -1
  78. package/cartesian/EarthMap.d.ts +0 -5
  79. package/cartesian/EarthMap.js +0 -3
  80. package/cartesian/EarthMap.js.map +0 -1
  81. package/cartesian/ICartesianMeasureValue.d.ts +0 -23
  82. package/cartesian/ICartesianMeasureValue.js +0 -3
  83. package/cartesian/ICartesianMeasureValue.js.map +0 -1
  84. package/cartesian/LatLng.d.ts +0 -16
  85. package/cartesian/LatLng.js +0 -34
  86. package/cartesian/LatLng.js.map +0 -1
  87. package/cartesian/RadarCartesianMeasureValue.d.ts +0 -17
  88. package/cartesian/RadarCartesianMeasureValue.js +0 -22
  89. package/cartesian/RadarCartesianMeasureValue.js.map +0 -1
  90. package/cartesian/RainCartesianMeasureValue.d.ts +0 -17
  91. package/cartesian/RainCartesianMeasureValue.js +0 -23
  92. package/cartesian/RainCartesianMeasureValue.js.map +0 -1
  93. package/cartesian/index.js +0 -25
  94. package/cartesian/index.js.map +0 -1
  95. package/gauge/GaugeMeasure.d.ts +0 -20
  96. package/gauge/GaugeMeasure.js +0 -30
  97. package/gauge/GaugeMeasure.js.map +0 -1
  98. package/gauge/GaugeNode.d.ts +0 -85
  99. package/gauge/GaugeNode.js.map +0 -1
  100. package/gauge/GaugeNodeMap.d.ts +0 -24
  101. package/gauge/GaugeNodeMap.js +0 -40
  102. package/gauge/GaugeNodeMap.js.map +0 -1
  103. package/gauge/index.js +0 -20
  104. package/gauge/index.js.map +0 -1
  105. package/index.js +0 -24
  106. package/index.js.map +0 -1
  107. package/organization/EventNode.d.ts +0 -22
  108. package/organization/EventNode.js +0 -30
  109. package/organization/EventNode.js.map +0 -1
  110. package/organization/IVersion.js +0 -3
  111. package/organization/IVersion.js.map +0 -1
  112. package/organization/Link.d.ts +0 -16
  113. package/organization/Link.js.map +0 -1
  114. package/organization/Measure.d.ts +0 -22
  115. package/organization/Measure.js +0 -45
  116. package/organization/Measure.js.map +0 -1
  117. package/organization/PeopleNode.d.ts +0 -18
  118. package/organization/PeopleNode.js.map +0 -1
  119. package/organization/RaainNode.d.ts +0 -96
  120. package/organization/RaainNode.js.map +0 -1
  121. package/organization/TeamNode.d.ts +0 -63
  122. package/organization/TeamNode.js.map +0 -1
  123. package/organization/index.js +0 -24
  124. package/organization/index.js.map +0 -1
  125. package/polar/AbstractPolarMeasureValue.d.ts +0 -29
  126. package/polar/AbstractPolarMeasureValue.js.map +0 -1
  127. package/polar/IPolarMeasureValue.d.ts +0 -19
  128. package/polar/IPolarMeasureValue.js +0 -3
  129. package/polar/IPolarMeasureValue.js.map +0 -1
  130. package/polar/MeasureValuePolarContainer.d.ts +0 -19
  131. package/polar/MeasureValuePolarContainer.js.map +0 -1
  132. package/polar/PolarFilter.d.ts +0 -16
  133. package/polar/PolarFilter.js +0 -45
  134. package/polar/PolarFilter.js.map +0 -1
  135. package/polar/PolarMeasureValue.d.ts +0 -51
  136. package/polar/PolarMeasureValue.js.map +0 -1
  137. package/polar/PolarMeasureValueMap.d.ts +0 -45
  138. package/polar/PolarMeasureValueMap.js.map +0 -1
  139. package/polar/PolarValue.d.ts +0 -10
  140. package/polar/PolarValue.js +0 -12
  141. package/polar/PolarValue.js.map +0 -1
  142. package/polar/RadarPolarMeasureValue.d.ts +0 -27
  143. package/polar/RadarPolarMeasureValue.js.map +0 -1
  144. package/polar/RainPolarMeasureValue.d.ts +0 -20
  145. package/polar/RainPolarMeasureValue.js +0 -42
  146. package/polar/RainPolarMeasureValue.js.map +0 -1
  147. package/polar/index.js +0 -25
  148. package/polar/index.js.map +0 -1
  149. package/quality/QualityPoint.d.ts +0 -37
  150. package/quality/QualityPoint.js.map +0 -1
  151. package/quality/SpeedMatrix.d.ts +0 -83
  152. package/quality/SpeedMatrix.js.map +0 -1
  153. package/quality/SpeedMatrixContainer.d.ts +0 -102
  154. package/quality/SpeedMatrixContainer.js.map +0 -1
  155. package/quality/history/CartesianGaugeHistory.d.ts +0 -15
  156. package/quality/history/CartesianGaugeHistory.js +0 -14
  157. package/quality/history/CartesianGaugeHistory.js.map +0 -1
  158. package/quality/history/CartesianRainHistory.d.ts +0 -9
  159. package/quality/history/CartesianRainHistory.js +0 -11
  160. package/quality/history/CartesianRainHistory.js.map +0 -1
  161. package/quality/history/PositionHistory.d.ts +0 -20
  162. package/quality/history/PositionHistory.js +0 -17
  163. package/quality/history/PositionHistory.js.map +0 -1
  164. package/quality/index.js +0 -26
  165. package/quality/index.js.map +0 -1
  166. package/quality/position/Position.d.ts +0 -22
  167. package/quality/position/Position.js +0 -50
  168. package/quality/position/Position.js.map +0 -1
  169. package/quality/position/PositionValue.d.ts +0 -9
  170. package/quality/position/PositionValue.js +0 -12
  171. package/quality/position/PositionValue.js.map +0 -1
  172. package/quality/tools/QualityTools.d.ts +0 -9
  173. package/quality/tools/QualityTools.js.map +0 -1
  174. package/radar/RadarMeasure.d.ts +0 -19
  175. package/radar/RadarMeasure.js +0 -30
  176. package/radar/RadarMeasure.js.map +0 -1
  177. package/radar/RadarNode.d.ts +0 -30
  178. package/radar/RadarNode.js.map +0 -1
  179. package/radar/RadarNodeMap.d.ts +0 -26
  180. package/radar/RadarNodeMap.js +0 -44
  181. package/radar/RadarNodeMap.js.map +0 -1
  182. package/radar/index.js +0 -20
  183. package/radar/index.js.map +0 -1
  184. package/rain/MergeStrategy.d.ts +0 -13
  185. package/rain/MergeStrategy.js +0 -11
  186. package/rain/MergeStrategy.js.map +0 -1
  187. package/rain/RainComputation.d.ts +0 -42
  188. package/rain/RainComputation.js +0 -65
  189. package/rain/RainComputation.js.map +0 -1
  190. package/rain/RainComputationAbstract.d.ts +0 -73
  191. package/rain/RainComputationAbstract.js.map +0 -1
  192. package/rain/RainComputationMap.d.ts +0 -97
  193. package/rain/RainComputationMap.js.map +0 -1
  194. package/rain/RainComputationQuality.d.ts +0 -40
  195. package/rain/RainComputationQuality.js.map +0 -1
  196. package/rain/RainMeasure.d.ts +0 -17
  197. package/rain/RainMeasure.js +0 -18
  198. package/rain/RainMeasure.js.map +0 -1
  199. package/rain/RainNode.d.ts +0 -46
  200. package/rain/RainNode.js.map +0 -1
  201. package/rain/index.js +0 -23
  202. package/rain/index.js.map +0 -1
  203. /package/{cartesian/index.d.ts → src/cartesian/index.ts} +0 -0
  204. /package/{gauge/index.d.ts → src/gauge/index.ts} +0 -0
  205. /package/{index.d.ts → src/index.ts} +0 -0
  206. /package/{organization/IVersion.d.ts → src/organization/IVersion.ts} +0 -0
  207. /package/{organization/index.d.ts → src/organization/index.ts} +0 -0
  208. /package/{polar/index.d.ts → src/polar/index.ts} +0 -0
  209. /package/{radar/index.d.ts → src/radar/index.ts} +0 -0
  210. /package/{rain/index.d.ts → src/rain/index.ts} +0 -0
@@ -1,106 +1,143 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PolarMeasureValue = void 0;
4
- const MeasureValuePolarContainer_1 = require("./MeasureValuePolarContainer");
5
- const PolarValue_1 = require("./PolarValue");
6
- const AbstractPolarMeasureValue_1 = require("./AbstractPolarMeasureValue");
7
- class PolarMeasureValue {
8
- constructor(json) {
1
+ import {MeasureValuePolarContainer} from './MeasureValuePolarContainer';
2
+ import {IPolarMeasureValue} from './IPolarMeasureValue';
3
+ import {PolarValue} from './PolarValue';
4
+ import {AbstractPolarMeasureValue} from './AbstractPolarMeasureValue';
5
+
6
+ export class PolarMeasureValue implements IPolarMeasureValue {
7
+
8
+ protected measureValuePolarContainers: MeasureValuePolarContainer[];
9
+ protected azimuthsCount: number;
10
+ protected polarEdgesCount: number;
11
+
12
+ constructor(json: {
13
+ measureValuePolarContainers: MeasureValuePolarContainer[] | string,
14
+ azimuthsCount?: number,
15
+ polarEdgesCount?: number,
16
+ } | string) {
17
+
9
18
  if (typeof json === 'string') {
10
- json = JSON.parse(json);
19
+ json = JSON.parse(json) as {
20
+ measureValuePolarContainers: MeasureValuePolarContainer[] | string,
21
+ azimuthsCount: number,
22
+ polarEdgesCount: number,
23
+ };
11
24
  }
25
+
12
26
  if (typeof json.measureValuePolarContainers === 'string') {
27
+
13
28
  this.setPolarsAsString(json.measureValuePolarContainers);
14
- }
15
- else if (json.measureValuePolarContainers instanceof AbstractPolarMeasureValue_1.AbstractPolarMeasureValue
29
+
30
+ } else if (json.measureValuePolarContainers instanceof AbstractPolarMeasureValue
16
31
  || json.measureValuePolarContainers instanceof PolarMeasureValue) {
32
+
17
33
  this.setPolarsAsContainer(json.measureValuePolarContainers.getPolars());
18
- }
19
- else {
34
+
35
+ } else {
20
36
  this.setPolarsAsContainer(json.measureValuePolarContainers);
21
37
  }
22
- if (!((json === null || json === void 0 ? void 0 : json.azimuthsCount) >= 0) || !((json === null || json === void 0 ? void 0 : json.polarEdgesCount) >= 0)) {
38
+
39
+ if (!(json?.azimuthsCount >= 0) || !(json?.polarEdgesCount >= 0)) {
23
40
  // throw new Error('PolarMeasureValue needs valid azimuthsCount & polarEdgesCount');
24
41
  this.countUnknown();
25
- }
26
- else {
42
+ } else {
27
43
  this.azimuthsCount = json.azimuthsCount;
28
44
  this.polarEdgesCount = json.polarEdgesCount;
29
45
  }
30
46
  }
31
- getAzimuthsCount() {
47
+
48
+ getAzimuthsCount(): number {
32
49
  if (this.azimuthsCount < 0) {
33
50
  this.count();
34
51
  }
35
52
  return this.azimuthsCount;
36
53
  }
37
- getPolarEdgesCount() {
54
+
55
+ getPolarEdgesCount(): number {
38
56
  if (this.polarEdgesCount < 0) {
39
57
  this.count();
40
58
  }
41
59
  return this.polarEdgesCount;
42
60
  }
43
- getPolarsStringified() {
61
+
62
+ getPolarsStringified(): string {
44
63
  return JSON.stringify(this.getPolars());
45
64
  }
46
- getPolars() {
65
+
66
+ getPolars(): MeasureValuePolarContainer[] {
47
67
  return this.measureValuePolarContainers;
48
68
  }
49
- setPolarsAsString(s) {
69
+
70
+ setPolarsAsString(s: string): void {
50
71
  try {
51
72
  let polars = JSON.parse(s);
73
+
52
74
  if (polars && polars.measureValuePolarContainers) {
53
75
  polars = polars.measureValuePolarContainers;
54
76
  }
77
+
55
78
  if (typeof polars === 'string') {
56
79
  polars = JSON.parse(polars);
57
80
  }
58
- this.measureValuePolarContainers = polars.map(convertedPolar => new MeasureValuePolarContainer_1.MeasureValuePolarContainer(convertedPolar));
59
- }
60
- catch (e) {
81
+
82
+ this.measureValuePolarContainers = polars.map(convertedPolar => new MeasureValuePolarContainer(convertedPolar));
83
+ } catch (e) {
61
84
  // console.warn('setPolarsAsString pb: ', e, typeof s, s);
62
85
  this.measureValuePolarContainers = [];
63
86
  }
87
+
64
88
  this.countUnknown();
65
89
  }
66
- setPolarsAsContainer(measureValuePolarContainers, options = { resetCount: true }) {
67
- let parsed = measureValuePolarContainers ? measureValuePolarContainers : [];
90
+
91
+ setPolarsAsContainer(measureValuePolarContainers: MeasureValuePolarContainer[],
92
+ options = {resetCount: true}): void {
93
+ let parsed: any = measureValuePolarContainers ? measureValuePolarContainers : [];
68
94
  if (!('length' in parsed)) {
69
95
  parsed = [];
70
96
  }
71
97
  this.measureValuePolarContainers = parsed;
98
+
72
99
  if (options.resetCount) {
73
100
  this.countUnknown();
74
101
  }
75
102
  }
76
- getPolarValue(json) {
103
+
104
+ getPolarValue(json: { azimuthInDegrees: number, distanceInMeters: number }): PolarValue {
105
+
77
106
  if (json.azimuthInDegrees < 0 || json.azimuthInDegrees > 360) {
78
107
  console.warn('### raain-model > getPolarValue : strange azimuth:', json.azimuthInDegrees);
79
108
  return null;
80
109
  }
110
+
81
111
  let edgeValue = 0;
82
112
  let distance = this.getDefaultDistance();
113
+
83
114
  const measureValuePolarContainersFound = this.measureValuePolarContainers
84
115
  .filter(c => c.azimuth === json.azimuthInDegrees);
85
116
  if (measureValuePolarContainersFound.length === 1) {
117
+
86
118
  const measureValuePolarContainer = measureValuePolarContainersFound[0];
87
119
  distance = measureValuePolarContainer.distance;
88
120
  const edgeIndex = (json.distanceInMeters / distance) - 1 - measureValuePolarContainer.edgeOffset;
121
+
89
122
  if (0 <= edgeIndex && edgeIndex < measureValuePolarContainer.polarEdges.length) {
90
123
  edgeValue = measureValuePolarContainer.polarEdges[edgeIndex];
91
124
  }
92
125
  }
93
- return new PolarValue_1.PolarValue({
126
+
127
+ return new PolarValue({
94
128
  value: edgeValue,
95
129
  polarAzimuthInDegrees: json.azimuthInDegrees,
96
130
  polarDistanceInMeters: json.distanceInMeters
97
131
  });
98
132
  }
99
- setPolarValue(json) {
133
+
134
+ setPolarValue(json: { azimuthInDegrees: number, distanceInMeters: number, value: number }): void {
135
+
100
136
  if (json.azimuthInDegrees < 0 || json.azimuthInDegrees > 360) {
101
137
  console.warn('### raain-model > setPolarValue : strange azimuth:', json.azimuthInDegrees);
102
138
  return null;
103
139
  }
140
+
104
141
  let distance = this.getDefaultDistance();
105
142
  const azimuth = json.azimuthInDegrees;
106
143
  const found = this.measureValuePolarContainers.filter(c => c.azimuth === azimuth);
@@ -108,71 +145,93 @@ class PolarMeasureValue {
108
145
  const measureValuePolarContainer = found[0];
109
146
  distance = measureValuePolarContainer.distance;
110
147
  const edgeIndex = (json.distanceInMeters / distance) - 1 - measureValuePolarContainer.edgeOffset;
148
+
111
149
  if (0 <= edgeIndex && edgeIndex < measureValuePolarContainer.polarEdges.length) {
112
150
  measureValuePolarContainer.polarEdges[edgeIndex] = json.value;
113
- }
114
- else {
151
+ } else {
115
152
  console.warn('### raain-model > setPolarValue : extending polarEdges');
116
153
  let diff = edgeIndex - measureValuePolarContainer.polarEdges.length;
117
154
  if (edgeIndex < 0) {
118
155
  diff = -1 - edgeIndex;
119
156
  measureValuePolarContainer.edgeOffset += edgeIndex;
120
157
  }
158
+
121
159
  const arrayWithNullValuesToAdd = new Array(diff).fill(0);
160
+
122
161
  if (edgeIndex < 0) {
123
- measureValuePolarContainer.polarEdges = [json.value].concat(arrayWithNullValuesToAdd.concat(measureValuePolarContainer.polarEdges));
124
- }
125
- else if (edgeIndex > 0) {
126
- measureValuePolarContainer.polarEdges = measureValuePolarContainer.polarEdges.concat(arrayWithNullValuesToAdd.concat([json.value]));
162
+ measureValuePolarContainer.polarEdges = [json.value].concat(
163
+ arrayWithNullValuesToAdd.concat(measureValuePolarContainer.polarEdges));
164
+ } else if (edgeIndex > 0) {
165
+ measureValuePolarContainer.polarEdges = measureValuePolarContainer.polarEdges.concat(
166
+ arrayWithNullValuesToAdd.concat([json.value]));
127
167
  }
128
168
  }
129
- }
130
- else if (found.length === 0) {
169
+ } else if (found.length === 0) {
131
170
  console.warn('### raain-model > setPolarValue : extending measureValuePolarContainers');
132
171
  const polarEdges = [json.value];
133
172
  const edgeOffset = json.distanceInMeters / distance - 1;
134
- this.measureValuePolarContainers.push(new MeasureValuePolarContainer_1.MeasureValuePolarContainer({ azimuth, distance, polarEdges, edgeOffset }));
173
+ this.measureValuePolarContainers.push(new MeasureValuePolarContainer({azimuth, distance, polarEdges, edgeOffset}));
135
174
  }
136
175
  }
137
- iterate(onEachValue) {
176
+
177
+ iterate(onEachValue: (
178
+ polarValue: PolarValue,
179
+ azimuthIndex: number,
180
+ edgeIndex: number,
181
+ valueSetter: (newValue: number) => void
182
+ ) => void) {
183
+
138
184
  for (const measureValuePolarContainer of this.measureValuePolarContainers) {
139
185
  const azimuth = measureValuePolarContainer.azimuth;
140
186
  const distance = measureValuePolarContainer.distance;
141
187
  const polarEdges = measureValuePolarContainer.polarEdges;
188
+
142
189
  const azimuthIndex = azimuth * this.getAzimuthsCount() / 360;
143
190
  for (const [edgeIndex, value] of polarEdges.entries()) {
191
+
144
192
  const edgeAbsoluteIndex = edgeIndex + measureValuePolarContainer.edgeOffset;
145
- const valueSetter = (newValue) => {
193
+
194
+ const valueSetter = (newValue: number) => {
146
195
  polarEdges[edgeIndex] = newValue;
147
196
  };
148
- onEachValue(new PolarValue_1.PolarValue({
149
- value,
150
- polarAzimuthInDegrees: azimuth,
151
- polarDistanceInMeters: distance * (edgeAbsoluteIndex + 1)
152
- }), azimuthIndex, edgeAbsoluteIndex, valueSetter);
197
+
198
+ onEachValue(
199
+ new PolarValue({
200
+ value,
201
+ polarAzimuthInDegrees: azimuth,
202
+ polarDistanceInMeters: distance * (edgeAbsoluteIndex + 1)
203
+ }),
204
+ azimuthIndex,
205
+ edgeAbsoluteIndex,
206
+ valueSetter);
153
207
  }
154
208
  }
155
209
  }
156
- toJSON() {
210
+
211
+ public toJSON() {
157
212
  return {
158
213
  measureValuePolarContainers: this.getPolars(),
159
214
  azimuthsCount: this.getAzimuthsCount(),
160
215
  polarEdgesCount: this.getPolarEdgesCount(),
161
216
  };
162
217
  }
163
- toJSONWithPolarStringified() {
218
+
219
+ public toJSONWithPolarStringified() {
164
220
  return {
165
221
  measureValuePolarContainers: this.getPolarsStringified(),
166
222
  azimuthsCount: this.getAzimuthsCount(),
167
223
  polarEdgesCount: this.getPolarEdgesCount(),
168
224
  };
169
225
  }
170
- getFiltered(options = {
226
+
227
+ public getFiltered(options = {
171
228
  nullValues: true,
172
229
  ordered: false
173
- }) {
230
+ }): PolarMeasureValue {
231
+
174
232
  const azimuthsCount = this.getAzimuthsCount();
175
233
  const polarEdgesCount = this.getPolarEdgesCount();
234
+
176
235
  let measureValuePolarContainers = [];
177
236
  for (const measureValuePolarContainer of this.measureValuePolarContainers) {
178
237
  let filteredMeasureValuePolarContainer = measureValuePolarContainer;
@@ -181,53 +240,57 @@ class PolarMeasureValue {
181
240
  if (options.nullValues && filteredMeasureValuePolarContainer.getNotNullValuesCount()) {
182
241
  measureValuePolarContainers.push(filteredMeasureValuePolarContainer);
183
242
  }
184
- }
185
- else {
243
+ } else {
186
244
  measureValuePolarContainers.push(filteredMeasureValuePolarContainer);
187
245
  }
188
246
  }
247
+
189
248
  if (options.ordered) {
190
249
  measureValuePolarContainers = measureValuePolarContainers.sort((a, b) => a.azimuth - b.azimuth);
191
250
  }
192
- return new PolarMeasureValue({ measureValuePolarContainers, azimuthsCount, polarEdgesCount });
251
+
252
+ return new PolarMeasureValue({measureValuePolarContainers, azimuthsCount, polarEdgesCount});
193
253
  }
194
- getValuesCount() {
254
+
255
+ public getValuesCount(): number {
195
256
  return this.getAzimuthsCount() * this.getPolarEdgesCount();
196
257
  }
197
- getNotNullValuesCount() {
258
+
259
+ public getNotNullValuesCount(): number {
198
260
  let count = 0;
199
261
  for (const [a, measureValuePolarContainer] of this.getPolars().entries()) {
200
262
  count += measureValuePolarContainer.getNotNullValuesCount();
201
263
  }
202
264
  return count;
203
265
  }
204
- getDefaultDistance() {
266
+
267
+ public getDefaultDistance() {
205
268
  let distance = 1000;
206
269
  if (this.measureValuePolarContainers.length > 0) {
207
270
  distance = this.measureValuePolarContainers[0].distance;
208
271
  }
209
272
  return distance;
210
273
  }
211
- getHash(hash) {
274
+
275
+ public getHash(hash?: (arg0: any) => number | string): string {
212
276
  if (!hash) {
213
277
  return '' + this.getPolars();
214
278
  }
215
279
  return '' + hash(this.getPolars());
216
280
  }
217
- count() {
281
+
282
+ protected count() {
218
283
  const measureValuePolarContainers = this.getPolars();
219
284
  this.azimuthsCount = measureValuePolarContainers.length;
220
285
  if (this.azimuthsCount > 0) {
221
286
  this.polarEdgesCount = measureValuePolarContainers[0].polarEdges.length;
222
- }
223
- else {
287
+ } else {
224
288
  this.polarEdgesCount = 0;
225
289
  }
226
290
  }
227
- countUnknown() {
291
+
292
+ protected countUnknown() {
228
293
  this.azimuthsCount = -1;
229
294
  this.polarEdgesCount = -1;
230
295
  }
231
296
  }
232
- exports.PolarMeasureValue = PolarMeasureValue;
233
- //# sourceMappingURL=PolarMeasureValue.js.map