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 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.13...HEAD
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,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.14' };
4
+ exports.bpInfo = { version: 'v3.0.15' };
5
5
  //# sourceMappingURL=bpInfo.js.map
@@ -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, earthMap?: EarthMap);
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
- buildLatLngEarthMap(): EarthMap;
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, earthMap = undefined) {
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
- if (!this.earthMap) {
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 = this.earthMap.latitudeLongitudeScales[posLat];
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
- if (!this.earthMap) {
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 = this.earthMap.latitudes[posLat];
247
- const latitudeLongitudeScale = this.earthMap.latitudeLongitudeScales[posLat];
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
- if (this.earthMap) {
254
- delete this.earthMap;
255
- }
256
- this.earthMap = undefined;
257
- const earthMap = {
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":";;;AAAA,qCAAgC;AAEhC,yCAAoC;AAGpC,MAAa,cAAc;IAIvB,YAAmB,QAAQ,cAAc,CAAC,aAAa;QAApC,UAAK,GAAL,KAAK,CAA+B;IAAG,CAAC;IAEpD,MAAM,CAAC,WAAW,CACrB,QAAgB,EAChB,KAAK,GAAG,cAAc,CAAC,aAAa,EACpC,aAAa,GAAG,KAAK;QAErB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;QACpD,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,OAAO,UAAU,CAAC,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3D,gBAAgB;QAChB,yBAAyB;QACzB,0CAA0C;QAC1C,wDAAwD;QACxD,WAAW;QACX,mDAAmD;QACnD,IAAI;QACJ,8CAA8C;QAC9C,mDAAmD;QACnD,4BAA4B;IAChC,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,MAAkC;QACzD,MAAM,OAAO,GAAG,IAAI,eAAM,CAAC,MAAM,CAAC,CAAC;QACnC,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAAC,QAAgB,EAAE,SAAS,GAAG,EAAE;QAC7D,OAAO,UAAU,CAAC,UAAU,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IACxE,CAAC;IAEM,MAAM,CAAC,cAAc,CACxB,SAAiB,EACjB,SAAiB,EACjB,aAAa,GAAG,cAAc,CAAC,aAAa;QAE5C,OAAO,CACH,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC;YAC1D,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAC7D,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,cAAc,CACxB,YAAoB,EACpB,YAAoB,EACpB,SAAiB,EACjB,aAAa,GAAG,cAAc,CAAC,aAAa;QAE5C,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,GAAG,GAAG,CAAC,SAAS,GAAG,aAAa,EAClC,GAAG,GAAG,SAAS,GAAG,aAAa,CAAC;QACpC,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,QAAQ,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI,aAAa,EAAE,CAAC;YAChE,KAAK,IAAI,GAAG,GAAG,GAAG,EAAE,CAAC,QAAQ,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI,aAAa,EAAE,CAAC;gBAChE,QAAQ;oBACJ,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC;wBACjE,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;gBAC5E,IAAI,QAAQ,EAAE,CAAC;oBACX,QAAQ;wBACJ,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC;4BACjE,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;gBAChF,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEM,MAAM,CAAC,iBAAiB,CAC3B,YAAoB,EACpB,YAAoB,EACpB,SAAiB,EACjB,aAAa,GAAG,cAAc,CAAC,aAAa;QAE5C,MAAM,GAAG,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;QAEvD,IAAI,KAAK,GACL,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC;YACvD,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,EAAE,aAAa,CAAC;YACrE,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC;gBACvD,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,EAAE,aAAa,CAAC,CAAC;QAC1E,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,KAAK;gBACD,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC;oBACvD,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,EAAE,aAAa,CAAC;oBACrE,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC;wBACvD,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,EAAE,aAAa,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,gBAAwB;QAC3C,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IAC9C,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,cAAsB;QAC9C,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,eAAiC;QAC3D,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrE,OAAO,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,eAAiC;QAC3D,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrE,OAAO,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAAC,eAAiC,EAAE,MAAM,GAAG,OAAO;QAChF,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CACP,8CAA8C,EAC9C,eAAe,CAAC,MAAM,EACtB,cAAc,CAAC,aAAa,EAC5B,iBAAiB,CACpB,CAAC;QACF,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,cAAc,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,cAAc,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QAEjE,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE;YACzB,OAAO,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE;YACzB,OAAO,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,MAAM,YAAY,GAAG,CAAC,CAAC,EAAE,EAAE;YACvB,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAC1C,CAAC,CAAC;QAEF,KAAK,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,KAAK,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAC;gBACvB,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,EAAC,GAAG,EAAE,GAAG,EAAC,CAAC,CAAC;gBACtC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBACxB,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;gBACjB,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;gBACjB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC;YACD,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;QACxC,CAAC;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,IAAI,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC7D,KAAK,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAClF,CAAC;YAED,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;QAC/D,CAAC;QAED,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,CAAW;QAC7B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,CAAW;QAC7B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,yBAAyB,CAAC,OAAe,EAAE,OAAe;QACpE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,4BAA4B;QAC5C,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAChE,MAAM,CAAC,GACH,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC9C,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;gBAClB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB;IACnC,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,OAAe,EAAE,OAAe;QAC3D,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,kCAAkC;QACvD,MAAM,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,6BAA6B;QAC1D,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,0BAA0B;QAEpD,MAAM,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAE3B,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,OAAe,CAAC;QACpB,IAAI,SAAS,GAAG,GAAG,CAAC;QACpB,IAAI,UAAkB,EAClB,QAAgB,EAChB,UAAkB,EAClB,QAAgB,EAChB,KAAa,EACb,SAAiB,EACjB,SAAiB,EACjB,QAAgB,CAAC;QAErB,GAAG,CAAC;YACA,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7B,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAChB,KAAK,GAAG,SAAS,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC;gBACnC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;oBACvC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,CACtD,CAAC;YAEF,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACjB,OAAO,CAAC,CAAC;YACb,CAAC,CAAC,qBAAqB;YAEvB,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;YACrD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACvC,QAAQ,GAAG,CAAC,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC,GAAG,QAAQ,CAAC;YAClD,UAAU,GAAG,CAAC,GAAG,QAAQ,GAAG,QAAQ,CAAC;YACrC,UAAU,GAAG,QAAQ,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC;YAEzD,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBACpB,UAAU,GAAG,CAAC,CAAC;YACnB,CAAC,CAAC,kBAAkB;YAEpB,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;YACjE,OAAO,GAAG,MAAM,CAAC;YACjB,MAAM;gBACF,CAAC;oBACD,CAAC,CAAC,GAAG,CAAC,CAAC;wBACH,CAAC;wBACD,QAAQ;wBACR,CAAC,KAAK;4BACF,CAAC;gCACG,QAAQ;gCACR,CAAC,UAAU,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACtF,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,KAAK,IAAI,EAAE,SAAS,GAAG,CAAC,EAAE;QAEhE,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YAClB,OAAO,GAAG,CAAC;QACf,CAAC,CAAC,6BAA6B;QAE/B,MAAM,GAAG,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9E,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAEtE,MAAM,UAAU,GACZ,CAAC;YACD,QAAQ;YACR,CAAC,UAAU;gBACP,CAAC,CAAC,GAAG,CAAC,CAAC;oBACH,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,UAAU,CAAC;wBAC1C,CAAC,CAAC,GAAG,CAAC,CAAC;4BACH,UAAU;4BACV,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,QAAQ,CAAC;4BAC9B,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAEzD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC;QAEvC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,yBAAyB;IAC9C,CAAC;IAEM,MAAM,CAAC,oBAAoB,CAAC,WAAqB;QACpD,MAAM,WAAW,GAAG,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAE/D,OAAO,IAAI,eAAM,CAAC;YACd,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG;YACvE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG;SAC1E,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,WAAqB;QAC9C,IAAI,MAAc,EAAE,MAAc,EAAE,MAAc,EAAE,MAAc,CAAC;QACnE,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,GAAG,IAAI,CAAC,GAAG,CACb,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,GAAG,EACT,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CACrD,CAAC;YACF,MAAM,GAAG,IAAI,CAAC,GAAG,CACb,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,GAAG,EACT,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CACrD,CAAC;YACF,MAAM,GAAG,IAAI,CAAC,GAAG,CACb,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,GAAG,EACT,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CACrD,CAAC;YACF,MAAM,GAAG,IAAI,CAAC,GAAG,CACb,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,GAAG,EACT,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CACrD,CAAC;QACN,CAAC;QAED,OAAO,CAAC,IAAI,eAAM,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAC,CAAC,EAAE,IAAI,eAAM,CAAC,EAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAES,MAAM,CAAC,aAAa,CAAC,GAAW;QACtC,MAAM,KAAK,GAAG,GAAG,CAAC;QAClB,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACZ,OAAO,EAAE,GAAG,KAAK,CAAC;QACtB,CAAC;aAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,GAAG,GAAG,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,GAAG,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,cAAc,CAAC,MAAc,EAAE,YAAY,GAAG,CAAC;QAClD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;QACnC,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,GAAG,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;QACnC,CAAC;QACD,MAAM,OAAO,GAAG,cAAc,CAAC,gBAAgB,CAC3C,IAAI,eAAM,CAAC,EAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAC,CAAC,EACrC,IAAI,eAAM,CAAC,EAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAC,CAAC,CAClC,CAAC;QACF,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,IAAI,OAAe,CAAC;QACpB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC;YACtE,KAAK,GAAG,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,cAAc,CAAC,gBAAgB,CAC3C,IAAI,eAAM,CAAC,EAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,EAAC,CAAC,EAC/B,IAAI,eAAM,CAAC,EAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAC,CAAC,CACtC,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;gBACjD,OAAO,GAAG,KAAK,CAAC;gBAChB,QAAQ,GAAG,KAAK,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACJ,MAAM;YACV,CAAC;QACL,CAAC;QAED,MAAM,GAAG,GAAG,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,cAAc,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACxD,OAAO,IAAI,eAAM,CAAC,EAAC,GAAG,EAAE,GAAG,EAAC,CAAC,CAAC;IAClC,CAAC;IAEM,uBAAuB,CAAC,UAAkB;QAC7C,MAAM,QAAQ,GAAG,mBAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,sBAAsB,GAAG,QAAQ,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACxE,OAAO,IAAI,eAAM,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,sBAAsB,EAAC,CAAC,CAAC;IACtE,CAAC;IAEM,qBAAqB,CAAC,UAAkB;QAC3C,MAAM,QAAQ,GAAG,mBAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,sBAAsB,GAAG,QAAQ,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAExE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,GAAG,sBAAsB,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,cAAc,CAAC,kBAAkB,CAAC,MAAM,GAAG,sBAAsB,CAAC,CAAC;QAE/E,OAAO,IAAI,eAAM,CAAC,EAAC,GAAG,EAAE,GAAG,EAAC,CAAC,CAAC;IAClC,CAAC;IAEM,2BAA2B,CAAC,SAAiB,EAAE,MAAc;QAChE,MAAM,WAAW,GAAG,SAAS,GAAG,CAAC,CAAC;QAElC,gEAAgE;QAChE,uEAAuE;QACvE,MAAM,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;QAErC,gDAAgD;QAChD,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC;QAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC;QAE1C,0EAA0E;QAC1E,wFAAwF;QACxF,qFAAqF;QACrF,MAAM,OAAO,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEvF,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC;QAC1C,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC;QAE1C,6CAA6C;QAC7C,MAAM,YAAY,GAAG,IAAI,eAAM,CAAC;YAC5B,GAAG,EAAE,YAAY;YACjB,GAAG,EAAE,YAAY;SACpB,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,eAAM,CAAC;YAC5B,GAAG,EAAE,YAAY;YACjB,GAAG,EAAE,YAAY;SACpB,CAAC,CAAC;QAEH,yFAAyF;QACzF,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAE3D,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAClC,CAAC;IAEM,6BAA6B,CAAC,QAAkB,EAAE,SAAiB;QACtE,MAAM,WAAW,GAAG,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QACtF,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC7D,CAAC;IAES,mBAAmB;QACzB,+BAA+B;QAC/B,mBAAQ,CAAC,KAAK,EAAE,CAAC;QAEjB,6DAA6D;QAC7D,qEAAqE;QACrE,OAAO,mBAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;;AAnaL,wCAoaC;AAnaG,mFAAmF;AACrE,4BAAa,GAAG,IAAI,CAAC"}
@@ -1,5 +1,14 @@
1
- export interface EarthMap {
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
  }
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "raain-model",
3
- "version": "3.0.14",
3
+ "version": "3.0.15",
4
4
  "author": "contact@radartorain.com",
5
5
  "homepage": "https://github.com/raainio/raain-model",
6
6
  "description": "radartorain.com api model",
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
- let latMax, lngMax, latMin, lngMin;
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
- let latMax, lngMax, latMin, lngMin;
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
- // TODO put a default latLngRectsAsJSON based on cartesianTools earth ?
232
- if ((radars === null || radars === void 0 ? void 0 : radars.length) && (!this.latLngRectsAsJSON || this.latLngRectsAsJSON === '[]')) {
233
- const latLngRects = [];
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 + 1, lng: radarNode.longitude - 1 }),
238
- new cartesian_1.LatLng({ lat: radarNode.latitude - 1, lng: radarNode.longitude + 1 }),
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;
@@ -1 +1 @@
1
- {"version":3,"file":"RainNode.js","sourceRoot":"","sources":["../../src/rain/RainNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RainNode.js","sourceRoot":"","sources":["../../src/rain/RainNode.ts"],"names":[],"mappings":"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"}