raain-model 3.0.14 → 3.0.15
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 +24 -1
- package/bpInfo.js +1 -1
- package/cartesian/CartesianTools.d.ts +7 -3
- package/cartesian/CartesianTools.js +63 -31
- package/cartesian/CartesianTools.js.map +1 -1
- package/cartesian/EarthMap.d.ts +10 -1
- package/cartesian/EarthMap.js +43 -0
- package/cartesian/EarthMap.js.map +1 -1
- package/package.json +1 -1
- package/rain/RainNode.js +27 -42
- package/rain/RainNode.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [3.0.15] - 2025-06-30
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Added new methods to CartesianTools:
|
|
15
|
+
- GetLatLngRectsCenter: Calculates the center of a set of LatLng rectangles
|
|
16
|
+
- GetLimitPoints: Gets the boundary points of a set of LatLng rectangles
|
|
17
|
+
- getSquareFromWidthAndCenter: Creates a square of specified width around a center point
|
|
18
|
+
- adjustRainNodeWithSquareWidth: Adjusts a RainNode with a square of specified width
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- Refactored EarthMap from interface to class with singleton pattern
|
|
23
|
+
- Improved RainNode to use CartesianTools methods for center and limit point calculations
|
|
24
|
+
- Enhanced setDefaultLatLng in RainNode to handle cases with and without radars
|
|
25
|
+
- Updated tests to verify new functionality
|
|
26
|
+
|
|
27
|
+
## [3.0.14] - 2025-06-22
|
|
28
|
+
|
|
10
29
|
### Added
|
|
11
30
|
|
|
12
31
|
- Added static `Duplicate()` method to PolarMeasureValueMap class for creating copies of polar measure value maps
|
|
@@ -340,7 +359,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
340
359
|
- Initial release
|
|
341
360
|
- First extracts from RAAIN services
|
|
342
361
|
|
|
343
|
-
[Unreleased]: https://github.com/raainio/raain-model/compare/v3.0.
|
|
362
|
+
[Unreleased]: https://github.com/raainio/raain-model/compare/v3.0.15...HEAD
|
|
363
|
+
|
|
364
|
+
[3.0.15]: https://github.com/raainio/raain-model/compare/v3.0.14...v3.0.15
|
|
365
|
+
|
|
366
|
+
[3.0.14]: https://github.com/raainio/raain-model/compare/v3.0.13...v3.0.14
|
|
344
367
|
|
|
345
368
|
[3.0.13]: https://github.com/raainio/raain-model/compare/v3.0.12...v3.0.13
|
|
346
369
|
|
package/bpInfo.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { LatLng } from './LatLng';
|
|
2
2
|
import { CartesianValue } from './CartesianValue';
|
|
3
3
|
import { EarthMap } from './EarthMap';
|
|
4
|
+
import { RainNode } from '../rain';
|
|
4
5
|
export declare class CartesianTools {
|
|
5
6
|
scale: number;
|
|
6
|
-
earthMap: EarthMap;
|
|
7
7
|
static DEFAULT_SCALE: number;
|
|
8
|
-
constructor(scale?: number
|
|
8
|
+
constructor(scale?: number);
|
|
9
9
|
static RoundLatLng(latOrLng: number, scale?: number, needPrecision?: boolean): number;
|
|
10
10
|
static CreateLatLng(latLng: {
|
|
11
11
|
lat: number;
|
|
@@ -24,9 +24,13 @@ export declare class CartesianTools {
|
|
|
24
24
|
static UniqStr(a: number[]): number[];
|
|
25
25
|
static GetDistanceFromLatLngInKm(latLng1: LatLng, latLng2: LatLng): number;
|
|
26
26
|
static VincentyDistance(latLng1: LatLng, latLng2: LatLng): number;
|
|
27
|
+
static GetLatLngRectsCenter(latLngRects: LatLng[]): LatLng;
|
|
28
|
+
static GetLimitPoints(latLngRects: LatLng[]): [LatLng, LatLng];
|
|
27
29
|
protected static LabelWithSign(val: number): string;
|
|
28
30
|
getScaleLatLng(latLng: LatLng, latDirection?: number): LatLng;
|
|
29
31
|
getScaleLatLngFromEarth(fromLatLng: LatLng): LatLng;
|
|
30
32
|
getLatLngFromEarthMap(fromLatLng: LatLng): LatLng;
|
|
31
|
-
|
|
33
|
+
getSquareFromWidthAndCenter(widthInKm: number, center: LatLng): [LatLng, LatLng];
|
|
34
|
+
adjustRainNodeWithSquareWidth(rainNode: RainNode, widthInKm: number): void;
|
|
35
|
+
protected buildLatLngEarthMap(): EarthMap;
|
|
32
36
|
}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CartesianTools = void 0;
|
|
4
4
|
const LatLng_1 = require("./LatLng");
|
|
5
|
+
const EarthMap_1 = require("./EarthMap");
|
|
5
6
|
class CartesianTools {
|
|
6
|
-
constructor(scale = CartesianTools.DEFAULT_SCALE
|
|
7
|
+
constructor(scale = CartesianTools.DEFAULT_SCALE) {
|
|
7
8
|
this.scale = scale;
|
|
8
|
-
this.earthMap = earthMap;
|
|
9
9
|
}
|
|
10
10
|
static RoundLatLng(latOrLng, scale = CartesianTools.DEFAULT_SCALE, needPrecision = false) {
|
|
11
11
|
const result = Math.round(latOrLng / scale) * scale;
|
|
@@ -196,6 +196,25 @@ class CartesianTools {
|
|
|
196
196
|
const s = b * A * (sigma - deltaSigma);
|
|
197
197
|
return s / 1000; // distance in kilometers
|
|
198
198
|
}
|
|
199
|
+
static GetLatLngRectsCenter(latLngRects) {
|
|
200
|
+
const limitPoints = CartesianTools.GetLimitPoints(latLngRects);
|
|
201
|
+
return new LatLng_1.LatLng({
|
|
202
|
+
lat: (limitPoints[1].lat - limitPoints[0].lat) / 2 + limitPoints[0].lat,
|
|
203
|
+
lng: (limitPoints[1].lng - limitPoints[0].lng) / 2 + limitPoints[0].lng,
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
static GetLimitPoints(latLngRects) {
|
|
207
|
+
let latMax, lngMax, latMin, lngMin;
|
|
208
|
+
for (const rect of latLngRects) {
|
|
209
|
+
const rectA = rect[0];
|
|
210
|
+
const rectB = rect[1];
|
|
211
|
+
latMax = Math.max(rectA.lat, rectB.lat, typeof latMax !== 'undefined' ? latMax : rectA.lat);
|
|
212
|
+
lngMin = Math.min(rectA.lng, rectB.lng, typeof lngMin !== 'undefined' ? lngMin : rectA.lng);
|
|
213
|
+
latMin = Math.min(rectA.lat, rectB.lat, typeof latMin !== 'undefined' ? latMin : rectB.lat);
|
|
214
|
+
lngMax = Math.max(rectA.lng, rectB.lng, typeof lngMax !== 'undefined' ? lngMax : rectB.lng);
|
|
215
|
+
}
|
|
216
|
+
return [new LatLng_1.LatLng({ lat: latMin, lng: lngMin }), new LatLng_1.LatLng({ lat: latMax, lng: lngMax })];
|
|
217
|
+
}
|
|
199
218
|
static LabelWithSign(val) {
|
|
200
219
|
const value = val;
|
|
201
220
|
if (value < 0) {
|
|
@@ -231,45 +250,58 @@ class CartesianTools {
|
|
|
231
250
|
return new LatLng_1.LatLng({ lat, lng });
|
|
232
251
|
}
|
|
233
252
|
getScaleLatLngFromEarth(fromLatLng) {
|
|
234
|
-
|
|
235
|
-
return null;
|
|
236
|
-
}
|
|
253
|
+
const earthMap = EarthMap_1.EarthMap.initialize(this);
|
|
237
254
|
const posLat = Math.round((90 + fromLatLng.lat) / this.scale);
|
|
238
|
-
const latitudeLongitudeScale =
|
|
255
|
+
const latitudeLongitudeScale = earthMap.latitudeLongitudeScales[posLat];
|
|
239
256
|
return new LatLng_1.LatLng({ lat: this.scale, lng: latitudeLongitudeScale });
|
|
240
257
|
}
|
|
241
258
|
getLatLngFromEarthMap(fromLatLng) {
|
|
242
|
-
|
|
243
|
-
return null;
|
|
244
|
-
}
|
|
259
|
+
const earthMap = EarthMap_1.EarthMap.initialize(this);
|
|
245
260
|
const posLat = Math.round((90 + fromLatLng.lat) / this.scale);
|
|
246
|
-
const lat =
|
|
247
|
-
const latitudeLongitudeScale =
|
|
261
|
+
const lat = earthMap.latitudes[posLat];
|
|
262
|
+
const latitudeLongitudeScale = earthMap.latitudeLongitudeScales[posLat];
|
|
248
263
|
const lngPos = Math.round(fromLatLng.lng / latitudeLongitudeScale);
|
|
249
264
|
const lng = CartesianTools.LimitWithPrecision(lngPos * latitudeLongitudeScale);
|
|
250
265
|
return new LatLng_1.LatLng({ lat, lng });
|
|
251
266
|
}
|
|
267
|
+
getSquareFromWidthAndCenter(widthInKm, center) {
|
|
268
|
+
const halfWidthKm = widthInKm / 2;
|
|
269
|
+
// Calculate the distance in latitude degrees for half the width
|
|
270
|
+
// We use the fact that 1 degree of latitude is approximately 111.32 km
|
|
271
|
+
const latDiff = halfWidthKm / 111.32;
|
|
272
|
+
// Calculate the southwest and northeast corners
|
|
273
|
+
const southWestLat = center.lat - latDiff;
|
|
274
|
+
const northEastLat = center.lat + latDiff;
|
|
275
|
+
// Calculate the longitude difference based on the latitude-specific scale
|
|
276
|
+
// We use the fact that at the equator, 1 degree of longitude is approximately 111.32 km
|
|
277
|
+
// But this decreases as we move away from the equator, proportional to cos(latitude)
|
|
278
|
+
const lngDiff = halfWidthKm / (111.32 * Math.cos(CartesianTools.DegToRad(center.lat)));
|
|
279
|
+
const southWestLng = center.lng - lngDiff;
|
|
280
|
+
const northEastLng = center.lng + lngDiff;
|
|
281
|
+
// Create raw southwest and northeast corners
|
|
282
|
+
const rawSouthWest = new LatLng_1.LatLng({
|
|
283
|
+
lat: southWestLat,
|
|
284
|
+
lng: southWestLng,
|
|
285
|
+
});
|
|
286
|
+
const rawNorthEast = new LatLng_1.LatLng({
|
|
287
|
+
lat: northEastLat,
|
|
288
|
+
lng: northEastLng,
|
|
289
|
+
});
|
|
290
|
+
// Use getLatLngFromEarthMap to get the final coordinates aligned with the earth map grid
|
|
291
|
+
const southWest = this.getLatLngFromEarthMap(rawSouthWest);
|
|
292
|
+
const northEast = this.getLatLngFromEarthMap(rawNorthEast);
|
|
293
|
+
return [southWest, northEast];
|
|
294
|
+
}
|
|
295
|
+
adjustRainNodeWithSquareWidth(rainNode, widthInKm) {
|
|
296
|
+
const latLngRects = this.getSquareFromWidthAndCenter(widthInKm, rainNode.getCenter());
|
|
297
|
+
rainNode.latLngRectsAsJSON = JSON.stringify(latLngRects);
|
|
298
|
+
}
|
|
252
299
|
buildLatLngEarthMap() {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
latitudes: [],
|
|
259
|
-
latitudeScale: this.scale,
|
|
260
|
-
latitudeLongitudeScales: [],
|
|
261
|
-
};
|
|
262
|
-
for (let lat = -90; lat <= 90; lat += this.scale) {
|
|
263
|
-
lat = CartesianTools.LimitWithPrecision(lat);
|
|
264
|
-
earthMap.latitudes.push(lat);
|
|
265
|
-
let direction = 1;
|
|
266
|
-
if (lat > 0) {
|
|
267
|
-
direction = -1;
|
|
268
|
-
}
|
|
269
|
-
earthMap.latitudeLongitudeScales.push(this.getScaleLatLng(new LatLng_1.LatLng({ lat, lng: 0 }), direction).lng);
|
|
270
|
-
}
|
|
271
|
-
this.earthMap = earthMap;
|
|
272
|
-
return earthMap;
|
|
300
|
+
// Reset the singleton instance
|
|
301
|
+
EarthMap_1.EarthMap.reset();
|
|
302
|
+
// Initialize the singleton with this CartesianTools instance
|
|
303
|
+
// The initialize method will build the latitude and longitude scales
|
|
304
|
+
return EarthMap_1.EarthMap.initialize(this);
|
|
273
305
|
}
|
|
274
306
|
}
|
|
275
307
|
exports.CartesianTools = CartesianTools;
|
|
@@ -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/cartesian/EarthMap.d.ts
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
|
-
|
|
1
|
+
import { CartesianTools } from './CartesianTools';
|
|
2
|
+
export declare class EarthMap {
|
|
3
|
+
private static instance;
|
|
2
4
|
latitudeScale: number;
|
|
3
5
|
latitudes: number[];
|
|
4
6
|
latitudeLongitudeScales: number[];
|
|
7
|
+
private constructor();
|
|
8
|
+
static getInstance(): EarthMap;
|
|
9
|
+
static initialize(cartesianTools: CartesianTools): EarthMap;
|
|
10
|
+
/**
|
|
11
|
+
* Reset the EarthMap instance
|
|
12
|
+
*/
|
|
13
|
+
static reset(): void;
|
|
5
14
|
}
|
package/cartesian/EarthMap.js
CHANGED
|
@@ -1,3 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EarthMap = void 0;
|
|
4
|
+
const LatLng_1 = require("./LatLng");
|
|
5
|
+
const CartesianTools_1 = require("./CartesianTools");
|
|
6
|
+
class EarthMap {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.latitudes = [];
|
|
9
|
+
this.latitudeLongitudeScales = [];
|
|
10
|
+
this.latitudeScale = CartesianTools_1.CartesianTools.DEFAULT_SCALE;
|
|
11
|
+
}
|
|
12
|
+
static getInstance() {
|
|
13
|
+
if (!EarthMap.instance) {
|
|
14
|
+
EarthMap.instance = new EarthMap();
|
|
15
|
+
}
|
|
16
|
+
return EarthMap.instance;
|
|
17
|
+
}
|
|
18
|
+
static initialize(cartesianTools) {
|
|
19
|
+
const instance = EarthMap.getInstance();
|
|
20
|
+
if (instance.latitudes.length) {
|
|
21
|
+
return instance;
|
|
22
|
+
}
|
|
23
|
+
instance.latitudes = [];
|
|
24
|
+
instance.latitudeLongitudeScales = [];
|
|
25
|
+
instance.latitudeScale = cartesianTools.scale;
|
|
26
|
+
// Build the latitude and longitude scales
|
|
27
|
+
for (let lat = -90; lat <= 90; lat += cartesianTools.scale) {
|
|
28
|
+
lat = CartesianTools_1.CartesianTools.LimitWithPrecision(lat);
|
|
29
|
+
instance.latitudes.push(lat);
|
|
30
|
+
let direction = 1;
|
|
31
|
+
if (lat > 0) {
|
|
32
|
+
direction = -1;
|
|
33
|
+
}
|
|
34
|
+
instance.latitudeLongitudeScales.push(cartesianTools.getScaleLatLng(new LatLng_1.LatLng({ lat, lng: 0 }), direction).lng);
|
|
35
|
+
}
|
|
36
|
+
return instance;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Reset the EarthMap instance
|
|
40
|
+
*/
|
|
41
|
+
static reset() {
|
|
42
|
+
EarthMap.instance = null;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.EarthMap = EarthMap;
|
|
3
46
|
//# sourceMappingURL=EarthMap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EarthMap.js","sourceRoot":"","sources":["../../src/cartesian/EarthMap.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"EarthMap.js","sourceRoot":"","sources":["../../src/cartesian/EarthMap.ts"],"names":[],"mappings":";;;AAAA,qCAAgC;AAChC,qDAAgD;AAEhD,MAAa,QAAQ;IAOjB;QACI,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,+BAAc,CAAC,aAAa,CAAC;IACtD,CAAC;IAEM,MAAM,CAAC,WAAW;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACrB,QAAQ,CAAC,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QACvC,CAAC;QACD,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,cAA8B;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAExC,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,QAAQ,CAAC,SAAS,GAAG,EAAE,CAAC;QACxB,QAAQ,CAAC,uBAAuB,GAAG,EAAE,CAAC;QACtC,QAAQ,CAAC,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC;QAE9C,0CAA0C;QAC1C,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;YACzD,GAAG,GAAG,+BAAc,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC7C,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;gBACV,SAAS,GAAG,CAAC,CAAC,CAAC;YACnB,CAAC;YACD,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CACjC,cAAc,CAAC,cAAc,CAAC,IAAI,eAAM,CAAC,EAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAC,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,CAC1E,CAAC;QACN,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK;QACf,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC7B,CAAC;CACJ;AArDD,4BAqDC"}
|
package/package.json
CHANGED
package/rain/RainNode.js
CHANGED
|
@@ -144,51 +144,19 @@ class RainNode extends organization_1.RaainNode {
|
|
|
144
144
|
}
|
|
145
145
|
getCenter() {
|
|
146
146
|
let center = new cartesian_1.LatLng({ lat: 0, lng: 0 });
|
|
147
|
-
this.setDefaultLatLng(this['radars']);
|
|
147
|
+
this.setDefaultLatLng(this['radars'], center);
|
|
148
148
|
if (this.latLngRectsAsJSON && this.latLngRectsAsJSON !== '[]') {
|
|
149
149
|
const rects = JSON.parse(this.latLngRectsAsJSON);
|
|
150
|
-
|
|
151
|
-
for (const rect of rects) {
|
|
152
|
-
const topLeft = rect[0];
|
|
153
|
-
const bottomRight = rect[1];
|
|
154
|
-
latMax =
|
|
155
|
-
typeof latMax === 'undefined' ? topLeft.lat : Math.max(topLeft.lat, latMax);
|
|
156
|
-
lngMin =
|
|
157
|
-
typeof lngMin === 'undefined' ? topLeft.lng : Math.min(topLeft.lng, lngMin);
|
|
158
|
-
latMin =
|
|
159
|
-
typeof latMin === 'undefined'
|
|
160
|
-
? bottomRight.lat
|
|
161
|
-
: Math.min(bottomRight.lat, latMin);
|
|
162
|
-
lngMax =
|
|
163
|
-
typeof lngMax === 'undefined'
|
|
164
|
-
? bottomRight.lng
|
|
165
|
-
: Math.max(bottomRight.lng, lngMax);
|
|
166
|
-
}
|
|
167
|
-
center = new cartesian_1.LatLng({
|
|
168
|
-
lat: (latMax - latMin) / 2 + latMin,
|
|
169
|
-
lng: (lngMax - lngMin) / 2 + lngMin,
|
|
170
|
-
});
|
|
150
|
+
center = cartesian_1.CartesianTools.GetLatLngRectsCenter(rects);
|
|
171
151
|
}
|
|
172
152
|
return center;
|
|
173
153
|
}
|
|
174
154
|
getLimitPoints() {
|
|
175
155
|
let limitPoints;
|
|
176
|
-
this.setDefaultLatLng(this['radars']);
|
|
156
|
+
this.setDefaultLatLng(this['radars'], this.getCenter());
|
|
177
157
|
if (this.latLngRectsAsJSON && this.latLngRectsAsJSON !== '[]') {
|
|
178
158
|
const rects = JSON.parse(this.latLngRectsAsJSON);
|
|
179
|
-
|
|
180
|
-
for (const rect of rects) {
|
|
181
|
-
const rectA = rect[0];
|
|
182
|
-
const rectB = rect[1];
|
|
183
|
-
latMax = Math.max(rectA.lat, rectB.lat, typeof latMax !== 'undefined' ? latMax : rectA.lat);
|
|
184
|
-
lngMin = Math.min(rectA.lng, rectB.lng, typeof lngMin !== 'undefined' ? lngMin : rectA.lng);
|
|
185
|
-
latMin = Math.min(rectA.lat, rectB.lat, typeof latMin !== 'undefined' ? latMin : rectB.lat);
|
|
186
|
-
lngMax = Math.max(rectA.lng, rectB.lng, typeof lngMax !== 'undefined' ? lngMax : rectB.lng);
|
|
187
|
-
}
|
|
188
|
-
limitPoints = [
|
|
189
|
-
new cartesian_1.LatLng({ lat: latMin, lng: lngMin }),
|
|
190
|
-
new cartesian_1.LatLng({ lat: latMax, lng: lngMax }),
|
|
191
|
-
];
|
|
159
|
+
limitPoints = cartesian_1.CartesianTools.GetLimitPoints(rects);
|
|
192
160
|
}
|
|
193
161
|
return limitPoints;
|
|
194
162
|
}
|
|
@@ -227,20 +195,37 @@ class RainNode extends organization_1.RaainNode {
|
|
|
227
195
|
});
|
|
228
196
|
return linksPurified.filter((l) => !!l);
|
|
229
197
|
}
|
|
230
|
-
setDefaultLatLng(radars) {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
198
|
+
setDefaultLatLng(radars, center) {
|
|
199
|
+
if (this.latLngRectsAsJSON && this.latLngRectsAsJSON !== '[]') {
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
const latLngRects = [];
|
|
203
|
+
if (radars === null || radars === void 0 ? void 0 : radars.length) {
|
|
234
204
|
for (const radarNode of radars) {
|
|
235
205
|
if (radarNode instanceof radar_1.RadarNode) {
|
|
236
206
|
latLngRects.push([
|
|
237
|
-
new cartesian_1.LatLng({ lat: radarNode.latitude
|
|
238
|
-
new cartesian_1.LatLng({ lat: radarNode.latitude
|
|
207
|
+
new cartesian_1.LatLng({ lat: radarNode.latitude - 1, lng: radarNode.longitude - 1 }),
|
|
208
|
+
new cartesian_1.LatLng({ lat: radarNode.latitude + 1, lng: radarNode.longitude + 1 }),
|
|
239
209
|
]);
|
|
240
210
|
}
|
|
241
211
|
}
|
|
242
212
|
this.latLngRectsAsJSON = JSON.stringify(latLngRects);
|
|
243
213
|
}
|
|
214
|
+
else if (center) {
|
|
215
|
+
latLngRects.push([
|
|
216
|
+
new cartesian_1.LatLng({
|
|
217
|
+
lat: center.lat + 1,
|
|
218
|
+
lng: center.lat - 1,
|
|
219
|
+
}),
|
|
220
|
+
new cartesian_1.LatLng({
|
|
221
|
+
lat: center.lat - 1,
|
|
222
|
+
lng: center.lat + 1,
|
|
223
|
+
}),
|
|
224
|
+
]);
|
|
225
|
+
}
|
|
226
|
+
if (latLngRects.length) {
|
|
227
|
+
this.latLngRectsAsJSON = JSON.stringify(latLngRects);
|
|
228
|
+
}
|
|
244
229
|
}
|
|
245
230
|
}
|
|
246
231
|
exports.RainNode = RainNode;
|
package/rain/RainNode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RainNode.js","sourceRoot":"","sources":["../../src/rain/RainNode.ts"],"names":[],"mappings":";;;AAAA,kDAA0D;AAC1D,oCAAmC;AACnC,uDAAkD;AAClD,oCAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"RainNode.js","sourceRoot":"","sources":["../../src/rain/RainNode.ts"],"names":[],"mappings":"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"}
|