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.
Files changed (210) hide show
  1. package/README.md +2 -12
  2. package/RELEASE_PROCESS.md +11 -6
  3. package/cartesian/CartesianMeasureValue.d.ts +40 -0
  4. package/{src/cartesian/CartesianMeasureValue.ts → cartesian/CartesianMeasureValue.js} +41 -73
  5. package/cartesian/CartesianMeasureValue.js.map +1 -0
  6. package/cartesian/CartesianTools.d.ts +32 -0
  7. package/{src/cartesian/CartesianTools.ts → cartesian/CartesianTools.js} +69 -130
  8. package/cartesian/CartesianTools.js.map +1 -0
  9. package/cartesian/CartesianValue.d.ts +14 -0
  10. package/cartesian/CartesianValue.js +17 -0
  11. package/cartesian/CartesianValue.js.map +1 -0
  12. package/cartesian/EarthMap.d.ts +5 -0
  13. package/cartesian/EarthMap.js +3 -0
  14. package/cartesian/EarthMap.js.map +1 -0
  15. package/cartesian/ICartesianMeasureValue.d.ts +23 -0
  16. package/cartesian/ICartesianMeasureValue.js +3 -0
  17. package/cartesian/ICartesianMeasureValue.js.map +1 -0
  18. package/cartesian/LatLng.d.ts +16 -0
  19. package/cartesian/LatLng.js +34 -0
  20. package/cartesian/LatLng.js.map +1 -0
  21. package/cartesian/RadarCartesianMeasureValue.d.ts +17 -0
  22. package/cartesian/RadarCartesianMeasureValue.js +22 -0
  23. package/cartesian/RadarCartesianMeasureValue.js.map +1 -0
  24. package/cartesian/RainCartesianMeasureValue.d.ts +17 -0
  25. package/cartesian/RainCartesianMeasureValue.js +23 -0
  26. package/cartesian/RainCartesianMeasureValue.js.map +1 -0
  27. package/cartesian/index.js +25 -0
  28. package/cartesian/index.js.map +1 -0
  29. package/gauge/GaugeMeasure.d.ts +20 -0
  30. package/gauge/GaugeMeasure.js +30 -0
  31. package/gauge/GaugeMeasure.js.map +1 -0
  32. package/gauge/GaugeNode.d.ts +85 -0
  33. package/{src/gauge/GaugeNode.ts → gauge/GaugeNode.js} +20 -48
  34. package/gauge/GaugeNode.js.map +1 -0
  35. package/gauge/GaugeNodeMap.d.ts +24 -0
  36. package/gauge/GaugeNodeMap.js +40 -0
  37. package/gauge/GaugeNodeMap.js.map +1 -0
  38. package/gauge/index.js +20 -0
  39. package/gauge/index.js.map +1 -0
  40. package/index.js +24 -0
  41. package/index.js.map +1 -0
  42. package/organization/EventNode.d.ts +22 -0
  43. package/organization/EventNode.js +30 -0
  44. package/organization/EventNode.js.map +1 -0
  45. package/organization/IVersion.js +3 -0
  46. package/organization/IVersion.js.map +1 -0
  47. package/organization/Link.d.ts +16 -0
  48. package/{src/organization/Link.ts → organization/Link.js} +15 -15
  49. package/organization/Link.js.map +1 -0
  50. package/organization/Measure.d.ts +22 -0
  51. package/organization/Measure.js +45 -0
  52. package/organization/Measure.js.map +1 -0
  53. package/organization/PeopleNode.d.ts +18 -0
  54. package/{src/organization/PeopleNode.ts → organization/PeopleNode.js} +10 -20
  55. package/organization/PeopleNode.js.map +1 -0
  56. package/organization/RaainNode.d.ts +91 -0
  57. package/{src/organization/RaainNode.ts → organization/RaainNode.js} +38 -63
  58. package/organization/RaainNode.js.map +1 -0
  59. package/organization/TeamNode.d.ts +63 -0
  60. package/{src/organization/TeamNode.ts → organization/TeamNode.js} +13 -36
  61. package/organization/TeamNode.js.map +1 -0
  62. package/organization/index.js +24 -0
  63. package/organization/index.js.map +1 -0
  64. package/package.json +1 -1
  65. package/polar/AbstractPolarMeasureValue.d.ts +29 -0
  66. package/{src/polar/AbstractPolarMeasureValue.ts → polar/AbstractPolarMeasureValue.js} +32 -58
  67. package/polar/AbstractPolarMeasureValue.js.map +1 -0
  68. package/polar/IPolarMeasureValue.d.ts +19 -0
  69. package/polar/IPolarMeasureValue.js +3 -0
  70. package/polar/IPolarMeasureValue.js.map +1 -0
  71. package/polar/MeasureValuePolarContainer.d.ts +19 -0
  72. package/{src/polar/MeasureValuePolarContainer.ts → polar/MeasureValuePolarContainer.js} +13 -29
  73. package/polar/MeasureValuePolarContainer.js.map +1 -0
  74. package/polar/PolarFilter.d.ts +16 -0
  75. package/polar/PolarFilter.js +45 -0
  76. package/polar/PolarFilter.js.map +1 -0
  77. package/polar/PolarMeasureValue.d.ts +51 -0
  78. package/{src/polar/PolarMeasureValue.ts → polar/PolarMeasureValue.js} +62 -125
  79. package/polar/PolarMeasureValue.js.map +1 -0
  80. package/polar/PolarMeasureValueMap.d.ts +45 -0
  81. package/{src/polar/PolarMeasureValueMap.ts → polar/PolarMeasureValueMap.js} +88 -165
  82. package/polar/PolarMeasureValueMap.js.map +1 -0
  83. package/polar/PolarValue.d.ts +10 -0
  84. package/polar/PolarValue.js +12 -0
  85. package/polar/PolarValue.js.map +1 -0
  86. package/polar/RadarPolarMeasureValue.d.ts +27 -0
  87. package/{src/polar/RadarPolarMeasureValue.ts → polar/RadarPolarMeasureValue.js} +21 -34
  88. package/polar/RadarPolarMeasureValue.js.map +1 -0
  89. package/polar/RainPolarMeasureValue.d.ts +20 -0
  90. package/polar/RainPolarMeasureValue.js +42 -0
  91. package/polar/RainPolarMeasureValue.js.map +1 -0
  92. package/polar/index.js +25 -0
  93. package/polar/index.js.map +1 -0
  94. package/quality/QualityPoint.d.ts +37 -0
  95. package/{src/quality/QualityPoint.ts → quality/QualityPoint.js} +33 -56
  96. package/quality/QualityPoint.js.map +1 -0
  97. package/quality/SpeedMatrix.d.ts +83 -0
  98. package/{src/quality/SpeedMatrix.ts → quality/SpeedMatrix.js} +76 -117
  99. package/quality/SpeedMatrix.js.map +1 -0
  100. package/quality/SpeedMatrixContainer.d.ts +102 -0
  101. package/{src/quality/SpeedMatrixContainer.ts → quality/SpeedMatrixContainer.js} +103 -210
  102. package/quality/SpeedMatrixContainer.js.map +1 -0
  103. package/quality/history/CartesianGaugeHistory.d.ts +15 -0
  104. package/quality/history/CartesianGaugeHistory.js +14 -0
  105. package/quality/history/CartesianGaugeHistory.js.map +1 -0
  106. package/quality/history/CartesianRainHistory.d.ts +9 -0
  107. package/quality/history/CartesianRainHistory.js +11 -0
  108. package/quality/history/CartesianRainHistory.js.map +1 -0
  109. package/quality/history/PositionHistory.d.ts +20 -0
  110. package/quality/history/PositionHistory.js +17 -0
  111. package/quality/history/PositionHistory.js.map +1 -0
  112. package/{src/quality/index.ts → quality/index.d.ts} +0 -3
  113. package/quality/index.js +26 -0
  114. package/quality/index.js.map +1 -0
  115. package/quality/position/Position.d.ts +22 -0
  116. package/quality/position/Position.js +50 -0
  117. package/quality/position/Position.js.map +1 -0
  118. package/quality/position/PositionValue.d.ts +9 -0
  119. package/quality/position/PositionValue.js +12 -0
  120. package/quality/position/PositionValue.js.map +1 -0
  121. package/quality/tools/QualityTools.d.ts +9 -0
  122. package/{src/quality/tools/QualityTools.ts → quality/tools/QualityTools.js} +17 -18
  123. package/quality/tools/QualityTools.js.map +1 -0
  124. package/radar/RadarMeasure.d.ts +19 -0
  125. package/radar/RadarMeasure.js +30 -0
  126. package/radar/RadarMeasure.js.map +1 -0
  127. package/radar/RadarNode.d.ts +30 -0
  128. package/{src/radar/RadarNode.ts → radar/RadarNode.js} +19 -41
  129. package/radar/RadarNode.js.map +1 -0
  130. package/radar/RadarNodeMap.d.ts +26 -0
  131. package/radar/RadarNodeMap.js +44 -0
  132. package/radar/RadarNodeMap.js.map +1 -0
  133. package/radar/index.js +20 -0
  134. package/radar/index.js.map +1 -0
  135. package/rain/MergeStrategy.d.ts +13 -0
  136. package/rain/MergeStrategy.js +11 -0
  137. package/rain/MergeStrategy.js.map +1 -0
  138. package/rain/RainComputation.d.ts +42 -0
  139. package/rain/RainComputation.js +65 -0
  140. package/rain/RainComputation.js.map +1 -0
  141. package/rain/RainComputationAbstract.d.ts +73 -0
  142. package/{src/rain/RainComputationAbstract.ts → rain/RainComputationAbstract.js} +69 -135
  143. package/rain/RainComputationAbstract.js.map +1 -0
  144. package/rain/RainComputationMap.d.ts +97 -0
  145. package/{src/rain/RainComputationMap.ts → rain/RainComputationMap.js} +22 -55
  146. package/rain/RainComputationMap.js.map +1 -0
  147. package/rain/RainComputationQuality.d.ts +40 -0
  148. package/{src/rain/RainComputationQuality.ts → rain/RainComputationQuality.js} +42 -80
  149. package/rain/RainComputationQuality.js.map +1 -0
  150. package/rain/RainMeasure.d.ts +17 -0
  151. package/rain/RainMeasure.js +18 -0
  152. package/rain/RainMeasure.js.map +1 -0
  153. package/rain/RainNode.d.ts +46 -0
  154. package/{src/rain/RainNode.ts → rain/RainNode.js} +72 -117
  155. package/rain/RainNode.js.map +1 -0
  156. package/rain/index.js +23 -0
  157. package/rain/index.js.map +1 -0
  158. package/.cursorignore +0 -10
  159. package/.github/workflows/ci.yml +0 -29
  160. package/LICENSE +0 -21
  161. package/RELEASE.md +0 -19
  162. package/specs/REQUIREMENTS.md +0 -42
  163. package/specs/TECHNICAL.md +0 -57
  164. package/specs/cartesian/Cartesian.spec.ts +0 -82
  165. package/specs/cartesian/CartesianTools.spec.ts +0 -121
  166. package/specs/gauge/Gauge.spec.ts +0 -39
  167. package/specs/organization/Organization.spec.ts +0 -38
  168. package/specs/polar/Polar.spec.ts +0 -267
  169. package/specs/quality/Position.spec.ts +0 -18
  170. package/specs/quality/QualityPointEdgeCases.spec.ts +0 -215
  171. package/specs/quality/QualityTools.spec.ts +0 -67
  172. package/specs/quality/SpeedMatrix.spec.ts +0 -214
  173. package/specs/radar/Radar.spec.ts +0 -129
  174. package/specs/rain/Rain.spec.ts +0 -334
  175. package/specs/tsconfig.json +0 -12
  176. package/src/cartesian/CartesianValue.ts +0 -26
  177. package/src/cartesian/EarthMap.ts +0 -5
  178. package/src/cartesian/ICartesianMeasureValue.ts +0 -22
  179. package/src/cartesian/LatLng.ts +0 -43
  180. package/src/cartesian/RadarCartesianMeasureValue.ts +0 -32
  181. package/src/cartesian/RainCartesianMeasureValue.ts +0 -32
  182. package/src/gauge/GaugeMeasure.ts +0 -42
  183. package/src/gauge/GaugeNodeMap.ts +0 -55
  184. package/src/organization/EventNode.ts +0 -43
  185. package/src/organization/Measure.ts +0 -61
  186. package/src/polar/IPolarMeasureValue.ts +0 -21
  187. package/src/polar/PolarFilter.ts +0 -46
  188. package/src/polar/PolarValue.ts +0 -16
  189. package/src/polar/RainPolarMeasureValue.ts +0 -57
  190. package/src/quality/history/CartesianGaugeHistory.ts +0 -23
  191. package/src/quality/history/CartesianRainHistory.ts +0 -15
  192. package/src/quality/history/PositionHistory.ts +0 -31
  193. package/src/quality/position/Position.ts +0 -59
  194. package/src/quality/position/PositionValue.ts +0 -15
  195. package/src/radar/RadarMeasure.ts +0 -41
  196. package/src/radar/RadarNodeMap.ts +0 -61
  197. package/src/rain/MergeStrategy.ts +0 -15
  198. package/src/rain/RainComputation.ts +0 -96
  199. package/src/rain/RainMeasure.ts +0 -25
  200. package/tsconfig.json +0 -17
  201. package/tslint.json +0 -79
  202. package/typedoc.json +0 -31
  203. /package/{src/cartesian/index.ts → cartesian/index.d.ts} +0 -0
  204. /package/{src/gauge/index.ts → gauge/index.d.ts} +0 -0
  205. /package/{src/index.ts → index.d.ts} +0 -0
  206. /package/{src/organization/IVersion.ts → organization/IVersion.d.ts} +0 -0
  207. /package/{src/organization/index.ts → organization/index.d.ts} +0 -0
  208. /package/{src/polar/index.ts → polar/index.d.ts} +0 -0
  209. /package/{src/radar/index.ts → radar/index.d.ts} +0 -0
  210. /package/{src/rain/index.ts → rain/index.d.ts} +0 -0
@@ -1,180 +1,141 @@
1
- import {Link, RaainNode, TeamNode} from '../organization';
2
- import {RadarNode} from '../radar';
3
- import {RainComputation} from './RainComputation';
4
- import {GaugeNode} from '../gauge';
5
- import {LatLng} from '../cartesian';
6
-
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RainNode = void 0;
4
+ const organization_1 = require("../organization");
5
+ const radar_1 = require("../radar");
6
+ const RainComputation_1 = require("./RainComputation");
7
+ const gauge_1 = require("../gauge");
8
+ const cartesian_1 = require("../cartesian");
7
9
  /**
8
10
  * api/rains/:id
9
11
  */
10
- export class RainNode extends RaainNode {
11
-
12
- public static TYPE = 'rain';
13
-
14
- public name: string;
15
- public description: string;
16
- public team: TeamNode;
17
- public status: number;
18
- public quality: number;
19
- public latLngRectsAsJSON: string;
20
-
21
- // internal
22
- private configurationAsJSON: string;
23
-
24
- constructor(json: {
25
- id: string,
26
- name: string,
27
- team: TeamNode,
28
- description?: string,
29
- links?: Link[] | RaainNode[],
30
- version?: string,
31
- status?: number,
32
- quality?: number,
33
- radars?: RadarNode[],
34
- gauges?: GaugeNode[],
35
- latLngRectsAsJSON?: string,
36
- configurationAsJSON?: any,
37
- lastCompletedComputations?: RainComputation[],
38
- }) {
12
+ class RainNode extends organization_1.RaainNode {
13
+ constructor(json) {
39
14
  super(json);
40
-
41
- const links = json?.links ? json.links as any[] : [];
42
-
15
+ const links = (json === null || json === void 0 ? void 0 : json.links) ? json.links : [];
43
16
  this.name = json.name;
44
17
  this.description = json.description;
45
18
  this.team = json.team;
46
19
  this.status = json.status >= 0 ? json.status : -1;
47
20
  this.quality = json.quality >= 0 ? json.quality : -1;
48
21
  this.latLngRectsAsJSON = json.latLngRectsAsJSON;
49
-
50
- this.addRadars(links.filter(l => l instanceof RadarNode));
22
+ this.addRadars(links.filter(l => l instanceof radar_1.RadarNode));
51
23
  this.addRadars(json.radars);
52
- this.addGauges(links.filter(l => l instanceof GaugeNode));
24
+ this.addGauges(links.filter(l => l instanceof gauge_1.GaugeNode));
53
25
  this.addGauges(json.gauges);
54
26
  this.setConfiguration(json.configurationAsJSON);
55
- this.addCompletedComputations(links.filter(l => l instanceof RainComputation));
27
+ this.addCompletedComputations(links.filter(l => l instanceof RainComputation_1.RainComputation));
56
28
  this.addCompletedComputations(json.lastCompletedComputations);
57
29
  }
58
-
59
- private static _getRadarLinks(linksToPurify: any[]): any[] {
30
+ static _getRadarLinks(linksToPurify) {
60
31
  if (!linksToPurify || linksToPurify.length === 0) {
61
32
  return [];
62
33
  }
63
-
64
34
  const linksPurified = linksToPurify.map(l => {
65
- if (l instanceof Link) {
35
+ if (l instanceof organization_1.Link) {
66
36
  return l;
67
- } else if (l && l['_id']) {
68
- return new RadarNode({id: l['_id'].toString(), latitude: l.latitude, longitude: l.latitude, name: l.name, team: l.team});
69
- } else if (l && l.id) {
70
- return new RadarNode({id: l.id.toString(), latitude: l.latitude, longitude: l.longitude, name: l.name, team: l.team});
37
+ }
38
+ else if (l && l['_id']) {
39
+ return new radar_1.RadarNode({ id: l['_id'].toString(), latitude: l.latitude, longitude: l.latitude, name: l.name, team: l.team });
40
+ }
41
+ else if (l && l.id) {
42
+ return new radar_1.RadarNode({ id: l.id.toString(), latitude: l.latitude, longitude: l.longitude, name: l.name, team: l.team });
71
43
  }
72
44
  });
73
-
74
45
  return linksPurified.filter(l => !!l);
75
46
  }
76
-
77
- private static _getRainComputationLinks(linksToPurify: any[]): any[] {
47
+ static _getRainComputationLinks(linksToPurify) {
78
48
  if (!linksToPurify || linksToPurify.length === 0) {
79
49
  return [];
80
50
  }
81
-
82
51
  const linksPurified = linksToPurify.map(l => {
83
- if (l instanceof Link) {
52
+ if (l instanceof organization_1.Link) {
84
53
  return l;
85
- } else if (l && l['_id']) {
86
- return new RainComputation({
54
+ }
55
+ else if (l && l['_id']) {
56
+ return new RainComputation_1.RainComputation({
87
57
  id: l['_id'].toString(),
88
58
  date: l.date, version: l.version,
89
59
  isReady: null, results: null,
90
60
  });
91
- } else if (l && l.id) {
92
- return new RainComputation({
61
+ }
62
+ else if (l && l.id) {
63
+ return new RainComputation_1.RainComputation({
93
64
  id: l.id.toString(),
94
65
  date: l.date, version: l.version,
95
66
  isReady: null, results: null
96
67
  });
97
68
  }
98
69
  });
99
-
100
70
  return linksPurified.filter(l => !!l);
101
71
  }
102
-
103
- private static _getGaugeLinks(linksToPurify: any[]): any[] {
72
+ static _getGaugeLinks(linksToPurify) {
104
73
  if (!linksToPurify || linksToPurify.length === 0) {
105
74
  return [];
106
75
  }
107
-
108
76
  const linksPurified = linksToPurify.map(l => {
109
- if (l instanceof Link) {
77
+ if (l instanceof organization_1.Link) {
110
78
  return l;
111
- } else if (l && l['_id']) {
112
- return new GaugeNode({id: l['_id'].toString(), latitude: l.latitude, longitude: l.longitude, name: l.name, team: l.team});
113
- } else if (l && l.id) {
114
- return new GaugeNode({id: l.id.toString(), latitude: l.latitude, longitude: l.longitude, name: l.name, team: l.team});
79
+ }
80
+ else if (l && l['_id']) {
81
+ return new gauge_1.GaugeNode({ id: l['_id'].toString(), latitude: l.latitude, longitude: l.longitude, name: l.name, team: l.team });
82
+ }
83
+ else if (l && l.id) {
84
+ return new gauge_1.GaugeNode({ id: l.id.toString(), latitude: l.latitude, longitude: l.longitude, name: l.name, team: l.team });
115
85
  }
116
86
  });
117
-
118
87
  return linksPurified.filter(l => !!l);
119
88
  }
120
-
121
- public setConfiguration(configuration: string | any) {
89
+ setConfiguration(configuration) {
122
90
  let conf = configuration;
123
91
  try {
124
92
  conf = JSON.parse(configuration);
125
- } catch (ignored) {
126
93
  }
127
-
94
+ catch (ignored) {
95
+ }
128
96
  if (conf) {
129
97
  this.configurationAsJSON = JSON.stringify(conf);
130
98
  }
131
99
  }
132
-
133
- public getConfiguration(): any {
100
+ getConfiguration() {
134
101
  try {
135
102
  return JSON.parse(this.configurationAsJSON);
136
- } catch (e) {
103
+ }
104
+ catch (e) {
137
105
  }
138
106
  return null;
139
107
  }
140
-
141
- public toJSON(): any {
108
+ toJSON() {
109
+ var _a;
142
110
  const json = super.toJSON();
143
111
  json['name'] = this.name;
144
112
  json['description'] = this.description;
145
113
  json['status'] = this.status;
146
114
  json['quality'] = this.quality;
147
- json['team'] = this.team?.id || this.team;
115
+ json['team'] = ((_a = this.team) === null || _a === void 0 ? void 0 : _a.id) || this.team;
148
116
  json['latLngRectsAsJSON'] = this.latLngRectsAsJSON;
149
117
  json['configurationAsJSON'] = this.configurationAsJSON;
150
- json['radars'] = this.links.filter(l => l.getLinkType() === RadarNode.TYPE).map(l => l.getId());
151
- json['gauges'] = this.links.filter(l => l.getLinkType() === GaugeNode.TYPE).map(l => l.getId());
152
- json['lastCompletedComputations'] = this.links.filter(l => l.getLinkType() === RainComputation.TYPE).map(l => l.getId());
118
+ json['radars'] = this.links.filter(l => l.getLinkType() === radar_1.RadarNode.TYPE).map(l => l.getId());
119
+ json['gauges'] = this.links.filter(l => l.getLinkType() === gauge_1.GaugeNode.TYPE).map(l => l.getId());
120
+ json['lastCompletedComputations'] = this.links.filter(l => l.getLinkType() === RainComputation_1.RainComputation.TYPE).map(l => l.getId());
153
121
  return json;
154
122
  }
155
-
156
- public addRadars(linksToAdd: Link[] | RadarNode[]): void {
123
+ addRadars(linksToAdd) {
157
124
  this.addLinks(RainNode._getRadarLinks(linksToAdd));
158
125
  this.setDefaultLatLng(linksToAdd);
159
126
  }
160
-
161
- public addCompletedComputations(linksToAdd: Link[] | RainComputation[]): void {
127
+ addCompletedComputations(linksToAdd) {
162
128
  this.addLinks(RainNode._getRainComputationLinks(linksToAdd));
163
129
  }
164
-
165
- public addGauges(linksToAdd: Link[] | GaugeNode[]): void {
130
+ addGauges(linksToAdd) {
166
131
  this.addLinks(RainNode._getGaugeLinks(linksToAdd));
167
132
  }
168
-
169
- public getCenter(): LatLng {
170
-
171
- let center = new LatLng({lat: 0, lng: 0});
172
-
173
- this.setDefaultLatLng(this['radars'])
174
-
133
+ getCenter() {
134
+ let center = new cartesian_1.LatLng({ lat: 0, lng: 0 });
135
+ this.setDefaultLatLng(this['radars']);
175
136
  if (this.latLngRectsAsJSON && this.latLngRectsAsJSON !== '[]') {
176
137
  const rects = JSON.parse(this.latLngRectsAsJSON);
177
- let latMax: number, lngMax: number, latMin: number, lngMin: number;
138
+ let latMax, lngMax, latMin, lngMin;
178
139
  for (const rect of rects) {
179
140
  const topLeft = rect[0];
180
141
  const bottomRight = rect[1];
@@ -183,21 +144,16 @@ export class RainNode extends RaainNode {
183
144
  latMin = typeof latMin === 'undefined' ? bottomRight.lat : Math.min(bottomRight.lat, latMin);
184
145
  lngMax = typeof lngMax === 'undefined' ? bottomRight.lng : Math.max(bottomRight.lng, lngMax);
185
146
  }
186
-
187
- center = new LatLng({lat: ((latMax - latMin) / 2) + latMin, lng: ((lngMax - lngMin) / 2) + lngMin})
147
+ center = new cartesian_1.LatLng({ lat: ((latMax - latMin) / 2) + latMin, lng: ((lngMax - lngMin) / 2) + lngMin });
188
148
  }
189
-
190
149
  return center;
191
150
  }
192
-
193
- public getLimitPoints(): [LatLng, LatLng] {
194
- let limitPoints: [LatLng, LatLng];
195
-
151
+ getLimitPoints() {
152
+ let limitPoints;
196
153
  this.setDefaultLatLng(this['radars']);
197
-
198
154
  if (this.latLngRectsAsJSON && this.latLngRectsAsJSON !== '[]') {
199
155
  const rects = JSON.parse(this.latLngRectsAsJSON);
200
- let latMax: number, lngMax: number, latMin: number, lngMin: number;
156
+ let latMax, lngMax, latMin, lngMin;
201
157
  for (const rect of rects) {
202
158
  const rectA = rect[0];
203
159
  const rectB = rect[1];
@@ -206,30 +162,29 @@ export class RainNode extends RaainNode {
206
162
  latMin = Math.min(rectA.lat, rectB.lat, typeof latMin !== 'undefined' ? latMin : rectB.lat);
207
163
  lngMax = Math.max(rectA.lng, rectB.lng, typeof lngMax !== 'undefined' ? lngMax : rectB.lng);
208
164
  }
209
-
210
- limitPoints = [new LatLng({lat: latMin, lng: lngMin}), new LatLng({lat: latMax, lng: lngMax})];
165
+ limitPoints = [new cartesian_1.LatLng({ lat: latMin, lng: lngMin }), new cartesian_1.LatLng({ lat: latMax, lng: lngMax })];
211
166
  }
212
-
213
167
  return limitPoints;
214
168
  }
215
-
216
- protected getLinkType(): string {
169
+ getLinkType() {
217
170
  return RainNode.TYPE;
218
171
  }
219
-
220
- private setDefaultLatLng(radars: any[]) {
172
+ setDefaultLatLng(radars) {
221
173
  // TODO put a default latLngRectsAsJSON based on cartesianTools earth ?
222
- if (radars?.length && (!this.latLngRectsAsJSON || this.latLngRectsAsJSON === '[]')) {
174
+ if ((radars === null || radars === void 0 ? void 0 : radars.length) && (!this.latLngRectsAsJSON || this.latLngRectsAsJSON === '[]')) {
223
175
  const latLngRects = [];
224
176
  for (const radarNode of radars) {
225
- if (radarNode instanceof RadarNode) {
177
+ if (radarNode instanceof radar_1.RadarNode) {
226
178
  latLngRects.push([
227
- new LatLng({lat: radarNode.latitude + 1, lng: radarNode.longitude - 1}),
228
- new LatLng({lat: radarNode.latitude - 1, lng: radarNode.longitude + 1})]);
179
+ new cartesian_1.LatLng({ lat: radarNode.latitude + 1, lng: radarNode.longitude - 1 }),
180
+ new cartesian_1.LatLng({ lat: radarNode.latitude - 1, lng: radarNode.longitude + 1 })
181
+ ]);
229
182
  }
230
183
  }
231
-
232
184
  this.latLngRectsAsJSON = JSON.stringify(latLngRects);
233
185
  }
234
186
  }
235
187
  }
188
+ exports.RainNode = RainNode;
189
+ RainNode.TYPE = 'rain';
190
+ //# sourceMappingURL=RainNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RainNode.js","sourceRoot":"","sources":["../../src/rain/RainNode.ts"],"names":[],"mappings":"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"}
package/rain/index.js ADDED
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./RainMeasure"), exports);
18
+ __exportStar(require("./RainNode"), exports);
19
+ __exportStar(require("./RainComputationQuality"), exports);
20
+ __exportStar(require("./RainComputation"), exports);
21
+ __exportStar(require("./RainComputationMap"), exports);
22
+ __exportStar(require("./MergeStrategy"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rain/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,6CAA2B;AAC3B,2DAAyC;AACzC,oDAAkC;AAClC,uDAAqC;AACrC,kDAAgC"}
package/.cursorignore DELETED
@@ -1,10 +0,0 @@
1
- .vscode/
2
- .idea/
3
- *gitignored
4
- *gitignored*
5
-
6
- # Always include these files for context
7
- !README.md
8
- !CHANGELOG.md
9
- !RELEASE_PROCESS.md
10
- !specs/*.md
@@ -1,29 +0,0 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches: [ master ]
6
-
7
- jobs:
8
- build:
9
- runs-on: ubuntu-latest
10
-
11
- steps:
12
- - uses: actions/checkout@v4
13
- - uses: actions/setup-node@v4
14
- with:
15
- node-version: '18'
16
- registry-url: 'https://registry.npmjs.org'
17
- - run: npm install
18
- - run: npm test
19
- - run: npm run build
20
- - run: npm run docs
21
- - name: Deploy documentation to GitHub Pages
22
- uses: peaceiris/actions-gh-pages@v3
23
- with:
24
- github_token: ${{ secrets.GITHUB_TOKEN }}
25
- publish_dir: ./docs
26
- - run: npm publish
27
- working-directory: ./dist
28
- env:
29
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2024 radartorain.com
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
package/RELEASE.md DELETED
@@ -1,19 +0,0 @@
1
- # Release notes
2
-
3
- - 0.0.1 : first extracts from RAAIN services.
4
- - 0.2.x : Add customers team, radar.
5
- - 0.3.x : Reformat Links, add IVersion. Conversion, CI/CD.
6
- - 0.4.x : Cartesian values, Folder reorg (renaming of Polar objects : XX-MeasureValue => XX-PolarMeasureValue).
7
- - 1.9.x : Cartesian improvements.
8
- - 1.10.x : Object constructor based on json only. Specs added.
9
- - 1.11.x : Change SpeedMatrixContainer's QualityPoints relation (1.N). Add a SpeedMatrix name.
10
- - 2.0.x : More flexible configuration (rain, radar, gauge),
11
- Rain zone is composed by LatLng rects,
12
- No more period usage (date preferred).
13
- - 2.1.x : RainComputationQuality extended with rainComputation's link,
14
- getQualityPointsByHistoricalPosition method.
15
- - 2.2.x : BuildCompares refactored.
16
- - 2.3.x : Angle/Axis refactored.
17
- - 2.4.x : PeopleNode move role to roles.
18
- - 2.5.x : Polar and Cartesian limits (count + offsets). PolarMap added to manipulate index.
19
- - 2.6.x : Unify Cartesian map tools.
@@ -1,42 +0,0 @@
1
- # Project Requirements
2
-
3
- This document serves as the foundation for development and should be updated as requirements evolve or new providers are added to the system.
4
-
5
- ## Core Requirements
6
-
7
- ### Rain Data Processing
8
- 1. Must support multiple radar data sources
9
- 2. Must integrate with physical rain gauge stations
10
- 3. Must provide accurate geographic coverage information
11
- 4. Must maintain computation history
12
- 5. Must implement quality control measures
13
-
14
- ### Gauge Integration
15
- 1. Must support physical rain gauge station management
16
- 2. Must store precise geographic coordinates
17
- 3. Must allow custom configuration per station
18
- 4. Must integrate with team management system
19
-
20
- ### Quality Control
21
- 1. Must implement speed matrix comparisons
22
- 2. Must calculate and track quality metrics
23
- 3. Must support historical data analysis
24
- 4. Must provide tools for quality assessment
25
-
26
- ### Organization
27
- 1. Must support team-based access control
28
- 2. Must maintain relationships between different nodes
29
- 3. Must track version information
30
- 4. Must support flexible configuration options
31
-
32
- ### API Requirements
33
- 1. Must provide RESTful endpoints for all operations
34
- 2. Must implement proper error handling
35
- 3. Must support JSON data format
36
- 4. Must maintain backward compatibility
37
-
38
- ### Technical Requirements
39
- 1. Must use TypeScript for type safety
40
- 2. Must maintain comprehensive documentation
41
- 3. Must include automated tests
42
- 4. Must follow MIT license requirements
@@ -1,57 +0,0 @@
1
- # Technical Documentation
2
-
3
- This document serves as the technical reminder for development and should be updated as implementation evolves.
4
-
5
- ## Core Components
6
-
7
- ### RainNode
8
- - Extends `RaainNode`
9
- - Manages rain data computation and configuration
10
- - Properties:
11
- - `name`: Station name
12
- - `description`: Optional description
13
- - `team`: Associated TeamNode
14
- - `status`: Current status number
15
- - `quality`: Quality metric
16
- - `latLngRectsAsJSON`: Geographic coverage as JSON
17
- - `configurationAsJSON`: Private configuration data
18
- - Key Features:
19
- - Radar link management
20
- - Gauge integration
21
- - Geographic calculations (center, limits)
22
- - Computation history tracking
23
-
24
- ### GaugeNode
25
- - Extends `RaainNode`
26
- - Represents physical rain gauge stations
27
- - Properties:
28
- - `name`: Station name
29
- - `description`: Station description
30
- - `latitude`: Geographic latitude
31
- - `longitude`: Geographic longitude
32
- - `team`: Associated TeamNode
33
- - `configurationAsJSON`: Private configuration data
34
- - Features:
35
- - Configuration management
36
- - Location-based services
37
- - Team association
38
-
39
- ### Organization Structure
40
- - `RaainNode`: Base class for all nodes
41
- - `TeamNode`: Team management and permissions
42
- - `Link`: Relationship management between nodes
43
-
44
- ### Quality Management
45
- - Enhanced speed matrix comparisons
46
- - Improved quality point calculations
47
- - Updated Cartesian rain history tracking
48
- - Refined quality measurement tools
49
-
50
- ## API Endpoints
51
- - `/api/rains/:id`: Rain node management
52
- - `/api/gauges/:id`: Gauge station management
53
-
54
- ## Data Processing
55
- - Polar measurement filtering
56
- - Cartesian coordinate transformations
57
- - Quality metric calculations
@@ -1,82 +0,0 @@
1
- import {expect} from 'chai';
2
- import {
3
- CartesianMeasureValue,
4
- CartesianValue,
5
- GaugeMeasure,
6
- GaugeNode,
7
- ICartesianMeasureValue,
8
- LatLng,
9
- RadarCartesianMeasureValue,
10
- RainCartesianMeasureValue,
11
- TeamNode
12
- } from '../../src';
13
-
14
- describe('Cartesian', () => {
15
-
16
- it('should create ones', () => {
17
-
18
- const team1 = new TeamNode({
19
- id: 'tid1',
20
- name: 'team1',
21
- description: 'team...',
22
- contracts: ['basic'],
23
- contacts: []
24
- });
25
- const cartesianValue1 = new CartesianValue({
26
- value: 123,
27
- lat: 10,
28
- lng: 20
29
- });
30
- const cartesianValue2 = new CartesianValue({
31
- value: 321,
32
- lat: 10.002,
33
- lng: 19.9998
34
- });
35
- const cartesianMeasureValue = new CartesianMeasureValue({
36
- cartesianValues: [cartesianValue1, cartesianValue2],
37
- });
38
- const radarCartesianMeasureValue = new RadarCartesianMeasureValue({
39
- cartesianValues: [cartesianValue1, cartesianValue2],
40
- angle: 4,
41
- axis: 0,
42
- limitPoints: undefined
43
- });
44
- expect(radarCartesianMeasureValue.angle).eq(4);
45
- expect(radarCartesianMeasureValue.getCartesianValues().length).eq(2);
46
- expect(radarCartesianMeasureValue.getLimitPoints({forceCompute: true})[0].lat).eq(10);
47
- expect(radarCartesianMeasureValue.getLimitPoints()[0].lng).eq(19.9998);
48
- expect(radarCartesianMeasureValue.getLimitPoints()[1].lat).eq(10.002);
49
- expect(radarCartesianMeasureValue.getLimitPoints()[1].lng).eq(20);
50
-
51
- const gaugeNode = new GaugeNode({
52
- id: 'GaugeNode looks OK.',
53
- name: 'name',
54
- links: [],
55
- latitude: 1,
56
- longitude: 1,
57
- team: team1,
58
- });
59
- expect(gaugeNode.id).eq('GaugeNode looks OK.');
60
-
61
- const gaugeMeasure = new GaugeMeasure({
62
- id: 'gaugeMeasure',
63
- date: new Date(),
64
- values: [cartesianMeasureValue],
65
- validity: 1
66
- });
67
- expect((gaugeMeasure.values[0] as ICartesianMeasureValue).getCartesianValue({lat: 10, lng: 20}).value).eq(123);
68
- expect((gaugeMeasure.values[0] as ICartesianMeasureValue).getCartesianValue({lat: 10.0001, lng: 20.00001})).eq(null);
69
-
70
- const rainCartesianMeasureValue = new RainCartesianMeasureValue({
71
- cartesianValues: [cartesianValue1, cartesianValue2],
72
- version: '',
73
- limitPoints: [new LatLng({lat: 0, lng: 1}), new LatLng({lat: 12, lng: 20})]
74
- });
75
- expect(rainCartesianMeasureValue.getCartesianValues().length).eq(2);
76
- expect(rainCartesianMeasureValue.getLimitPoints()[0].lat).eq(0);
77
- expect(rainCartesianMeasureValue.getLimitPoints()[0].lng).eq(1);
78
- expect(rainCartesianMeasureValue.getLimitPoints()[1].lat).eq(12);
79
- expect(rainCartesianMeasureValue.getLimitPoints()[1].lng).eq(20);
80
- });
81
-
82
- });