raain-model 3.0.36 → 3.0.38
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 +11 -0
- package/bpInfo.js +1 -1
- package/cartesian/CartesianTools.d.ts +5 -1
- package/cartesian/CartesianTools.js +49 -8
- package/cartesian/CartesianTools.js.map +1 -1
- package/package.json +2 -2
- package/rain/RainSpeedMap.d.ts +23 -1
- package/rain/RainSpeedMap.js +66 -59
- package/rain/RainSpeedMap.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [3.0.37] - 2025-10-27
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- RainSpeedMap.getTrustRatio: returns the trustRatio of the RainSpeed found for a given point, with support for
|
|
15
|
+
`inEarthMap` and `strictContaining` options.
|
|
16
|
+
When no point is provided, returns the average trustRatio of all RainSpeeds in the map.
|
|
17
|
+
As fallback returns 0 when no RainSpeeds exist.
|
|
18
|
+
|
|
19
|
+
## [3.0.36] - 2025-10-27
|
|
20
|
+
|
|
10
21
|
### Changed
|
|
11
22
|
|
|
12
23
|
- RainSpeedMap.getRainSpeed and .transpose: using Haversine distance when `strictContaining`, and Earth map when
|
package/bpInfo.js
CHANGED
|
@@ -15,7 +15,11 @@ export declare class CartesianTools {
|
|
|
15
15
|
static NormalizeLongitude(lng: number): number;
|
|
16
16
|
static ClampLatitude(lat: number): number;
|
|
17
17
|
static IsEqualsLatLng(latOrLng1: number, latOrLng2: number, cartesianStep?: number): boolean;
|
|
18
|
-
static IsAroundLatLng(latLngCenter: LatLng, latLngAround: LatLng,
|
|
18
|
+
static IsAroundLatLng(latLngCenter: LatLng, latLngAround: LatLng, options?: {
|
|
19
|
+
stepRange?: number;
|
|
20
|
+
scaleLatLng?: LatLng;
|
|
21
|
+
inEarthMap?: boolean;
|
|
22
|
+
}): boolean;
|
|
19
23
|
static IsNotAroundLatLng(latLngCenter: LatLng, latLngAround: LatLng, stepRange: number, cartesianStep?: number): boolean;
|
|
20
24
|
static DegToRad(azimuthInDegrees: number): number;
|
|
21
25
|
static RadToDeg(azimuthInDegrees: number): number;
|
|
@@ -44,18 +44,59 @@ class CartesianTools {
|
|
|
44
44
|
return (CartesianTools.RoundLatLng(latOrLng1, cartesianStep, true) ===
|
|
45
45
|
CartesianTools.RoundLatLng(latOrLng2, cartesianStep, true));
|
|
46
46
|
}
|
|
47
|
-
static IsAroundLatLng(latLngCenter, latLngAround,
|
|
47
|
+
static IsAroundLatLng(latLngCenter, latLngAround, options = {
|
|
48
|
+
stepRange: 0,
|
|
49
|
+
scaleLatLng: new LatLng_1.LatLng({
|
|
50
|
+
lat: CartesianTools.DEFAULT_SCALE,
|
|
51
|
+
lng: CartesianTools.DEFAULT_SCALE,
|
|
52
|
+
}),
|
|
53
|
+
inEarthMap: false,
|
|
54
|
+
}) {
|
|
55
|
+
var _a;
|
|
56
|
+
const stepRange = (_a = options === null || options === void 0 ? void 0 : options.stepRange) !== null && _a !== void 0 ? _a : 0;
|
|
57
|
+
let cartesianStep = typeof options.scaleLatLng === 'undefined'
|
|
58
|
+
? new LatLng_1.LatLng({
|
|
59
|
+
lat: CartesianTools.DEFAULT_SCALE,
|
|
60
|
+
lng: CartesianTools.DEFAULT_SCALE,
|
|
61
|
+
})
|
|
62
|
+
: options.scaleLatLng;
|
|
63
|
+
let latLng1 = latLngCenter;
|
|
64
|
+
let latLng2 = latLngAround;
|
|
65
|
+
if (options === null || options === void 0 ? void 0 : options.inEarthMap) {
|
|
66
|
+
const cartesianTools = new CartesianTools();
|
|
67
|
+
latLng1 = cartesianTools.getLatLngFromEarthMap(latLng1);
|
|
68
|
+
latLng2 = cartesianTools.getLatLngFromEarthMap(latLng2);
|
|
69
|
+
cartesianStep = cartesianTools.getScaleLatLng(latLng1);
|
|
70
|
+
}
|
|
48
71
|
let isAround = false;
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
72
|
+
const minLat = -stepRange * cartesianStep.lat, maxLat = stepRange * cartesianStep.lat, minLng = -stepRange * cartesianStep.lng, maxLng = stepRange * cartesianStep.lng;
|
|
73
|
+
// For longitude wrapping: Check if the shortest distance crosses the date line
|
|
74
|
+
// Calculate the wrapped longitude difference
|
|
75
|
+
let lngDiff = latLng2.lng - latLng1.lng;
|
|
76
|
+
if (lngDiff > 180) {
|
|
77
|
+
lngDiff -= 360;
|
|
78
|
+
}
|
|
79
|
+
else if (lngDiff < -180) {
|
|
80
|
+
lngDiff += 360;
|
|
81
|
+
}
|
|
82
|
+
// If the shortest path crosses the date line, adjust latLng2 to be on the same side
|
|
83
|
+
let adjustedLatLng2Lng = latLng2.lng;
|
|
84
|
+
if (Math.abs(lngDiff) !== Math.abs(latLng2.lng - latLng1.lng)) {
|
|
85
|
+
// Wrapped distance is shorter, adjust to make linear checking work
|
|
86
|
+
adjustedLatLng2Lng = latLng1.lng + lngDiff;
|
|
87
|
+
}
|
|
88
|
+
for (let lat = minLat; !isAround && lat <= maxLat; lat += cartesianStep.lat) {
|
|
89
|
+
for (let lng = minLng; !isAround && lng <= maxLng; lng += cartesianStep.lng) {
|
|
52
90
|
isAround =
|
|
53
|
-
CartesianTools.RoundLatLng(
|
|
54
|
-
CartesianTools.RoundLatLng(
|
|
91
|
+
CartesianTools.RoundLatLng(latLng1.lat, cartesianStep.lat, true) ===
|
|
92
|
+
CartesianTools.RoundLatLng(latLng2.lat + lat, cartesianStep.lat, true);
|
|
55
93
|
if (isAround) {
|
|
94
|
+
// Normalize both longitudes to handle date line crossing
|
|
95
|
+
const normalizedLng1 = CartesianTools.NormalizeLongitude(latLng1.lng);
|
|
96
|
+
const normalizedLng2 = CartesianTools.NormalizeLongitude(adjustedLatLng2Lng + lng);
|
|
56
97
|
isAround =
|
|
57
|
-
CartesianTools.RoundLatLng(
|
|
58
|
-
CartesianTools.RoundLatLng(
|
|
98
|
+
CartesianTools.RoundLatLng(normalizedLng1, cartesianStep.lng, true) ===
|
|
99
|
+
CartesianTools.RoundLatLng(normalizedLng2, cartesianStep.lng, true);
|
|
59
100
|
}
|
|
60
101
|
}
|
|
61
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CartesianTools.js","sourceRoot":"","sources":["../../src/cartesian/CartesianTools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CartesianTools.js","sourceRoot":"","sources":["../../src/cartesian/CartesianTools.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "raain-model",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.38",
|
|
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/RainSpeedMap.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RainSpeed } from './RainSpeed';
|
|
2
|
-
import { CartesianValue, LatLng } from '../cartesian';
|
|
2
|
+
import { CartesianTools, CartesianValue, LatLng } from '../cartesian';
|
|
3
3
|
/**
|
|
4
4
|
* api/rains/:rainId/computations/:rainHistoryId/speeds => RainSpeedMap.map => RainSpeed[]
|
|
5
5
|
*/
|
|
@@ -20,8 +20,30 @@ export declare class RainSpeedMap {
|
|
|
20
20
|
inEarthMap?: boolean;
|
|
21
21
|
strictContaining?: boolean;
|
|
22
22
|
}): RainSpeed | undefined;
|
|
23
|
+
getTrustRatio(point?: LatLng | {
|
|
24
|
+
latitude: number;
|
|
25
|
+
longitude: number;
|
|
26
|
+
} | {
|
|
27
|
+
lat: number;
|
|
28
|
+
lng: number;
|
|
29
|
+
}, options?: {
|
|
30
|
+
inEarthMap?: boolean;
|
|
31
|
+
strictContaining?: boolean;
|
|
32
|
+
}): number;
|
|
23
33
|
transpose(cartesianValue: CartesianValue, diffInMinutes: number, options?: {
|
|
24
34
|
inEarthMap?: boolean;
|
|
25
35
|
strictContaining?: boolean;
|
|
26
36
|
}): CartesianValue;
|
|
37
|
+
protected normalizePoint(point: LatLng | {
|
|
38
|
+
latitude: number;
|
|
39
|
+
longitude: number;
|
|
40
|
+
} | {
|
|
41
|
+
lat: number;
|
|
42
|
+
lng: number;
|
|
43
|
+
}): {
|
|
44
|
+
lat: number;
|
|
45
|
+
lng: number;
|
|
46
|
+
} | undefined;
|
|
47
|
+
protected roundRectangles(rects: [LatLng, LatLng][], cartesianTools: CartesianTools): [LatLng, LatLng][];
|
|
48
|
+
protected findClosestRainSpeed(lat: number, lng: number): RainSpeed | undefined;
|
|
27
49
|
}
|
package/rain/RainSpeedMap.js
CHANGED
|
@@ -16,25 +16,11 @@ class RainSpeedMap {
|
|
|
16
16
|
getRainSpeed(point, options) {
|
|
17
17
|
var _a, _b;
|
|
18
18
|
// normalize input to numbers
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (point instanceof cartesian_1.LatLng) {
|
|
22
|
-
lat = point.lat;
|
|
23
|
-
lng = point.lng;
|
|
24
|
-
}
|
|
25
|
-
else if (typeof (point === null || point === void 0 ? void 0 : point.lat) === 'number' &&
|
|
26
|
-
typeof (point === null || point === void 0 ? void 0 : point.lng) === 'number') {
|
|
27
|
-
lat = point.lat;
|
|
28
|
-
lng = point.lng;
|
|
29
|
-
}
|
|
30
|
-
else if (typeof (point === null || point === void 0 ? void 0 : point.latitude) === 'number' &&
|
|
31
|
-
typeof (point === null || point === void 0 ? void 0 : point.longitude) === 'number') {
|
|
32
|
-
lat = point.latitude;
|
|
33
|
-
lng = point.longitude;
|
|
34
|
-
}
|
|
35
|
-
if (typeof lat !== 'number' || typeof lng !== 'number') {
|
|
19
|
+
const normalized = this.normalizePoint(point);
|
|
20
|
+
if (!normalized) {
|
|
36
21
|
return undefined;
|
|
37
22
|
}
|
|
23
|
+
let { lat, lng } = normalized;
|
|
38
24
|
// Apply earth map rounding if requested
|
|
39
25
|
const cartesianTools = new cartesian_1.CartesianTools();
|
|
40
26
|
if (options === null || options === void 0 ? void 0 : options.inEarthMap) {
|
|
@@ -45,64 +31,44 @@ class RainSpeedMap {
|
|
|
45
31
|
// retrieve the first RainSpeed whose area contains the point
|
|
46
32
|
for (const rs of (_a = this.rainSpeeds) !== null && _a !== void 0 ? _a : []) {
|
|
47
33
|
const rects = (_b = rs === null || rs === void 0 ? void 0 : rs.latLngs) !== null && _b !== void 0 ? _b : [];
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
const r0 = cartesianTools.getLatLngFromEarthMap(r[0]);
|
|
52
|
-
const r1 = cartesianTools.getLatLngFromEarthMap(r[1]);
|
|
53
|
-
return [r0, r1];
|
|
54
|
-
});
|
|
55
|
-
}
|
|
34
|
+
const roundedRects = (options === null || options === void 0 ? void 0 : options.inEarthMap)
|
|
35
|
+
? this.roundRectangles(rects, cartesianTools)
|
|
36
|
+
: rects;
|
|
56
37
|
if (cartesian_1.CartesianTools.IsPointInAnyRect(lat, lng, roundedRects)) {
|
|
57
38
|
return rs;
|
|
58
39
|
}
|
|
59
40
|
}
|
|
60
|
-
// If no containing area found and strictContaining is not true, find closest by center distance
|
|
41
|
+
// If no containing area found and strictContaining is not true, find the closest by center distance
|
|
61
42
|
if ((options === null || options === void 0 ? void 0 : options.strictContaining) !== true) {
|
|
62
|
-
return this.
|
|
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);
|
|
43
|
+
return this.findClosestRainSpeed(lat, lng);
|
|
72
44
|
}
|
|
73
45
|
return undefined;
|
|
74
46
|
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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];
|
|
47
|
+
getTrustRatio(point, options) {
|
|
48
|
+
var _a;
|
|
49
|
+
// When no point is provided, return average trustRatio of all RainSpeeds
|
|
50
|
+
if (point === undefined) {
|
|
51
|
+
if (!this.rainSpeeds || this.rainSpeeds.length === 0) {
|
|
52
|
+
return 0;
|
|
85
53
|
}
|
|
54
|
+
const sum = this.rainSpeeds.reduce((acc, rs) => { var _a; return acc + ((_a = rs.trustRatio) !== null && _a !== void 0 ? _a : 0); }, 0);
|
|
55
|
+
return sum / this.rainSpeeds.length;
|
|
86
56
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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
|
-
}
|
|
57
|
+
// When point is provided, use existing logic
|
|
58
|
+
const rainSpeed = this.getRainSpeed(point, options);
|
|
59
|
+
return (_a = rainSpeed === null || rainSpeed === void 0 ? void 0 : rainSpeed.trustRatio) !== null && _a !== void 0 ? _a : 0;
|
|
60
|
+
}
|
|
61
|
+
transpose(cartesianValue, diffInMinutes, options) {
|
|
62
|
+
// Use getRainSpeed to find the appropriate RainSpeed for this point
|
|
63
|
+
const rainSpeed = this.getRainSpeed(cartesianValue, options);
|
|
100
64
|
if (rainSpeed) {
|
|
101
65
|
return rainSpeed.transpose(cartesianValue, diffInMinutes, options);
|
|
102
66
|
}
|
|
67
|
+
// No RainSpeed found - handle fallback based on inEarthMap option
|
|
103
68
|
if (!(options === null || options === void 0 ? void 0 : options.inEarthMap)) {
|
|
104
69
|
return cartesianValue;
|
|
105
70
|
}
|
|
71
|
+
const cartesianTools = new cartesian_1.CartesianTools();
|
|
106
72
|
const newLatLng = cartesianTools.getLatLngFromEarthMap(cartesianValue);
|
|
107
73
|
return new cartesian_1.CartesianValue({
|
|
108
74
|
value: cartesianValue.value,
|
|
@@ -110,6 +76,47 @@ class RainSpeedMap {
|
|
|
110
76
|
lng: newLatLng.lng,
|
|
111
77
|
});
|
|
112
78
|
}
|
|
79
|
+
normalizePoint(point) {
|
|
80
|
+
let lat;
|
|
81
|
+
let lng;
|
|
82
|
+
if (point instanceof cartesian_1.LatLng) {
|
|
83
|
+
lat = point.lat;
|
|
84
|
+
lng = point.lng;
|
|
85
|
+
}
|
|
86
|
+
else if (typeof (point === null || point === void 0 ? void 0 : point.lat) === 'number' &&
|
|
87
|
+
typeof (point === null || point === void 0 ? void 0 : point.lng) === 'number') {
|
|
88
|
+
lat = point.lat;
|
|
89
|
+
lng = point.lng;
|
|
90
|
+
}
|
|
91
|
+
else if (typeof (point === null || point === void 0 ? void 0 : point.latitude) === 'number' &&
|
|
92
|
+
typeof (point === null || point === void 0 ? void 0 : point.longitude) === 'number') {
|
|
93
|
+
lat = point.latitude;
|
|
94
|
+
lng = point.longitude;
|
|
95
|
+
}
|
|
96
|
+
if (typeof lat !== 'number' || typeof lng !== 'number') {
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
return { lat, lng };
|
|
100
|
+
}
|
|
101
|
+
roundRectangles(rects, cartesianTools) {
|
|
102
|
+
return rects.map((r) => {
|
|
103
|
+
const r0 = cartesianTools.getLatLngFromEarthMap(r[0]);
|
|
104
|
+
const r1 = cartesianTools.getLatLngFromEarthMap(r[1]);
|
|
105
|
+
return [r0, r1];
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
findClosestRainSpeed(lat, lng) {
|
|
109
|
+
return this.rainSpeeds.reduce((closest, current) => {
|
|
110
|
+
if (!closest) {
|
|
111
|
+
return current;
|
|
112
|
+
}
|
|
113
|
+
const currentCenter = current.getCenter();
|
|
114
|
+
const closestCenter = closest.getCenter();
|
|
115
|
+
const currentDistance = cartesian_1.CartesianTools.GetDistanceFromLatLngInKm(new cartesian_1.LatLng({ lat, lng }), currentCenter);
|
|
116
|
+
const closestDistance = cartesian_1.CartesianTools.GetDistanceFromLatLngInKm(new cartesian_1.LatLng({ lat, lng }), closestCenter);
|
|
117
|
+
return currentDistance < closestDistance ? current : closest;
|
|
118
|
+
}, undefined);
|
|
119
|
+
}
|
|
113
120
|
}
|
|
114
121
|
exports.RainSpeedMap = RainSpeedMap;
|
|
115
122
|
//# sourceMappingURL=RainSpeedMap.js.map
|
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;
|
|
1
|
+
{"version":3,"file":"RainSpeedMap.js","sourceRoot":"","sources":["../../src/rain/RainSpeedMap.ts"],"names":[],"mappings":"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"}
|