raain-ui 1.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.
Files changed (51) hide show
  1. package/README.md +19 -0
  2. package/RELEASE.md +3 -0
  3. package/drawers/CartesianDrawer.d.ts +26 -0
  4. package/drawers/CartesianDrawer.js +73 -0
  5. package/drawers/CartesianDrawerOptimization.d.ts +10 -0
  6. package/drawers/CartesianDrawerOptimization.js +42 -0
  7. package/drawers/CartesianGridValue.d.ts +15 -0
  8. package/drawers/CartesianGridValue.js +25 -0
  9. package/drawers/GridValue.d.ts +12 -0
  10. package/drawers/GridValue.js +75 -0
  11. package/drawers/PolarDrawer.d.ts +28 -0
  12. package/drawers/PolarDrawer.js +187 -0
  13. package/drawers/PolarDrawerOptimization.d.ts +14 -0
  14. package/drawers/PolarDrawerOptimization.js +54 -0
  15. package/drawers/PolarGridValue.d.ts +13 -0
  16. package/drawers/PolarGridValue.js +50 -0
  17. package/factories/ElementsFactory.d.ts +96 -0
  18. package/factories/ElementsFactory.js +762 -0
  19. package/index.d.ts +22 -0
  20. package/index.js +39 -0
  21. package/layers/CartesianLayer.d.ts +24 -0
  22. package/layers/CartesianLayer.js +96 -0
  23. package/layers/CompositeLayer.d.ts +17 -0
  24. package/layers/CompositeLayer.js +69 -0
  25. package/layers/IPixiLayer.d.ts +7 -0
  26. package/layers/IPixiLayer.js +3 -0
  27. package/layers/IPixiUniqueLayer.d.ts +8 -0
  28. package/layers/IPixiUniqueLayer.js +3 -0
  29. package/layers/MarkersLayer.d.ts +16 -0
  30. package/layers/MarkersLayer.js +73 -0
  31. package/layers/PixiGridLayer.d.ts +58 -0
  32. package/layers/PixiGridLayer.js +188 -0
  33. package/layers/PolarLayer.d.ts +26 -0
  34. package/layers/PolarLayer.js +124 -0
  35. package/layers/PolarLayerConfig.d.ts +9 -0
  36. package/layers/PolarLayerConfig.js +32 -0
  37. package/package.json +49 -0
  38. package/timeframes/FrameContainer.d.ts +9 -0
  39. package/timeframes/FrameContainer.js +13 -0
  40. package/timeframes/TimeframeContainer.d.ts +12 -0
  41. package/timeframes/TimeframeContainer.js +34 -0
  42. package/timeframes/TimeframeContainers.d.ts +9 -0
  43. package/timeframes/TimeframeContainers.js +84 -0
  44. package/tools/CartesianMapValue.d.ts +12 -0
  45. package/tools/CartesianMapValue.js +25 -0
  46. package/tools/MapLatLng.d.ts +7 -0
  47. package/tools/MapLatLng.js +14 -0
  48. package/tools/MapTools.d.ts +11 -0
  49. package/tools/MapTools.js +32 -0
  50. package/tools/PolarMapValue.d.ts +21 -0
  51. package/tools/PolarMapValue.js +67 -0
package/README.md ADDED
@@ -0,0 +1,19 @@
1
+ # raain-ui
2
+
3
+ Please read the [specifications](./specs).
4
+
5
+ or try the [example](./example) :
6
+ ```bash
7
+ npm i
8
+ npm run build
9
+ cd example/
10
+ npm start
11
+ ```
12
+ => http://localhost:1234
13
+
14
+ ## History
15
+
16
+ See [Release notes](./RELEASE.md).
17
+
18
+ ## License
19
+ MIT
package/RELEASE.md ADDED
@@ -0,0 +1,3 @@
1
+ # Release notes
2
+
3
+ - v0.0.1 : first extracts from RAAIN
@@ -0,0 +1,26 @@
1
+ import { LatLng, Point } from 'leaflet';
2
+ import { CartesianMapValue } from '../tools/CartesianMapValue';
3
+ import { CartesianGridValue } from './CartesianGridValue';
4
+ import { CartesianDrawerOptimization } from './CartesianDrawerOptimization';
5
+ export declare class CartesianDrawer {
6
+ private cartesianMap2Points;
7
+ private cartesianMap2Display;
8
+ private cartesianMapZoom;
9
+ private type;
10
+ private geoValues;
11
+ private version;
12
+ private optimizations;
13
+ private distanceRatio;
14
+ private centerPoint;
15
+ constructor(cartesianMap2Points: (mapValue: CartesianMapValue) => {
16
+ p1: Point;
17
+ p2: Point;
18
+ }, cartesianMap2Display: (mapValue: CartesianMapValue) => boolean, cartesianMapZoom: () => number, type: string);
19
+ getVersion(): string;
20
+ setConfiguration(theme: number, range: number, optimizations: CartesianDrawerOptimization[]): void;
21
+ getOptimization(): CartesianDrawerOptimization;
22
+ updateValues(geoValues: CartesianMapValue[], version: string): void;
23
+ hasChanged(center: LatLng, centerPoint: Point): boolean;
24
+ renderCartesianMapValues(center: LatLng, centerPoint: Point, drawShape: (gridValue: CartesianGridValue) => boolean): number;
25
+ private getDistanceRatio;
26
+ }
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CartesianDrawer = void 0;
4
+ const leaflet_1 = require("leaflet");
5
+ const CartesianGridValue_1 = require("./CartesianGridValue");
6
+ const MapTools_1 = require("../tools/MapTools");
7
+ const CartesianDrawerOptimization_1 = require("./CartesianDrawerOptimization");
8
+ class CartesianDrawer {
9
+ constructor(cartesianMap2Points, cartesianMap2Display, cartesianMapZoom, type) {
10
+ this.cartesianMap2Points = cartesianMap2Points;
11
+ this.cartesianMap2Display = cartesianMap2Display;
12
+ this.cartesianMapZoom = cartesianMapZoom;
13
+ this.type = type;
14
+ this.geoValues = [];
15
+ this.distanceRatio = 0;
16
+ this.centerPoint = new leaflet_1.Point(0, 0);
17
+ this.optimizations = CartesianDrawerOptimization_1.CartesianDrawerOptimization.Defaults();
18
+ }
19
+ getVersion() {
20
+ return this.version;
21
+ }
22
+ setConfiguration(theme, range, optimizations) {
23
+ this.optimizations = optimizations;
24
+ }
25
+ getOptimization() {
26
+ const optimizations = this.optimizations.filter((o) => {
27
+ return this.type.toLowerCase().indexOf(o.type.toLowerCase()) > 0;
28
+ });
29
+ if (optimizations.length === 1) {
30
+ return optimizations[0];
31
+ }
32
+ console.warn('no optimization found for cartesian drawer - please consider to use one');
33
+ return CartesianDrawerOptimization_1.CartesianDrawerOptimization.Defaults()[0];
34
+ }
35
+ updateValues(geoValues, version) {
36
+ console.log('updateValues', version);
37
+ this.geoValues = geoValues;
38
+ this.version = version;
39
+ }
40
+ hasChanged(center, centerPoint) {
41
+ if (!centerPoint.equals(this.centerPoint)) {
42
+ return true;
43
+ }
44
+ return this.distanceRatio !== this.getDistanceRatio(center);
45
+ }
46
+ renderCartesianMapValues(center, centerPoint, drawShape) {
47
+ let done = 0;
48
+ const distanceRatio = this.getDistanceRatio(center);
49
+ this.distanceRatio = distanceRatio;
50
+ this.centerPoint = centerPoint;
51
+ const optimization = this.getOptimization();
52
+ const filteredValues = optimization.filteringValues(this.cartesianMapZoom(), this.geoValues, this.cartesianMap2Display);
53
+ for (const mapValue of filteredValues) {
54
+ if (done > optimization.hardLimit) {
55
+ console.log('hard limit reached ', optimization === null || optimization === void 0 ? void 0 : optimization.hardLimit);
56
+ break;
57
+ }
58
+ const points = this.cartesianMap2Points(mapValue);
59
+ const gridValue = CartesianGridValue_1.CartesianGridValue.Create(mapValue, points, centerPoint, distanceRatio, optimization);
60
+ if (drawShape(gridValue)) {
61
+ done++;
62
+ }
63
+ }
64
+ return done;
65
+ }
66
+ getDistanceRatio(centerPoint) {
67
+ const distanceRatio = MapTools_1.MapTools.getCartesianDistanceRatio(centerPoint, this.geoValues, this.cartesianMap2Points);
68
+ // console.log('distanceRatio: ', distanceRatio);
69
+ return distanceRatio;
70
+ }
71
+ }
72
+ exports.CartesianDrawer = CartesianDrawer;
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FydGVzaWFuRHJhd2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RyYXdlcnMvQ2FydGVzaWFuRHJhd2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQUFzQztBQUd0Qyw2REFBd0Q7QUFDeEQsZ0RBQTJDO0FBQzNDLCtFQUEwRTtBQUUxRSxNQUFhLGVBQWU7SUFReEIsWUFBb0IsbUJBQThFLEVBQzlFLG9CQUE4RCxFQUM5RCxnQkFBOEIsRUFDOUIsSUFBWTtRQUhaLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBMkQ7UUFDOUUseUJBQW9CLEdBQXBCLG9CQUFvQixDQUEwQztRQUM5RCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWM7UUFDOUIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksZUFBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLHlEQUEyQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hFLENBQUM7SUFFTSxVQUFVO1FBQ2IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxLQUFhLEVBQ2IsS0FBYSxFQUNiLGFBQTRDO1FBQ2hFLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxlQUFlO1FBQ2xCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUM1QixPQUFPLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMzQjtRQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMseUVBQXlFLENBQUMsQ0FBQztRQUN4RixPQUFPLHlEQUEyQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFTSxZQUFZLENBQUMsU0FBOEIsRUFBRSxPQUFlO1FBQy9ELE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFFTSxVQUFVLENBQUMsTUFBYyxFQUFFLFdBQWtCO1FBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN2QyxPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0sd0JBQXdCLENBQUMsTUFBYyxFQUFFLFdBQWtCLEVBQ2xDLFNBQXFEO1FBRWpGLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNiLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDNUMsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRXhILEtBQUssTUFBTSxRQUFRLElBQUksY0FBYyxFQUFFO1lBQ25DLElBQUksSUFBSSxHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUU7Z0JBQy9CLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQUUsWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUM1RCxNQUFNO2FBQ1Q7WUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFbEQsTUFBTSxTQUFTLEdBQUcsdUNBQWtCLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUV4RyxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDdEIsSUFBSSxFQUFFLENBQUM7YUFDVjtTQUVKO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVPLGdCQUFnQixDQUFDLFdBQW1CO1FBQ3hDLE1BQU0sYUFBYSxHQUFHLG1CQUFRLENBQUMseUJBQXlCLENBQ3BELFdBQVcsRUFDWCxJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzlCLGlEQUFpRDtRQUNqRCxPQUFPLGFBQWEsQ0FBQztJQUN6QixDQUFDO0NBRUo7QUF6RkQsMENBeUZDIn0=
@@ -0,0 +1,10 @@
1
+ import { CartesianMapValue } from '../tools/CartesianMapValue';
2
+ export declare class CartesianDrawerOptimization {
3
+ type: string;
4
+ hardLimit: number;
5
+ bypass: boolean;
6
+ considerZoom: boolean;
7
+ constructor(type: string, hardLimit: number, bypass: boolean, considerZoom: boolean);
8
+ static Defaults(): CartesianDrawerOptimization[];
9
+ filteringValues(zoom: number, geoValues: CartesianMapValue[], cartesianMap2Display: (mapValue: CartesianMapValue) => boolean): CartesianMapValue[];
10
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CartesianDrawerOptimization = void 0;
4
+ class CartesianDrawerOptimization {
5
+ constructor(type, hardLimit, bypass, considerZoom) {
6
+ this.type = type;
7
+ this.hardLimit = hardLimit;
8
+ this.bypass = bypass;
9
+ this.considerZoom = considerZoom;
10
+ }
11
+ static Defaults() {
12
+ return [
13
+ new CartesianDrawerOptimization('default', 60000, false, false),
14
+ new CartesianDrawerOptimization('radar', 60000, true, true),
15
+ new CartesianDrawerOptimization('rain', 60000, false, false),
16
+ new CartesianDrawerOptimization('zoom', 60000, false, true),
17
+ ];
18
+ }
19
+ filteringValues(zoom, geoValues, cartesianMap2Display) {
20
+ let valuesToDisplay = geoValues.filter(v => v.value > 0.4);
21
+ if (cartesianMap2Display) {
22
+ valuesToDisplay = valuesToDisplay.filter(cartesianMap2Display);
23
+ }
24
+ if (this.considerZoom) {
25
+ const zoomLimit = 8;
26
+ if (zoom < zoomLimit) {
27
+ const each = zoomLimit + 1 - zoom;
28
+ let count = 0;
29
+ valuesToDisplay = valuesToDisplay.filter(v => {
30
+ if (++count >= each) {
31
+ count = 0;
32
+ return true;
33
+ }
34
+ return false;
35
+ });
36
+ }
37
+ }
38
+ return valuesToDisplay;
39
+ }
40
+ }
41
+ exports.CartesianDrawerOptimization = CartesianDrawerOptimization;
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FydGVzaWFuRHJhd2VyT3B0aW1pemF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RyYXdlcnMvQ2FydGVzaWFuRHJhd2VyT3B0aW1pemF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLE1BQWEsMkJBQTJCO0lBQ3BDLFlBQW1CLElBQVksRUFDWixTQUFpQixFQUNqQixNQUFlLEVBQ2YsWUFBcUI7UUFIckIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGNBQVMsR0FBVCxTQUFTLENBQVE7UUFDakIsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQUNmLGlCQUFZLEdBQVosWUFBWSxDQUFTO0lBQ3hDLENBQUM7SUFHRCxNQUFNLENBQUMsUUFBUTtRQUNYLE9BQU87WUFDSCxJQUFJLDJCQUEyQixDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUMvRCxJQUFJLDJCQUEyQixDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztZQUMzRCxJQUFJLDJCQUEyQixDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQztZQUM1RCxJQUFJLDJCQUEyQixDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQztTQUM5RCxDQUFDO0lBQ04sQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFZLEVBQ1osU0FBOEIsRUFDOUIsb0JBQThEO1FBRTFFLElBQUksZUFBZSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzNELElBQUksb0JBQW9CLEVBQUU7WUFDdEIsZUFBZSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUNsRTtRQUNELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUM7WUFDcEIsSUFBSSxJQUFJLEdBQUcsU0FBUyxFQUFFO2dCQUNsQixNQUFNLElBQUksR0FBRyxTQUFTLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztnQkFDbEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUNkLGVBQWUsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUN6QyxJQUFJLEVBQUUsS0FBSyxJQUFJLElBQUksRUFBRTt3QkFDakIsS0FBSyxHQUFHLENBQUMsQ0FBQzt3QkFDVixPQUFPLElBQUksQ0FBQztxQkFDZjtvQkFDRCxPQUFPLEtBQUssQ0FBQztnQkFDakIsQ0FBQyxDQUFDLENBQUM7YUFDTjtTQUNKO1FBQ0QsT0FBTyxlQUFlLENBQUM7SUFDM0IsQ0FBQztDQUNKO0FBekNELGtFQXlDQyJ9
@@ -0,0 +1,15 @@
1
+ import { CartesianMapValue } from '../tools/CartesianMapValue';
2
+ import { Point } from 'leaflet';
3
+ import { CartesianDrawerOptimization } from './CartesianDrawerOptimization';
4
+ import { GridValue } from './GridValue';
5
+ export declare class CartesianGridValue extends GridValue {
6
+ x: number;
7
+ y: number;
8
+ width: number;
9
+ height: number;
10
+ constructor(color: number, transparency: number, x: number, y: number, width: number, height: number, id?: string);
11
+ static Create(src: CartesianMapValue, srcPoints: {
12
+ p1: Point;
13
+ p2: Point;
14
+ }, center: Point, ratio: number, optimization: CartesianDrawerOptimization): CartesianGridValue;
15
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CartesianGridValue = void 0;
4
+ const GridValue_1 = require("./GridValue");
5
+ const MapTools_1 = require("../tools/MapTools");
6
+ class CartesianGridValue extends GridValue_1.GridValue {
7
+ constructor(color, transparency, x, y, width, height, id) {
8
+ super(color, transparency, id);
9
+ this.x = x;
10
+ this.y = y;
11
+ this.width = width;
12
+ this.height = height;
13
+ }
14
+ static Create(src, srcPoints, center, ratio, optimization) {
15
+ let { transparency, value } = GridValue_1.GridValue.translateColor(src.value);
16
+ if ((optimization === null || optimization === void 0 ? void 0 : optimization.bypass) && 0.2 <= src.value) {
17
+ value = '#000000';
18
+ transparency = 0.6;
19
+ }
20
+ const x = srcPoints.p1.x, y = srcPoints.p1.y, width = srcPoints.p2.x - srcPoints.p1.x, height = srcPoints.p2.y - srcPoints.p1.y;
21
+ return new CartesianGridValue(MapTools_1.MapTools.hexStringToNumber(value), transparency, x, y, width, height, '' + Math.round(src.value * 100) / 100);
22
+ }
23
+ }
24
+ exports.CartesianGridValue = CartesianGridValue;
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FydGVzaWFuR3JpZFZhbHVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RyYXdlcnMvQ2FydGVzaWFuR3JpZFZhbHVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLDJDQUFzQztBQUN0QyxnREFBMkM7QUFFM0MsTUFBYSxrQkFBbUIsU0FBUSxxQkFBUztJQUU3QyxZQUNJLEtBQWEsRUFDYixZQUFvQixFQUNiLENBQVMsRUFDVCxDQUFTLEVBQ1QsS0FBYSxFQUNiLE1BQWMsRUFDckIsRUFBVztRQUNYLEtBQUssQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBTHhCLE1BQUMsR0FBRCxDQUFDLENBQVE7UUFDVCxNQUFDLEdBQUQsQ0FBQyxDQUFRO1FBQ1QsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFdBQU0sR0FBTixNQUFNLENBQVE7SUFHekIsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBc0IsRUFDdEIsU0FBbUMsRUFDbkMsTUFBYSxFQUNiLEtBQWEsRUFDYixZQUF5QztRQUVuRCxJQUFJLEVBQUMsWUFBWSxFQUFFLEtBQUssRUFBQyxHQUFHLHFCQUFTLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVoRSxJQUFJLENBQUEsWUFBWSxhQUFaLFlBQVksdUJBQVosWUFBWSxDQUFFLE1BQU0sS0FBSSxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRTtZQUMxQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1lBQ2xCLFlBQVksR0FBRyxHQUFHLENBQUM7U0FDdEI7UUFFRCxNQUFNLENBQUMsR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsRUFDcEIsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUNsQixLQUFLLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQ3ZDLE1BQU0sR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUU3QyxPQUFPLElBQUksa0JBQWtCLENBQ3pCLG1CQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQ2pDLFlBQVksRUFDWixDQUFDLEVBQ0QsQ0FBQyxFQUNELEtBQUssRUFDTCxNQUFNLEVBQ04sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQ3pDLENBQUM7SUFDTixDQUFDO0NBRUo7QUExQ0QsZ0RBMENDIn0=
@@ -0,0 +1,12 @@
1
+ export declare class GridValue {
2
+ private color;
3
+ private transparency;
4
+ id?: string;
5
+ constructor(color: number, transparency: number, id?: string);
6
+ protected static translateColor(srcValue: any): {
7
+ value: string;
8
+ transparency: number;
9
+ };
10
+ getColor(forcedColor?: number): number;
11
+ getTransparency(forcedOpacity?: number): number;
12
+ }
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GridValue = void 0;
4
+ class GridValue {
5
+ constructor(color, transparency, id) {
6
+ this.color = color;
7
+ this.transparency = transparency;
8
+ this.id = id;
9
+ }
10
+ static translateColor(srcValue) {
11
+ let value = '#000000';
12
+ let transparency = 1; // 1 => invisible
13
+ if (0 < srcValue && srcValue < 0.4) {
14
+ value = '#000e98';
15
+ transparency = 0.9;
16
+ }
17
+ else if (srcValue < 1) {
18
+ value = '#0013C0';
19
+ transparency = 0.7;
20
+ }
21
+ else if (srcValue < 3) {
22
+ value = '#00CEF9';
23
+ transparency = 0.65;
24
+ }
25
+ else if (srcValue < 10) {
26
+ value = '#009A0F';
27
+ transparency = 0.6;
28
+ }
29
+ else if (srcValue < 20) {
30
+ value = '#6DED00';
31
+ transparency = 0.55;
32
+ }
33
+ else if (srcValue < 30) {
34
+ value = '#FFF300';
35
+ transparency = 0.50;
36
+ }
37
+ else if (srcValue < 50) {
38
+ value = '#aa72f3';
39
+ transparency = 0.45;
40
+ }
41
+ else if (srcValue < 100) {
42
+ value = '#f67bec';
43
+ transparency = 0.4;
44
+ }
45
+ else if (srcValue < 150) {
46
+ value = '#ff23cd';
47
+ transparency = 0.3;
48
+ }
49
+ else if (srcValue < 200) {
50
+ value = '#ff0707';
51
+ transparency = 0.3;
52
+ }
53
+ else if (srcValue < 250) {
54
+ value = '#c2042f';
55
+ transparency = 0.3;
56
+ }
57
+ else if (srcValue < 300) {
58
+ value = '#7e0321';
59
+ transparency = 0.3;
60
+ }
61
+ else if (300 <= srcValue) {
62
+ value = '#000000';
63
+ transparency = 0.3;
64
+ }
65
+ return { value, transparency };
66
+ }
67
+ getColor(forcedColor) {
68
+ return forcedColor ? forcedColor : this.color;
69
+ }
70
+ getTransparency(forcedOpacity) {
71
+ return forcedOpacity ? forcedOpacity : this.transparency;
72
+ }
73
+ }
74
+ exports.GridValue = GridValue;
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3JpZFZhbHVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RyYXdlcnMvR3JpZFZhbHVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQWEsU0FBUztJQUVsQixZQUNZLEtBQWEsRUFDYixZQUFvQixFQUNyQixFQUFXO1FBRlYsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLGlCQUFZLEdBQVosWUFBWSxDQUFRO1FBQ3JCLE9BQUUsR0FBRixFQUFFLENBQVM7SUFDdEIsQ0FBQztJQUVTLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUTtRQUVwQyxJQUFJLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdEIsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsaUJBQWlCO1FBRXZDLElBQUksQ0FBQyxHQUFHLFFBQVEsSUFBSSxRQUFRLEdBQUcsR0FBRyxFQUFFO1lBQ2hDLEtBQUssR0FBRyxTQUFTLENBQUM7WUFDbEIsWUFBWSxHQUFHLEdBQUcsQ0FBQztTQUN0QjthQUFNLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRTtZQUNyQixLQUFLLEdBQUcsU0FBUyxDQUFDO1lBQ2xCLFlBQVksR0FBRyxHQUFHLENBQUM7U0FDdEI7YUFBTSxJQUFJLFFBQVEsR0FBRyxDQUFDLEVBQUU7WUFDckIsS0FBSyxHQUFHLFNBQVMsQ0FBQztZQUNsQixZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQ3ZCO2FBQU0sSUFBSSxRQUFRLEdBQUcsRUFBRSxFQUFFO1lBQ3RCLEtBQUssR0FBRyxTQUFTLENBQUM7WUFDbEIsWUFBWSxHQUFHLEdBQUcsQ0FBQztTQUN0QjthQUFNLElBQUksUUFBUSxHQUFHLEVBQUUsRUFBRTtZQUN0QixLQUFLLEdBQUcsU0FBUyxDQUFDO1lBQ2xCLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDdkI7YUFBTSxJQUFJLFFBQVEsR0FBRyxFQUFFLEVBQUU7WUFDdEIsS0FBSyxHQUFHLFNBQVMsQ0FBQztZQUNsQixZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQ3ZCO2FBQU0sSUFBSSxRQUFRLEdBQUcsRUFBRSxFQUFFO1lBQ3RCLEtBQUssR0FBRyxTQUFTLENBQUM7WUFDbEIsWUFBWSxHQUFHLElBQUksQ0FBQztTQUN2QjthQUFNLElBQUksUUFBUSxHQUFHLEdBQUcsRUFBRTtZQUN2QixLQUFLLEdBQUcsU0FBUyxDQUFDO1lBQ2xCLFlBQVksR0FBRyxHQUFHLENBQUM7U0FDdEI7YUFBTSxJQUFJLFFBQVEsR0FBRyxHQUFHLEVBQUU7WUFDdkIsS0FBSyxHQUFHLFNBQVMsQ0FBQztZQUNsQixZQUFZLEdBQUcsR0FBRyxDQUFDO1NBQ3RCO2FBQU0sSUFBSSxRQUFRLEdBQUcsR0FBRyxFQUFFO1lBQ3ZCLEtBQUssR0FBRyxTQUFTLENBQUM7WUFDbEIsWUFBWSxHQUFHLEdBQUcsQ0FBQztTQUN0QjthQUFNLElBQUksUUFBUSxHQUFHLEdBQUcsRUFBRTtZQUN2QixLQUFLLEdBQUcsU0FBUyxDQUFDO1lBQ2xCLFlBQVksR0FBRyxHQUFHLENBQUM7U0FDdEI7YUFBTSxJQUFJLFFBQVEsR0FBRyxHQUFHLEVBQUU7WUFDdkIsS0FBSyxHQUFHLFNBQVMsQ0FBQztZQUNsQixZQUFZLEdBQUcsR0FBRyxDQUFDO1NBQ3RCO2FBQU0sSUFBSSxHQUFHLElBQUksUUFBUSxFQUFFO1lBQ3hCLEtBQUssR0FBRyxTQUFTLENBQUM7WUFDbEIsWUFBWSxHQUFHLEdBQUcsQ0FBQztTQUN0QjtRQUVELE9BQU8sRUFBQyxLQUFLLEVBQUUsWUFBWSxFQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLFFBQVEsQ0FBQyxXQUFvQjtRQUNoQyxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ2xELENBQUM7SUFFTSxlQUFlLENBQUMsYUFBc0I7UUFDekMsT0FBTyxhQUFhLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3RCxDQUFDO0NBRUo7QUFqRUQsOEJBaUVDIn0=
@@ -0,0 +1,28 @@
1
+ import { LatLng, Point } from 'leaflet';
2
+ import { PolarGridValue } from './PolarGridValue';
3
+ import { PolarMapValue } from '../tools/PolarMapValue';
4
+ import { PolarDrawerOptimization } from './PolarDrawerOptimization';
5
+ export declare class PolarDrawer {
6
+ private polarMap2Point;
7
+ private polarMap2Display;
8
+ private polarMapZoom;
9
+ private type;
10
+ private geoValues;
11
+ private version;
12
+ private optimizations;
13
+ private possibleDrawing;
14
+ private distanceRatio;
15
+ private centerPoint;
16
+ constructor(polarMap2Point: (pv: PolarMapValue) => Point, polarMap2Display: (pv: PolarMapValue) => boolean, polarMapZoom: () => number, type: string);
17
+ getVersion(): string;
18
+ setConfiguration(theme: number, range: number, optimizations: PolarDrawerOptimization[]): void;
19
+ getOptimization(): PolarDrawerOptimization;
20
+ updateValues(geoValues: PolarMapValue[], version: string): void;
21
+ hasChanged(center: LatLng, centerPoint: Point): boolean;
22
+ renderPolarMapValues(center: LatLng, centerPoint: Point, drawPolarSharp: (polar1: PolarGridValue, polar2?: PolarGridValue) => boolean): number;
23
+ _getNextOffset(index: any, edgeCount: any): number;
24
+ protected getPossibleDrawing(): number;
25
+ private getDistanceRatio;
26
+ private getAzimuthStepInDegrees;
27
+ private getEdgeCount;
28
+ }
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PolarDrawer = void 0;
4
+ const leaflet_1 = require("leaflet");
5
+ const PolarGridValue_1 = require("./PolarGridValue");
6
+ const PolarMapValue_1 = require("../tools/PolarMapValue");
7
+ const PolarDrawerOptimization_1 = require("./PolarDrawerOptimization");
8
+ const MapTools_1 = require("../tools/MapTools");
9
+ class PolarDrawer {
10
+ constructor(polarMap2Point, polarMap2Display, polarMapZoom, type) {
11
+ this.polarMap2Point = polarMap2Point;
12
+ this.polarMap2Display = polarMap2Display;
13
+ this.polarMapZoom = polarMapZoom;
14
+ this.type = type;
15
+ this.geoValues = [];
16
+ this.possibleDrawing = 0;
17
+ this.distanceRatio = 0;
18
+ this.centerPoint = new leaflet_1.Point(0, 0);
19
+ this.optimizations = PolarDrawerOptimization_1.PolarDrawerOptimization.Defaults();
20
+ }
21
+ getVersion() {
22
+ return this.version;
23
+ }
24
+ setConfiguration(theme, range, optimizations) {
25
+ this.optimizations = optimizations;
26
+ }
27
+ getOptimization() {
28
+ const optimizations = this.optimizations.filter((o) => {
29
+ return this.type.toLowerCase().indexOf(o.type.toLowerCase()) > 0;
30
+ });
31
+ if (optimizations.length === 1) {
32
+ return optimizations[0];
33
+ }
34
+ console.warn('no optimization found for polar drawer - please consider to use one');
35
+ return PolarDrawerOptimization_1.PolarDrawerOptimization.Defaults()[0];
36
+ }
37
+ updateValues(geoValues, version) {
38
+ console.log('updateValues', version);
39
+ this.geoValues = geoValues;
40
+ this.version = version;
41
+ }
42
+ hasChanged(center, centerPoint) {
43
+ if (!centerPoint.equals(this.centerPoint)) {
44
+ return true;
45
+ }
46
+ if (this.distanceRatio !== this.getDistanceRatio(centerPoint)) {
47
+ return true;
48
+ }
49
+ return this.possibleDrawing !== this.getPossibleDrawing();
50
+ }
51
+ renderPolarMapValues(center, centerPoint, drawPolarSharp) {
52
+ let done = 0;
53
+ const edgeCount = this.getEdgeCount();
54
+ const distanceRatio = this.getDistanceRatio(centerPoint);
55
+ const azimuthStepInDegrees = this.getAzimuthStepInDegrees();
56
+ const optimizationValues = {
57
+ x1: null,
58
+ x2: null
59
+ };
60
+ if (distanceRatio <= 0) {
61
+ console.warn('distanceRatio is 0 - no sense ? ', center, centerPoint);
62
+ return 0;
63
+ }
64
+ const optimization = this.getOptimization();
65
+ this.possibleDrawing = this.getPossibleDrawing();
66
+ this.distanceRatio = distanceRatio;
67
+ this.centerPoint = centerPoint;
68
+ const filteredValues = optimization.filteringValues(this.polarMapZoom(), this.geoValues, this.polarMap2Display);
69
+ for (let [i, polarValue] of filteredValues.entries()) {
70
+ if (done > optimization.hardLimit) {
71
+ console.log('hard limit reached ', optimization.hardLimit);
72
+ break;
73
+ }
74
+ polarValue = PolarMapValue_1.PolarMapValue.Duplicate(polarValue);
75
+ polarValue.setCenter({ latitude: center.lat, longitude: center.lng });
76
+ // console.log('rendered polarValue : ', polarValue);
77
+ if (optimization.groupAzimuths()) {
78
+ const drawValue = (x1, pv2, forceDraw) => {
79
+ if (!x1 || !pv2) {
80
+ return false;
81
+ }
82
+ const x2 = PolarGridValue_1.PolarGridValue.Create(pv2, distanceRatio, optimization);
83
+ x2.polarAzimuthInDegrees = x1.polarAzimuthInDegrees + azimuthStepInDegrees;
84
+ let drawDone = false;
85
+ if (!forceDraw && x2.getTransparency() === x1.getTransparency()) {
86
+ // same value => optimize drawing
87
+ optimizationValues.x2 = x2;
88
+ }
89
+ else {
90
+ if (x1.getTransparency() < 1) {
91
+ drawDone = drawPolarSharp(x1, x2);
92
+ }
93
+ else {
94
+ drawDone = true;
95
+ }
96
+ optimizationValues.x2 = null;
97
+ if (drawDone) {
98
+ done++;
99
+ }
100
+ }
101
+ return drawDone;
102
+ };
103
+ if (!this.polarMap2Display(polarValue)) {
104
+ drawValue(optimizationValues.x1, polarValue, true);
105
+ optimizationValues.x1 = null;
106
+ }
107
+ else if (((i % edgeCount) === (edgeCount - 1))) {
108
+ drawValue(optimizationValues.x1, polarValue, true);
109
+ optimizationValues.x1 = null;
110
+ i = this._getNextOffset(i, edgeCount) - 1;
111
+ }
112
+ else {
113
+ const drawDone = drawValue(optimizationValues.x1, polarValue);
114
+ if (drawDone || !optimizationValues.x1) {
115
+ optimizationValues.x1 = PolarGridValue_1.PolarGridValue.Create(polarValue, distanceRatio, optimization);
116
+ }
117
+ }
118
+ }
119
+ else {
120
+ const x = PolarGridValue_1.PolarGridValue.Create(polarValue, distanceRatio, optimization);
121
+ done += drawPolarSharp(x) ? 1 : 0;
122
+ }
123
+ }
124
+ console.log('Polar done vs possible:', done, this.possibleDrawing);
125
+ return done;
126
+ }
127
+ _getNextOffset(index, edgeCount) {
128
+ const preciseId = (index + 1) / edgeCount;
129
+ const edgeId = Math.floor(preciseId);
130
+ let newIndex = (edgeId + 1) * edgeCount;
131
+ if (preciseId === edgeId) {
132
+ newIndex = edgeId * edgeCount;
133
+ }
134
+ return newIndex;
135
+ }
136
+ getPossibleDrawing() {
137
+ let count = 0;
138
+ const nonNullValues = this.geoValues.filter(v => v.value);
139
+ for (const mapValue of nonNullValues) {
140
+ if (this.polarMap2Display(mapValue)) {
141
+ count++;
142
+ }
143
+ }
144
+ return count;
145
+ }
146
+ getDistanceRatio(centerPoint) {
147
+ if (this.geoValues.length < 1) {
148
+ return 0;
149
+ }
150
+ const distanceRatio = MapTools_1.MapTools.getPolarDistanceRatio(centerPoint, this.geoValues[this.geoValues.length - 1], this.polarMap2Point);
151
+ // console.log('distanceRatio: ', distanceRatio);
152
+ return distanceRatio;
153
+ }
154
+ getAzimuthStepInDegrees() {
155
+ if (this.geoValues.length <= 1) {
156
+ return 360;
157
+ }
158
+ const firstGeoValue = this.geoValues[0];
159
+ let azimuthDiff = 360;
160
+ const sameAzimuth = firstGeoValue.polarAzimuthInDegrees;
161
+ for (const polarValue of this.geoValues) {
162
+ if (sameAzimuth !== polarValue.polarAzimuthInDegrees) {
163
+ azimuthDiff = polarValue.polarAzimuthInDegrees - sameAzimuth;
164
+ break;
165
+ }
166
+ }
167
+ // console.log('azimuthStepInDegrees: ', azimuthDiff);
168
+ return azimuthDiff;
169
+ }
170
+ getEdgeCount() {
171
+ if (this.geoValues.length <= 1) {
172
+ return 1;
173
+ }
174
+ let sameEdgeValuesCount = 0;
175
+ const firstGeoValue = this.geoValues[0];
176
+ for (const polarValue of this.geoValues) {
177
+ if (firstGeoValue.polarAzimuthInDegrees !== polarValue.polarAzimuthInDegrees) {
178
+ break;
179
+ }
180
+ sameEdgeValuesCount++;
181
+ }
182
+ // console.log('sameEdgeValuesCount: ', sameEdgeValuesCount);
183
+ return sameEdgeValuesCount;
184
+ }
185
+ }
186
+ exports.PolarDrawer = PolarDrawer;
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9sYXJEcmF3ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZHJhd2Vycy9Qb2xhckRyYXdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBc0M7QUFDdEMscURBQWdEO0FBQ2hELDBEQUFxRDtBQUNyRCx1RUFBa0U7QUFDbEUsZ0RBQTJDO0FBRTNDLE1BQWEsV0FBVztJQVNwQixZQUFvQixjQUE0QyxFQUM1QyxnQkFBZ0QsRUFDaEQsWUFBMEIsRUFDMUIsSUFBWTtRQUhaLG1CQUFjLEdBQWQsY0FBYyxDQUE4QjtRQUM1QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWdDO1FBQ2hELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLGVBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxpREFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1RCxDQUFDO0lBRU0sVUFBVTtRQUNiLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsS0FBYSxFQUNiLEtBQWEsRUFDYixhQUF3QztRQUM1RCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUN2QyxDQUFDO0lBRU0sZUFBZTtRQUNsQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2xELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElB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
@@ -0,0 +1,14 @@
1
+ import { PolarMapValue } from '../tools/PolarMapValue';
2
+ export declare class PolarDrawerOptimization {
3
+ type: string;
4
+ hardLimit: number;
5
+ min: number;
6
+ max: number;
7
+ step: number;
8
+ bypass: boolean;
9
+ considerZoom: boolean;
10
+ constructor(type: string, hardLimit: number, min: number, max: number, step: number, bypass: boolean, considerZoom: boolean);
11
+ static Defaults(): PolarDrawerOptimization[];
12
+ filteringValues(zoom: number, geoValues: PolarMapValue[], polarMap2Display: (mapValue: PolarMapValue) => boolean): PolarMapValue[];
13
+ groupAzimuths(): boolean;
14
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PolarDrawerOptimization = void 0;
4
+ class PolarDrawerOptimization {
5
+ constructor(type, hardLimit, min, max, step, bypass, considerZoom) {
6
+ this.type = type;
7
+ this.hardLimit = hardLimit;
8
+ this.min = min;
9
+ this.max = max;
10
+ this.step = step;
11
+ this.bypass = bypass;
12
+ this.considerZoom = considerZoom;
13
+ }
14
+ static Defaults() {
15
+ return [
16
+ new PolarDrawerOptimization('default', 40001, 0, 100, 10, false, false),
17
+ new PolarDrawerOptimization('radar', 40002, 0.2, 100, 5, true, true),
18
+ new PolarDrawerOptimization('rain', 40003, 0, 76, 10, false, true),
19
+ new PolarDrawerOptimization('zoom', 40003, 0, 76, 10, false, true),
20
+ ];
21
+ }
22
+ filteringValues(zoom, geoValues, polarMap2Display) {
23
+ // non null values
24
+ let valuesToDisplay = geoValues.filter(v => v.value > 0);
25
+ // into the map
26
+ if (polarMap2Display) {
27
+ valuesToDisplay = valuesToDisplay.filter(polarMap2Display);
28
+ }
29
+ // reduced in case of zoom
30
+ if (this.considerZoom) {
31
+ const zoomLimit = 10;
32
+ if (zoom < zoomLimit) {
33
+ const each = zoomLimit + 1 - zoom;
34
+ let count = 0;
35
+ valuesToDisplay = valuesToDisplay.filter(v => {
36
+ if (++count >= each) {
37
+ count = 0;
38
+ return true;
39
+ }
40
+ return false;
41
+ });
42
+ }
43
+ }
44
+ return valuesToDisplay;
45
+ }
46
+ groupAzimuths() {
47
+ if (this.type === '???') {
48
+ return true;
49
+ }
50
+ return false;
51
+ }
52
+ }
53
+ exports.PolarDrawerOptimization = PolarDrawerOptimization;
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9sYXJEcmF3ZXJPcHRpbWl6YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZHJhd2Vycy9Qb2xhckRyYXdlck9wdGltaXphdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxNQUFhLHVCQUF1QjtJQUNoQyxZQUFtQixJQUFZLEVBQ1osU0FBaUIsRUFDakIsR0FBVyxFQUNYLEdBQVcsRUFDWCxJQUFZLEVBQ1osTUFBZSxFQUNmLFlBQXFCO1FBTnJCLFNBQUksR0FBSixJQUFJLENBQVE7UUFDWixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ2pCLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFDWCxRQUFHLEdBQUgsR0FBRyxDQUFRO1FBQ1gsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLFdBQU0sR0FBTixNQUFNLENBQVM7UUFDZixpQkFBWSxHQUFaLFlBQVksQ0FBUztJQUN4QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVE7UUFDWCxPQUFPO1lBQ0gsSUFBSSx1QkFBdUIsQ0FBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7WUFDdkUsSUFBSSx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUM7WUFDcEUsSUFBSSx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUM7WUFDbEUsSUFBSSx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUM7U0FDckUsQ0FBQztJQUNOLENBQUM7SUFFRCxlQUFlLENBQUMsSUFBWSxFQUNaLFNBQTBCLEVBQzFCLGdCQUFzRDtRQUVsRSxrQkFBa0I7UUFDbEIsSUFBSSxlQUFlLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFekQsZUFBZTtRQUNmLElBQUksZ0JBQWdCLEVBQUU7WUFDbEIsZUFBZSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUM5RDtRQUVELDBCQUEwQjtRQUMxQixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDbkIsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLElBQUksSUFBSSxHQUFHLFNBQVMsRUFBRTtnQkFDbEIsTUFBTSxJQUFJLEdBQUcsU0FBUyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQ2xDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDZCxlQUFlLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDekMsSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFJLEVBQUU7d0JBQ2pCLEtBQUssR0FBRyxDQUFDLENBQUM7d0JBQ1YsT0FBTyxJQUFJLENBQUM7cUJBQ2Y7b0JBQ0QsT0FBTyxLQUFLLENBQUM7Z0JBQ2pCLENBQUMsQ0FBQyxDQUFDO2FBQ047U0FDSjtRQUNELE9BQU8sZUFBZSxDQUFDO0lBQzNCLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRTtZQUNyQixPQUFPLElBQUksQ0FBQztTQUNmO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztDQUNKO0FBdkRELDBEQXVEQyJ9
@@ -0,0 +1,13 @@
1
+ import { PolarMapValue } from '../tools/PolarMapValue';
2
+ import { PolarDrawerOptimization } from './PolarDrawerOptimization';
3
+ import { Point } from 'leaflet';
4
+ import { GridValue } from './GridValue';
5
+ export declare class PolarGridValue extends GridValue {
6
+ polarAzimuthInDegrees: number;
7
+ private polarDistanceRelative;
8
+ constructor(color: number, transparency: number, polarAzimuthInDegrees: number, polarDistanceRelative: number, id?: string);
9
+ static Create(src: PolarMapValue, distanceRatio: number, optimization: PolarDrawerOptimization): PolarGridValue;
10
+ getPolarDistanceRelative(): number;
11
+ setPolarDistanceRelative(d: number): void;
12
+ getPositionFrom(centerPoint: Point): Point;
13
+ }