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 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
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.bpInfo = void 0;
4
- exports.bpInfo = { version: 'v3.0.36' };
4
+ exports.bpInfo = { version: 'v3.0.38' };
5
5
  //# sourceMappingURL=bpInfo.js.map
@@ -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, stepRange: number, cartesianStep?: number): boolean;
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, stepRange, cartesianStep = CartesianTools.DEFAULT_SCALE) {
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 min = -stepRange * cartesianStep, max = stepRange * cartesianStep;
50
- for (let lat = min; !isAround && lat <= max; lat += cartesianStep) {
51
- for (let lng = min; !isAround && lng <= max; lng += cartesianStep) {
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(latLngCenter.lat, cartesianStep, true) ===
54
- CartesianTools.RoundLatLng(latLngAround.lat + lat, cartesianStep, true);
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(latLngCenter.lng, cartesianStep, true) ===
58
- CartesianTools.RoundLatLng(latLngAround.lng + lng, cartesianStep, true);
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.36",
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
+ }
@@ -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
  }
@@ -16,25 +16,11 @@ class RainSpeedMap {
16
16
  getRainSpeed(point, options) {
17
17
  var _a, _b;
18
18
  // normalize input to numbers
19
- let lat;
20
- let lng;
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
- 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
- }
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.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);
43
+ return this.findClosestRainSpeed(lat, lng);
72
44
  }
73
45
  return undefined;
74
46
  }
75
- transpose(cartesianValue, diffInMinutes, options) {
76
- const lat = cartesianValue.lat;
77
- const lng = cartesianValue.lng;
78
- const cartesianTools = new cartesian_1.CartesianTools();
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];
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
- 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
- }
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
@@ -1 +1 @@
1
- {"version":3,"file":"RainSpeedMap.js","sourceRoot":"","sources":["../../src/rain/RainSpeedMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RainSpeedMap.js","sourceRoot":"","sources":["../../src/rain/RainSpeedMap.ts"],"names":[],"mappings":"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"}