raain-model 3.0.34 → 3.0.36
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 +6 -1
- package/bpInfo.js +1 -1
- package/package.json +2 -2
- package/rain/RainSpeed.d.ts +1 -1
- package/rain/RainSpeed.js.map +1 -1
- package/rain/RainSpeedMap.d.ts +5 -1
- package/rain/RainSpeedMap.js +53 -7
- package/rain/RainSpeedMap.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,7 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- RainSpeedMap.getRainSpeed and .transpose: using Haversine distance when `strictContaining`, and Earth map when
|
|
13
|
+
`inEarthMap`
|
|
14
|
+
|
|
15
|
+
## [3.0.34] - 2025-10-25
|
|
11
16
|
|
|
12
17
|
### Fixed
|
|
13
18
|
|
package/bpInfo.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "raain-model",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.36",
|
|
4
4
|
"author": "contact@radartorain.com",
|
|
5
5
|
"homepage": "https://github.com/raainio/raain-model",
|
|
6
6
|
"description": "radartorain.com api model",
|
|
@@ -56,4 +56,4 @@
|
|
|
56
56
|
"typedoc": "^0.25.12",
|
|
57
57
|
"typescript": "^5.0.4"
|
|
58
58
|
}
|
|
59
|
-
}
|
|
59
|
+
}
|
package/rain/RainSpeed.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export declare class RainSpeed {
|
|
|
27
27
|
* Transpose a CartesianValue based on this RainSpeed's speed and azimuth over a time period
|
|
28
28
|
*/
|
|
29
29
|
transpose(cartesianValue: CartesianValue, diffInMinutes: number, options?: {
|
|
30
|
-
inEarthMap
|
|
30
|
+
inEarthMap?: boolean;
|
|
31
31
|
}): CartesianValue;
|
|
32
32
|
private setArea;
|
|
33
33
|
}
|
package/rain/RainSpeed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RainSpeed.js","sourceRoot":"","sources":["../../src/rain/RainSpeed.ts"],"names":[],"mappings":";;;AAAA,4CAAoE;AAEpE;;GAEG;AACH,MAAa,SAAS;IAOlB,YAAY,IAMX;;QACG,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,MAAA,IAAI,CAAC,UAAU,mCAAI,CAAC,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAEM,SAAS;QACZ,OAAO,0BAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAEM,MAAM;QACT,OAAO;YACH,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC;IACN,CAAC;IAED;;OAEG;IACI,SAAS,CACZ,cAA8B,EAC9B,aAAqB,EACrB,
|
|
1
|
+
{"version":3,"file":"RainSpeed.js","sourceRoot":"","sources":["../../src/rain/RainSpeed.ts"],"names":[],"mappings":"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"}
|
package/rain/RainSpeedMap.d.ts
CHANGED
|
@@ -16,8 +16,12 @@ export declare class RainSpeedMap {
|
|
|
16
16
|
} | {
|
|
17
17
|
lat: number;
|
|
18
18
|
lng: number;
|
|
19
|
+
}, options?: {
|
|
20
|
+
inEarthMap?: boolean;
|
|
21
|
+
strictContaining?: boolean;
|
|
19
22
|
}): RainSpeed | undefined;
|
|
20
23
|
transpose(cartesianValue: CartesianValue, diffInMinutes: number, options?: {
|
|
21
|
-
inEarthMap
|
|
24
|
+
inEarthMap?: boolean;
|
|
25
|
+
strictContaining?: boolean;
|
|
22
26
|
}): CartesianValue;
|
|
23
27
|
}
|
package/rain/RainSpeedMap.js
CHANGED
|
@@ -13,7 +13,7 @@ class RainSpeedMap {
|
|
|
13
13
|
this.date = new Date(json.date);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
getRainSpeed(point) {
|
|
16
|
+
getRainSpeed(point, options) {
|
|
17
17
|
var _a, _b;
|
|
18
18
|
// normalize input to numbers
|
|
19
19
|
let lat;
|
|
@@ -35,24 +35,70 @@ class RainSpeedMap {
|
|
|
35
35
|
if (typeof lat !== 'number' || typeof lng !== 'number') {
|
|
36
36
|
return undefined;
|
|
37
37
|
}
|
|
38
|
+
// Apply earth map rounding if requested
|
|
39
|
+
const cartesianTools = new cartesian_1.CartesianTools();
|
|
40
|
+
if (options === null || options === void 0 ? void 0 : options.inEarthMap) {
|
|
41
|
+
const roundedLatLng = cartesianTools.getLatLngFromEarthMap(new cartesian_1.LatLng({ lat, lng }));
|
|
42
|
+
lat = roundedLatLng.lat;
|
|
43
|
+
lng = roundedLatLng.lng;
|
|
44
|
+
}
|
|
38
45
|
// retrieve the first RainSpeed whose area contains the point
|
|
39
46
|
for (const rs of (_a = this.rainSpeeds) !== null && _a !== void 0 ? _a : []) {
|
|
40
47
|
const rects = (_b = rs === null || rs === void 0 ? void 0 : rs.latLngs) !== null && _b !== void 0 ? _b : [];
|
|
41
|
-
|
|
48
|
+
let roundedRects = rects;
|
|
49
|
+
if (options === null || options === void 0 ? void 0 : options.inEarthMap) {
|
|
50
|
+
roundedRects = roundedRects.map((r) => {
|
|
51
|
+
const r0 = cartesianTools.getLatLngFromEarthMap(r[0]);
|
|
52
|
+
const r1 = cartesianTools.getLatLngFromEarthMap(r[1]);
|
|
53
|
+
return [r0, r1];
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
if (cartesian_1.CartesianTools.IsPointInAnyRect(lat, lng, roundedRects)) {
|
|
42
57
|
return rs;
|
|
43
58
|
}
|
|
44
59
|
}
|
|
60
|
+
// If no containing area found and strictContaining is not true, find closest by center distance
|
|
61
|
+
if ((options === null || options === void 0 ? void 0 : options.strictContaining) !== true) {
|
|
62
|
+
return this.rainSpeeds.reduce((closest, current) => {
|
|
63
|
+
if (!closest) {
|
|
64
|
+
return current;
|
|
65
|
+
}
|
|
66
|
+
const currentCenter = current.getCenter();
|
|
67
|
+
const closestCenter = closest.getCenter();
|
|
68
|
+
const currentDistance = cartesian_1.CartesianTools.GetDistanceFromLatLngInKm(new cartesian_1.LatLng({ lat, lng }), currentCenter);
|
|
69
|
+
const closestDistance = cartesian_1.CartesianTools.GetDistanceFromLatLngInKm(new cartesian_1.LatLng({ lat, lng }), closestCenter);
|
|
70
|
+
return currentDistance < closestDistance ? current : closest;
|
|
71
|
+
}, undefined);
|
|
72
|
+
}
|
|
45
73
|
return undefined;
|
|
46
74
|
}
|
|
47
75
|
transpose(cartesianValue, diffInMinutes, options) {
|
|
48
76
|
const lat = cartesianValue.lat;
|
|
49
77
|
const lng = cartesianValue.lng;
|
|
50
78
|
const cartesianTools = new cartesian_1.CartesianTools();
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const rs =
|
|
55
|
-
|
|
79
|
+
let rainSpeed;
|
|
80
|
+
if (options === null || options === void 0 ? void 0 : options.strictContaining) {
|
|
81
|
+
// find matching RainSpeed areas that contain the point
|
|
82
|
+
const matches = this.rainSpeeds.filter((rs) => { var _a; return cartesian_1.CartesianTools.IsPointInAnyRect(lat, lng, (_a = rs === null || rs === void 0 ? void 0 : rs.latLngs) !== null && _a !== void 0 ? _a : []); });
|
|
83
|
+
if (matches.length >= 1) {
|
|
84
|
+
rainSpeed = matches[0];
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
// Find the closest RainSpeed by calculating distance from point to each RainSpeed's center
|
|
89
|
+
rainSpeed = this.rainSpeeds.reduce((closest, current) => {
|
|
90
|
+
if (!closest) {
|
|
91
|
+
return current;
|
|
92
|
+
}
|
|
93
|
+
const currentCenter = current.getCenter();
|
|
94
|
+
const closestCenter = closest.getCenter();
|
|
95
|
+
const currentDistance = cartesian_1.CartesianTools.GetDistanceFromLatLngInKm(new cartesian_1.LatLng({ lat, lng }), currentCenter);
|
|
96
|
+
const closestDistance = cartesian_1.CartesianTools.GetDistanceFromLatLngInKm(new cartesian_1.LatLng({ lat, lng }), closestCenter);
|
|
97
|
+
return currentDistance < closestDistance ? current : closest;
|
|
98
|
+
}, undefined);
|
|
99
|
+
}
|
|
100
|
+
if (rainSpeed) {
|
|
101
|
+
return rainSpeed.transpose(cartesianValue, diffInMinutes, options);
|
|
56
102
|
}
|
|
57
103
|
if (!(options === null || options === void 0 ? void 0 : options.inEarthMap)) {
|
|
58
104
|
return cartesianValue;
|
package/rain/RainSpeedMap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RainSpeedMap.js","sourceRoot":"","sources":["../../src/rain/RainSpeedMap.ts"],"names":[],"mappings":";;;AAAA,2CAAsC;AACtC,4CAAoE;AAEpE;;GAEG;AACH,MAAa,YAAY;IAIrB,YAAY,IAA4C;QACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,qBAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAED,YAAY,CACR,KAAkF;;
|
|
1
|
+
{"version":3,"file":"RainSpeedMap.js","sourceRoot":"","sources":["../../src/rain/RainSpeedMap.ts"],"names":[],"mappings":"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"}
|