raain-model 2.6.10 → 3.0.1

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 (215) hide show
  1. package/CHANGELOG.md +94 -7
  2. package/README.md +14 -13
  3. package/RELEASE_PROCESS.md +91 -4
  4. package/cartesian/CartesianMeasureValue.d.ts +46 -0
  5. package/{src/cartesian/CartesianMeasureValue.ts → cartesian/CartesianMeasureValue.js} +41 -73
  6. package/cartesian/CartesianMeasureValue.js.map +1 -0
  7. package/cartesian/CartesianTools.d.ts +32 -0
  8. package/{src/cartesian/CartesianTools.ts → cartesian/CartesianTools.js} +69 -130
  9. package/cartesian/CartesianTools.js.map +1 -0
  10. package/cartesian/CartesianValue.d.ts +14 -0
  11. package/cartesian/CartesianValue.js +17 -0
  12. package/cartesian/CartesianValue.js.map +1 -0
  13. package/cartesian/EarthMap.d.ts +5 -0
  14. package/cartesian/EarthMap.js +3 -0
  15. package/cartesian/EarthMap.js.map +1 -0
  16. package/cartesian/ICartesianMeasureValue.d.ts +23 -0
  17. package/cartesian/ICartesianMeasureValue.js +3 -0
  18. package/cartesian/ICartesianMeasureValue.js.map +1 -0
  19. package/cartesian/LatLng.d.ts +16 -0
  20. package/cartesian/LatLng.js +34 -0
  21. package/cartesian/LatLng.js.map +1 -0
  22. package/cartesian/RadarCartesianMeasureValue.d.ts +27 -0
  23. package/cartesian/RadarCartesianMeasureValue.js +24 -0
  24. package/cartesian/RadarCartesianMeasureValue.js.map +1 -0
  25. package/cartesian/RainCartesianMeasureValue.d.ts +25 -0
  26. package/cartesian/RainCartesianMeasureValue.js +25 -0
  27. package/cartesian/RainCartesianMeasureValue.js.map +1 -0
  28. package/cartesian/index.js +25 -0
  29. package/cartesian/index.js.map +1 -0
  30. package/gauge/GaugeMeasure.d.ts +30 -0
  31. package/gauge/GaugeMeasure.js +30 -0
  32. package/gauge/GaugeMeasure.js.map +1 -0
  33. package/gauge/GaugeNode.d.ts +95 -0
  34. package/{src/gauge/GaugeNode.ts → gauge/GaugeNode.js} +28 -54
  35. package/gauge/GaugeNode.js.map +1 -0
  36. package/gauge/GaugeNodeMap.d.ts +35 -0
  37. package/gauge/GaugeNodeMap.js +42 -0
  38. package/gauge/GaugeNodeMap.js.map +1 -0
  39. package/gauge/index.js +20 -0
  40. package/gauge/index.js.map +1 -0
  41. package/index.js +24 -0
  42. package/index.js.map +1 -0
  43. package/organization/EventNode.d.ts +30 -0
  44. package/organization/EventNode.js +30 -0
  45. package/organization/EventNode.js.map +1 -0
  46. package/organization/IVersion.js +3 -0
  47. package/organization/IVersion.js.map +1 -0
  48. package/organization/Link.d.ts +16 -0
  49. package/{src/organization/Link.ts → organization/Link.js} +15 -15
  50. package/organization/Link.js.map +1 -0
  51. package/organization/Measure.d.ts +30 -0
  52. package/organization/Measure.js +51 -0
  53. package/organization/Measure.js.map +1 -0
  54. package/organization/PeopleNode.d.ts +23 -0
  55. package/{src/organization/PeopleNode.ts → organization/PeopleNode.js} +10 -20
  56. package/organization/PeopleNode.js.map +1 -0
  57. package/organization/RaainNode.d.ts +95 -0
  58. package/{src/organization/RaainNode.ts → organization/RaainNode.js} +38 -63
  59. package/organization/RaainNode.js.map +1 -0
  60. package/organization/TeamNode.d.ts +51 -0
  61. package/organization/TeamNode.js +52 -0
  62. package/organization/TeamNode.js.map +1 -0
  63. package/organization/index.js +24 -0
  64. package/organization/index.js.map +1 -0
  65. package/package.json +4 -2
  66. package/polar/AbstractPolarMeasureValue.d.ts +31 -0
  67. package/{src/polar/AbstractPolarMeasureValue.ts → polar/AbstractPolarMeasureValue.js} +34 -62
  68. package/polar/AbstractPolarMeasureValue.js.map +1 -0
  69. package/polar/IPolarMeasureValue.d.ts +19 -0
  70. package/polar/IPolarMeasureValue.js +3 -0
  71. package/polar/IPolarMeasureValue.js.map +1 -0
  72. package/polar/MeasureValuePolarContainer.d.ts +24 -0
  73. package/{src/polar/MeasureValuePolarContainer.ts → polar/MeasureValuePolarContainer.js} +13 -29
  74. package/polar/MeasureValuePolarContainer.js.map +1 -0
  75. package/polar/PolarFilter.d.ts +16 -0
  76. package/polar/PolarFilter.js +45 -0
  77. package/polar/PolarFilter.js.map +1 -0
  78. package/polar/PolarMeasureValue.d.ts +51 -0
  79. package/{src/polar/PolarMeasureValue.ts → polar/PolarMeasureValue.js} +62 -125
  80. package/polar/PolarMeasureValue.js.map +1 -0
  81. package/polar/PolarMeasureValueMap.d.ts +45 -0
  82. package/{src/polar/PolarMeasureValueMap.ts → polar/PolarMeasureValueMap.js} +88 -165
  83. package/polar/PolarMeasureValueMap.js.map +1 -0
  84. package/polar/PolarValue.d.ts +10 -0
  85. package/polar/PolarValue.js +12 -0
  86. package/polar/PolarValue.js.map +1 -0
  87. package/polar/RadarPolarMeasureValue.d.ts +33 -0
  88. package/{src/polar/RadarPolarMeasureValue.ts → polar/RadarPolarMeasureValue.js} +31 -39
  89. package/polar/RadarPolarMeasureValue.js.map +1 -0
  90. package/polar/RainPolarMeasureValue.d.ts +24 -0
  91. package/polar/RainPolarMeasureValue.js +46 -0
  92. package/polar/RainPolarMeasureValue.js.map +1 -0
  93. package/polar/index.js +25 -0
  94. package/polar/index.js.map +1 -0
  95. package/quality/QualityPoint.d.ts +37 -0
  96. package/{src/quality/QualityPoint.ts → quality/QualityPoint.js} +33 -56
  97. package/quality/QualityPoint.js.map +1 -0
  98. package/quality/SpeedMatrix.d.ts +83 -0
  99. package/{src/quality/SpeedMatrix.ts → quality/SpeedMatrix.js} +76 -117
  100. package/quality/SpeedMatrix.js.map +1 -0
  101. package/quality/SpeedMatrixContainer.d.ts +102 -0
  102. package/{src/quality/SpeedMatrixContainer.ts → quality/SpeedMatrixContainer.js} +103 -210
  103. package/quality/SpeedMatrixContainer.js.map +1 -0
  104. package/quality/history/CartesianGaugeHistory.d.ts +15 -0
  105. package/quality/history/CartesianGaugeHistory.js +14 -0
  106. package/quality/history/CartesianGaugeHistory.js.map +1 -0
  107. package/quality/history/CartesianRainHistory.d.ts +9 -0
  108. package/quality/history/CartesianRainHistory.js +11 -0
  109. package/quality/history/CartesianRainHistory.js.map +1 -0
  110. package/quality/history/PositionHistory.d.ts +20 -0
  111. package/quality/history/PositionHistory.js +17 -0
  112. package/quality/history/PositionHistory.js.map +1 -0
  113. package/{src/quality/index.ts → quality/index.d.ts} +0 -3
  114. package/quality/index.js +26 -0
  115. package/quality/index.js.map +1 -0
  116. package/quality/position/Position.d.ts +22 -0
  117. package/quality/position/Position.js +50 -0
  118. package/quality/position/Position.js.map +1 -0
  119. package/quality/position/PositionValue.d.ts +9 -0
  120. package/quality/position/PositionValue.js +12 -0
  121. package/quality/position/PositionValue.js.map +1 -0
  122. package/quality/tools/QualityTools.d.ts +9 -0
  123. package/{src/quality/tools/QualityTools.ts → quality/tools/QualityTools.js} +17 -18
  124. package/quality/tools/QualityTools.js.map +1 -0
  125. package/radar/RadarMeasure.d.ts +38 -0
  126. package/radar/RadarMeasure.js +33 -0
  127. package/radar/RadarMeasure.js.map +1 -0
  128. package/radar/RadarNode.d.ts +41 -0
  129. package/radar/RadarNode.js +58 -0
  130. package/radar/RadarNode.js.map +1 -0
  131. package/radar/RadarNodeMap.d.ts +51 -0
  132. package/radar/RadarNodeMap.js +50 -0
  133. package/radar/RadarNodeMap.js.map +1 -0
  134. package/radar/index.js +20 -0
  135. package/radar/index.js.map +1 -0
  136. package/rain/MergeStrategy.d.ts +13 -0
  137. package/rain/MergeStrategy.js +11 -0
  138. package/rain/MergeStrategy.js.map +1 -0
  139. package/rain/RainComputation.d.ts +59 -0
  140. package/rain/RainComputation.js +68 -0
  141. package/rain/RainComputation.js.map +1 -0
  142. package/rain/RainComputationAbstract.d.ts +89 -0
  143. package/rain/RainComputationAbstract.js +207 -0
  144. package/rain/RainComputationAbstract.js.map +1 -0
  145. package/rain/RainComputationMap.d.ts +113 -0
  146. package/{src/rain/RainComputationMap.ts → rain/RainComputationMap.js} +26 -60
  147. package/rain/RainComputationMap.js.map +1 -0
  148. package/rain/RainComputationQuality.d.ts +58 -0
  149. package/{src/rain/RainComputationQuality.ts → rain/RainComputationQuality.js} +52 -89
  150. package/rain/RainComputationQuality.js.map +1 -0
  151. package/rain/RainMeasure.d.ts +17 -0
  152. package/rain/RainMeasure.js +18 -0
  153. package/rain/RainMeasure.js.map +1 -0
  154. package/rain/RainNode.d.ts +60 -0
  155. package/rain/RainNode.js +198 -0
  156. package/rain/RainNode.js.map +1 -0
  157. package/{src/rain/index.ts → rain/index.d.ts} +1 -0
  158. package/rain/index.js +24 -0
  159. package/rain/index.js.map +1 -0
  160. package/.cursorignore +0 -10
  161. package/.github/workflows/ci.yml +0 -29
  162. package/LICENSE +0 -21
  163. package/RELEASE.md +0 -19
  164. package/specs/REQUIREMENTS.md +0 -42
  165. package/specs/TECHNICAL.md +0 -57
  166. package/specs/cartesian/Cartesian.spec.ts +0 -82
  167. package/specs/cartesian/CartesianTools.spec.ts +0 -121
  168. package/specs/gauge/Gauge.spec.ts +0 -39
  169. package/specs/organization/Organization.spec.ts +0 -38
  170. package/specs/polar/Polar.spec.ts +0 -267
  171. package/specs/quality/Position.spec.ts +0 -18
  172. package/specs/quality/QualityPointEdgeCases.spec.ts +0 -215
  173. package/specs/quality/QualityTools.spec.ts +0 -67
  174. package/specs/quality/SpeedMatrix.spec.ts +0 -214
  175. package/specs/radar/Radar.spec.ts +0 -129
  176. package/specs/rain/Rain.spec.ts +0 -334
  177. package/specs/tsconfig.json +0 -12
  178. package/src/cartesian/CartesianValue.ts +0 -26
  179. package/src/cartesian/EarthMap.ts +0 -5
  180. package/src/cartesian/ICartesianMeasureValue.ts +0 -22
  181. package/src/cartesian/LatLng.ts +0 -43
  182. package/src/cartesian/RadarCartesianMeasureValue.ts +0 -32
  183. package/src/cartesian/RainCartesianMeasureValue.ts +0 -32
  184. package/src/gauge/GaugeMeasure.ts +0 -42
  185. package/src/gauge/GaugeNodeMap.ts +0 -55
  186. package/src/organization/EventNode.ts +0 -43
  187. package/src/organization/Measure.ts +0 -61
  188. package/src/organization/TeamNode.ts +0 -91
  189. package/src/polar/IPolarMeasureValue.ts +0 -21
  190. package/src/polar/PolarFilter.ts +0 -46
  191. package/src/polar/PolarValue.ts +0 -16
  192. package/src/polar/RainPolarMeasureValue.ts +0 -57
  193. package/src/quality/history/CartesianGaugeHistory.ts +0 -23
  194. package/src/quality/history/CartesianRainHistory.ts +0 -15
  195. package/src/quality/history/PositionHistory.ts +0 -31
  196. package/src/quality/position/Position.ts +0 -59
  197. package/src/quality/position/PositionValue.ts +0 -15
  198. package/src/radar/RadarMeasure.ts +0 -41
  199. package/src/radar/RadarNode.ts +0 -78
  200. package/src/radar/RadarNodeMap.ts +0 -61
  201. package/src/rain/MergeStrategy.ts +0 -15
  202. package/src/rain/RainComputation.ts +0 -96
  203. package/src/rain/RainComputationAbstract.ts +0 -262
  204. package/src/rain/RainMeasure.ts +0 -25
  205. package/src/rain/RainNode.ts +0 -235
  206. package/tsconfig.json +0 -17
  207. package/tslint.json +0 -79
  208. package/typedoc.json +0 -31
  209. /package/{src/cartesian/index.ts → cartesian/index.d.ts} +0 -0
  210. /package/{src/gauge/index.ts → gauge/index.d.ts} +0 -0
  211. /package/{src/index.ts → index.d.ts} +0 -0
  212. /package/{src/organization/IVersion.ts → organization/IVersion.d.ts} +0 -0
  213. /package/{src/organization/index.ts → organization/index.d.ts} +0 -0
  214. /package/{src/polar/index.ts → polar/index.d.ts} +0 -0
  215. /package/{src/radar/index.ts → radar/index.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartesianMeasureValue.js","sourceRoot":"","sources":["../../src/cartesian/CartesianMeasureValue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { LatLng } from './LatLng';
2
+ import { CartesianValue } from './CartesianValue';
3
+ import { EarthMap } from './EarthMap';
4
+ export declare class CartesianTools {
5
+ scale: number;
6
+ earthMap: EarthMap;
7
+ static DEFAULT_SCALE: number;
8
+ constructor(scale?: number, earthMap?: EarthMap);
9
+ static RoundLatLng(latOrLng: number, scale?: number, needPrecision?: boolean): number;
10
+ static CreateLatLng(latLng: {
11
+ lat: number;
12
+ lng: number;
13
+ }): LatLng;
14
+ static LimitWithPrecision(latOrLng: number, precision?: number): number;
15
+ static IsEqualsLatLng(latOrLng1: number, latOrLng2: number, cartesianStep?: number): boolean;
16
+ static IsAroundLatLng(latLngCenter: LatLng, latLngAround: LatLng, stepRange: number, cartesianStep?: number): boolean;
17
+ static IsNotAroundLatLng(latLngCenter: LatLng, latLngAround: LatLng, stepRange: number, cartesianStep?: number): boolean;
18
+ static DegToRad(azimuthInDegrees: number): number;
19
+ static GetAzimuthRad(angleInDegrees: number): number;
20
+ static ComputeLatSteps(cartesianValues: CartesianValue[]): number[];
21
+ static ComputeLngSteps(cartesianValues: CartesianValue[]): number[];
22
+ static LogCartesianValues(cartesianValues: CartesianValue[], logger?: Console): void;
23
+ static UniqNum(a: number[]): number[];
24
+ static UniqStr(a: number[]): number[];
25
+ static GetDistanceFromLatLngInKm(latLng1: LatLng, latLng2: LatLng): number;
26
+ static VincentyDistance(latLng1: LatLng, latLng2: LatLng): number;
27
+ protected static LabelWithSign(val: number): string;
28
+ getScaleLatLng(latLng: LatLng, latDirection?: number): LatLng;
29
+ getScaleLatLngFromEarth(fromLatLng: LatLng): LatLng;
30
+ getLatLngFromEarthMap(fromLatLng: LatLng): LatLng;
31
+ buildLatLngEarthMap(): EarthMap;
32
+ }
@@ -1,24 +1,18 @@
1
- import {LatLng} from './LatLng';
2
- import {CartesianValue} from './CartesianValue';
3
- import {EarthMap} from './EarthMap';
4
-
5
- export class CartesianTools {
6
-
7
- // scale of Pixel regarding LatLng : Approx. 1 => 100km, 0.01 => 1km, 0.005 => 500m
8
- public static DEFAULT_SCALE = 0.01;
9
-
10
- constructor(public scale = CartesianTools.DEFAULT_SCALE,
11
- public earthMap: EarthMap = undefined) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CartesianTools = void 0;
4
+ const LatLng_1 = require("./LatLng");
5
+ class CartesianTools {
6
+ constructor(scale = CartesianTools.DEFAULT_SCALE, earthMap = undefined) {
7
+ this.scale = scale;
8
+ this.earthMap = earthMap;
12
9
  }
13
-
14
- public static RoundLatLng(latOrLng: number, scale = CartesianTools.DEFAULT_SCALE, needPrecision = false): number {
15
-
10
+ static RoundLatLng(latOrLng, scale = CartesianTools.DEFAULT_SCALE, needPrecision = false) {
16
11
  const result = Math.round(latOrLng / scale) * scale;
17
12
  if (!needPrecision) {
18
13
  return result;
19
14
  }
20
15
  return parseFloat(parseFloat('' + result).toPrecision(12));
21
-
22
16
  // alternative ?
23
17
  // let decimalPlaces = 0;
24
18
  // if (('' + scale).indexOf('0.') === 0) {
@@ -30,27 +24,20 @@ export class CartesianTools {
30
24
  // const n = (latOrLng * p) * (1 + Number.EPSILON);
31
25
  // return Math.round(n) / p;
32
26
  }
33
-
34
- public static CreateLatLng(latLng: { lat: number, lng: number }) {
35
- const created = new LatLng(latLng);
27
+ static CreateLatLng(latLng) {
28
+ const created = new LatLng_1.LatLng(latLng);
36
29
  created.setPrecision();
37
30
  return created;
38
31
  }
39
-
40
- public static LimitWithPrecision(latOrLng: number, precision = 12): number {
32
+ static LimitWithPrecision(latOrLng, precision = 12) {
41
33
  return parseFloat(parseFloat('' + latOrLng).toPrecision(precision));
42
34
  }
43
-
44
- public static IsEqualsLatLng(latOrLng1: number, latOrLng2: number, cartesianStep = CartesianTools.DEFAULT_SCALE): boolean {
35
+ static IsEqualsLatLng(latOrLng1, latOrLng2, cartesianStep = CartesianTools.DEFAULT_SCALE) {
45
36
  return CartesianTools.RoundLatLng(latOrLng1, cartesianStep, true) === CartesianTools.RoundLatLng(latOrLng2, cartesianStep, true);
46
37
  }
47
-
48
- public static IsAroundLatLng(latLngCenter: LatLng, latLngAround: LatLng, stepRange: number,
49
- cartesianStep = CartesianTools.DEFAULT_SCALE): boolean {
50
-
38
+ static IsAroundLatLng(latLngCenter, latLngAround, stepRange, cartesianStep = CartesianTools.DEFAULT_SCALE) {
51
39
  let isAround = false;
52
- const min = -stepRange * cartesianStep,
53
- max = stepRange * cartesianStep;
40
+ const min = -stepRange * cartesianStep, max = stepRange * cartesianStep;
54
41
  for (let lat = min; !isAround && lat <= max; lat += cartesianStep) {
55
42
  for (let lng = min; !isAround && lng <= max; lng += cartesianStep) {
56
43
  isAround = CartesianTools.RoundLatLng(latLngCenter.lat, cartesianStep, true)
@@ -61,70 +48,54 @@ export class CartesianTools {
61
48
  }
62
49
  }
63
50
  }
64
-
65
51
  return isAround;
66
52
  }
67
-
68
- public static IsNotAroundLatLng(latLngCenter: LatLng, latLngAround: LatLng, stepRange: number,
69
- cartesianStep = CartesianTools.DEFAULT_SCALE): boolean {
70
-
53
+ static IsNotAroundLatLng(latLngCenter, latLngAround, stepRange, cartesianStep = CartesianTools.DEFAULT_SCALE) {
71
54
  const max = (stepRange * cartesianStep) + Number.EPSILON;
72
-
73
55
  let isOut = CartesianTools.RoundLatLng(latLngCenter.lat, cartesianStep)
74
56
  > CartesianTools.RoundLatLng(latLngAround.lat + max, cartesianStep)
75
57
  || CartesianTools.RoundLatLng(latLngCenter.lat, cartesianStep)
76
- < CartesianTools.RoundLatLng(latLngAround.lat - max, cartesianStep);
58
+ < CartesianTools.RoundLatLng(latLngAround.lat - max, cartesianStep);
77
59
  if (!isOut) {
78
60
  isOut = CartesianTools.RoundLatLng(latLngCenter.lng, cartesianStep)
79
61
  > CartesianTools.RoundLatLng(latLngAround.lng + max, cartesianStep)
80
62
  || CartesianTools.RoundLatLng(latLngCenter.lng, cartesianStep)
81
- < CartesianTools.RoundLatLng(latLngAround.lng - max, cartesianStep);
63
+ < CartesianTools.RoundLatLng(latLngAround.lng - max, cartesianStep);
82
64
  }
83
-
84
65
  return isOut;
85
66
  }
86
-
87
- public static DegToRad(azimuthInDegrees: number) {
67
+ static DegToRad(azimuthInDegrees) {
88
68
  return azimuthInDegrees * Math.PI / 180;
89
69
  }
90
-
91
- public static GetAzimuthRad(angleInDegrees: number): number {
70
+ static GetAzimuthRad(angleInDegrees) {
92
71
  return CartesianTools.DegToRad(-angleInDegrees + 90);
93
72
  }
94
-
95
- public static ComputeLatSteps(cartesianValues: CartesianValue[]): number[] {
73
+ static ComputeLatSteps(cartesianValues) {
96
74
  const lats = cartesianValues.map(c => c.lat).sort((a, b) => a - b);
97
75
  return CartesianTools.UniqNum(lats);
98
76
  }
99
-
100
- public static ComputeLngSteps(cartesianValues: CartesianValue[]): number[] {
77
+ static ComputeLngSteps(cartesianValues) {
101
78
  const lngs = cartesianValues.map(c => c.lng).sort((a, b) => a - b);
102
79
  return CartesianTools.UniqNum(lngs);
103
80
  }
104
-
105
- public static LogCartesianValues(cartesianValues: CartesianValue[],
106
- logger = console) {
107
- logger?.log('>> raain-quality ### logCartesianValues with', cartesianValues.length,
108
- CartesianTools.DEFAULT_SCALE, ' in progress...');
81
+ static LogCartesianValues(cartesianValues, logger = console) {
82
+ logger === null || logger === void 0 ? void 0 : logger.log('>> raain-quality ### logCartesianValues with', cartesianValues.length, CartesianTools.DEFAULT_SCALE, ' in progress...');
109
83
  const pointsToShow = {};
110
84
  const latSteps = CartesianTools.ComputeLatSteps(cartesianValues);
111
85
  const lngSteps = CartesianTools.ComputeLngSteps(cartesianValues);
112
-
113
- const labelX = (v: number) => {
114
- return CartesianTools.LabelWithSign(v)
115
- }
116
- const labelY = (v: number) => {
117
- return CartesianTools.LabelWithSign(v)
118
- }
86
+ const labelX = (v) => {
87
+ return CartesianTools.LabelWithSign(v);
88
+ };
89
+ const labelY = (v) => {
90
+ return CartesianTools.LabelWithSign(v);
91
+ };
119
92
  const valueDisplay = (v) => {
120
93
  return '' + Math.round(v * 100) / 100;
121
- }
122
-
94
+ };
123
95
  for (let lat of latSteps) {
124
96
  const xObject = {};
125
97
  for (let lng of lngSteps) {
126
-
127
- const latLng = new LatLng({lat, lng});
98
+ const latLng = new LatLng_1.LatLng({ lat, lng });
128
99
  latLng.setPrecision(12);
129
100
  lat = latLng.lat;
130
101
  lng = latLng.lng;
@@ -132,44 +103,35 @@ export class CartesianTools {
132
103
  }
133
104
  pointsToShow[labelY(lat)] = xObject;
134
105
  }
135
-
136
106
  for (const [index, point] of cartesianValues.entries()) {
137
- let value = valueDisplay(point.value)
107
+ let value = valueDisplay(point.value);
138
108
  if (pointsToShow[labelY(point.lat)][labelX(point.lng)] !== '0') {
139
109
  value = '' + value + '?' + pointsToShow[labelY(point.lat)][labelX(point.lng)];
140
110
  }
141
-
142
111
  pointsToShow[labelY(point.lat)][labelX(point.lng)] = value;
143
112
  }
144
-
145
- logger?.table(pointsToShow);
113
+ logger === null || logger === void 0 ? void 0 : logger.table(pointsToShow);
146
114
  }
147
-
148
- public static UniqNum(a: number[]) {
115
+ static UniqNum(a) {
149
116
  return [...new Set(a)];
150
117
  }
151
-
152
- public static UniqStr(a: number[]) {
118
+ static UniqStr(a) {
153
119
  return [...new Set(a)];
154
120
  }
155
-
156
- public static GetDistanceFromLatLngInKm(latLng1: LatLng, latLng2: LatLng) {
121
+ static GetDistanceFromLatLngInKm(latLng1, latLng2) {
157
122
  const R = 6371; // Radius of the earth in km
158
123
  const dLat = CartesianTools.DegToRad(latLng2.lat - latLng1.lat);
159
124
  const dLon = CartesianTools.DegToRad(latLng2.lng - latLng1.lng);
160
- const a =
161
- Math.sin(dLat / 2) * Math.sin(dLat / 2) +
125
+ const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) +
162
126
  Math.cos(CartesianTools.DegToRad(latLng1.lat)) * Math.cos(CartesianTools.DegToRad(latLng2.lat)) *
163
- Math.sin(dLon / 2) * Math.sin(dLon / 2);
127
+ Math.sin(dLon / 2) * Math.sin(dLon / 2);
164
128
  const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
165
129
  return R * c; // Distance in km
166
130
  }
167
-
168
- public static VincentyDistance(latLng1: LatLng, latLng2: LatLng) {
131
+ static VincentyDistance(latLng1, latLng2) {
169
132
  const a = 6378137.0; // WGS84 ellipsoid semi-major axis
170
133
  const f = 1 / 298.257223563; // WGS84 ellipsoid flattening
171
134
  const b = 6356752.314245; // derived semi-minor axis
172
-
173
135
  const L = CartesianTools.DegToRad(latLng2.lng - latLng1.lng);
174
136
  const U1 = Math.atan((1 - f) * Math.tan(CartesianTools.DegToRad(latLng1.lat)));
175
137
  const U2 = Math.atan((1 - f) * Math.tan(CartesianTools.DegToRad(latLng2.lat)));
@@ -177,129 +139,103 @@ export class CartesianTools {
177
139
  const cosU1 = Math.cos(U1);
178
140
  const sinU2 = Math.sin(U2);
179
141
  const cosU2 = Math.cos(U2);
180
-
181
142
  let lambda = L;
182
- let lambdaP: number;
143
+ let lambdaP;
183
144
  let iterLimit = 100;
184
- let cosSqAlpha: number, sinSigma: number, cos2SigmaM: number, cosSigma: number, sigma: number, sinLambda: number, cosLambda: number,
185
- sinAlpha: number;
186
-
145
+ let cosSqAlpha, sinSigma, cos2SigmaM, cosSigma, sigma, sinLambda, cosLambda, sinAlpha;
187
146
  do {
188
147
  sinLambda = Math.sin(lambda);
189
148
  cosLambda = Math.cos(lambda);
190
149
  sinSigma = Math.sqrt((cosU2 * sinLambda) * (cosU2 * sinLambda) +
191
150
  (cosU1 * sinU2 - sinU1 * cosU2 * cosLambda) * (cosU1 * sinU2 - sinU1 * cosU2 * cosLambda));
192
-
193
- if (sinSigma === 0) return 0; // co-incident points
194
-
151
+ if (sinSigma === 0)
152
+ return 0; // co-incident points
195
153
  cosSigma = sinU1 * sinU2 + cosU1 * cosU2 * cosLambda;
196
154
  sigma = Math.atan2(sinSigma, cosSigma);
197
155
  sinAlpha = cosU1 * cosU2 * sinLambda / sinSigma;
198
156
  cosSqAlpha = 1 - sinAlpha * sinAlpha;
199
157
  cos2SigmaM = cosSigma - 2 * sinU1 * sinU2 / cosSqAlpha;
200
-
201
- if (isNaN(cos2SigmaM)) cos2SigmaM = 0; // equatorial line
202
-
158
+ if (isNaN(cos2SigmaM))
159
+ cos2SigmaM = 0; // equatorial line
203
160
  const C = f / 16 * cosSqAlpha * (4 + f * (4 - 3 * cosSqAlpha));
204
161
  lambdaP = lambda;
205
162
  lambda = L + (1 - C) * f * sinAlpha *
206
163
  (sigma + C * sinSigma * (cos2SigmaM + C * cosSigma * (-1 + 2 * cos2SigmaM * cos2SigmaM)));
207
-
208
164
  } while (Math.abs(lambda - lambdaP) > 1e-12 && --iterLimit > 0);
209
-
210
- if (iterLimit === 0) return NaN; // formula failed to converge
211
-
165
+ if (iterLimit === 0)
166
+ return NaN; // formula failed to converge
212
167
  const uSq = cosSqAlpha * (a * a - b * b) / (b * b);
213
168
  const A = 1 + uSq / 16384 * (4096 + uSq * (-768 + uSq * (320 - 175 * uSq)));
214
169
  const B = uSq / 1024 * (256 + uSq * (-128 + uSq * (74 - 47 * uSq)));
215
-
216
170
  const deltaSigma = B * sinSigma * (cos2SigmaM + B / 4 *
217
171
  (cosSigma * (-1 + 2 * cos2SigmaM * cos2SigmaM) -
218
172
  B / 6 * cos2SigmaM * (-3 + 4 * sinSigma * sinSigma) * (-3 + 4 * cos2SigmaM * cos2SigmaM)));
219
-
220
173
  const s = b * A * (sigma - deltaSigma);
221
-
222
174
  return s / 1000; // distance in kilometers
223
175
  }
224
-
225
- protected static LabelWithSign(val: number) {
176
+ static LabelWithSign(val) {
226
177
  const value = val;
227
178
  if (value < 0) {
228
179
  return '' + value;
229
- } else if (value === 0) {
180
+ }
181
+ else if (value === 0) {
230
182
  return ' ' + 0;
231
183
  }
232
184
  return '+' + value;
233
185
  }
234
-
235
- public getScaleLatLng(latLng: LatLng, latDirection = 1): LatLng {
236
-
186
+ getScaleLatLng(latLng, latDirection = 1) {
237
187
  let lat2 = latLng.lat + this.scale;
238
188
  if (latDirection < 0) {
239
189
  lat2 = latLng.lat - this.scale;
240
190
  }
241
- const latDist = CartesianTools.VincentyDistance(new LatLng({lat: latLng.lat, lng: 0}),
242
- new LatLng({lat: lat2, lng: 0}));
191
+ const latDist = CartesianTools.VincentyDistance(new LatLng_1.LatLng({ lat: latLng.lat, lng: 0 }), new LatLng_1.LatLng({ lat: lat2, lng: 0 }));
243
192
  let lngScale = this.scale;
244
- let minDiff: number;
193
+ let minDiff;
245
194
  for (let scale = 0; scale <= this.scale * 100; scale += this.scale / 10) {
246
195
  scale = CartesianTools.LimitWithPrecision(scale);
247
- const lngDist = CartesianTools.VincentyDistance(new LatLng({lat: lat2, lng: 0}),
248
- new LatLng({lat: lat2, lng: scale}));
196
+ const lngDist = CartesianTools.VincentyDistance(new LatLng_1.LatLng({ lat: lat2, lng: 0 }), new LatLng_1.LatLng({ lat: lat2, lng: scale }));
249
197
  const diff2 = Math.abs(latDist - lngDist);
250
198
  if (!minDiff || Math.min(minDiff, diff2) === diff2) {
251
199
  minDiff = diff2;
252
200
  lngScale = scale;
253
- } else {
201
+ }
202
+ else {
254
203
  break;
255
204
  }
256
205
  }
257
-
258
206
  const lat = CartesianTools.LimitWithPrecision(this.scale);
259
207
  const lng = CartesianTools.LimitWithPrecision(lngScale);
260
- return new LatLng({lat, lng});
208
+ return new LatLng_1.LatLng({ lat, lng });
261
209
  }
262
-
263
- public getScaleLatLngFromEarth(fromLatLng: LatLng): LatLng {
264
-
210
+ getScaleLatLngFromEarth(fromLatLng) {
265
211
  if (!this.earthMap) {
266
212
  return null;
267
213
  }
268
-
269
214
  const posLat = Math.round((90 + fromLatLng.lat) / this.scale);
270
215
  const latitudeLongitudeScale = this.earthMap.latitudeLongitudeScales[posLat];
271
- return new LatLng({lat: this.scale, lng: latitudeLongitudeScale});
216
+ return new LatLng_1.LatLng({ lat: this.scale, lng: latitudeLongitudeScale });
272
217
  }
273
-
274
- public getLatLngFromEarthMap(fromLatLng: LatLng): LatLng {
275
-
218
+ getLatLngFromEarthMap(fromLatLng) {
276
219
  if (!this.earthMap) {
277
220
  return null;
278
221
  }
279
-
280
222
  const posLat = Math.round((90 + fromLatLng.lat) / this.scale);
281
223
  const lat = this.earthMap.latitudes[posLat];
282
224
  const latitudeLongitudeScale = this.earthMap.latitudeLongitudeScales[posLat];
283
-
284
225
  const lngPos = Math.round(fromLatLng.lng / latitudeLongitudeScale);
285
226
  const lng = CartesianTools.LimitWithPrecision(lngPos * latitudeLongitudeScale);
286
-
287
- return new LatLng({lat, lng})
227
+ return new LatLng_1.LatLng({ lat, lng });
288
228
  }
289
-
290
- public buildLatLngEarthMap(): EarthMap {
291
-
229
+ buildLatLngEarthMap() {
292
230
  if (this.earthMap) {
293
231
  delete this.earthMap;
294
232
  }
295
233
  this.earthMap = undefined;
296
-
297
- const earthMap: EarthMap = {
234
+ const earthMap = {
298
235
  latitudes: [],
299
236
  latitudeScale: this.scale,
300
237
  latitudeLongitudeScales: []
301
238
  };
302
-
303
239
  for (let lat = -90; lat <= 90; lat += this.scale) {
304
240
  lat = CartesianTools.LimitWithPrecision(lat);
305
241
  earthMap.latitudes.push(lat);
@@ -307,10 +243,13 @@ export class CartesianTools {
307
243
  if (lat > 0) {
308
244
  direction = -1;
309
245
  }
310
- earthMap.latitudeLongitudeScales.push(this.getScaleLatLng(new LatLng({lat, lng: 0}), direction).lng);
246
+ earthMap.latitudeLongitudeScales.push(this.getScaleLatLng(new LatLng_1.LatLng({ lat, lng: 0 }), direction).lng);
311
247
  }
312
-
313
248
  this.earthMap = earthMap;
314
249
  return earthMap;
315
250
  }
316
251
  }
252
+ exports.CartesianTools = CartesianTools;
253
+ // scale of Pixel regarding LatLng : Approx. 1 => 100km, 0.01 => 1km, 0.005 => 500m
254
+ CartesianTools.DEFAULT_SCALE = 0.01;
255
+ //# sourceMappingURL=CartesianTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartesianTools.js","sourceRoot":"","sources":["../../src/cartesian/CartesianTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { LatLng } from './LatLng';
2
+ export declare class CartesianValue extends LatLng {
3
+ value: number;
4
+ constructor(json: {
5
+ value: number;
6
+ lat: number;
7
+ lng: number;
8
+ });
9
+ toJSON(): {
10
+ value: number;
11
+ lat: number;
12
+ lng: number;
13
+ };
14
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CartesianValue = void 0;
4
+ const LatLng_1 = require("./LatLng");
5
+ class CartesianValue extends LatLng_1.LatLng {
6
+ constructor(json) {
7
+ super(json);
8
+ this.value = json.value;
9
+ }
10
+ toJSON() {
11
+ const json = super.toJSON();
12
+ json.value = this.value;
13
+ return json;
14
+ }
15
+ }
16
+ exports.CartesianValue = CartesianValue;
17
+ //# sourceMappingURL=CartesianValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CartesianValue.js","sourceRoot":"","sources":["../../src/cartesian/CartesianValue.ts"],"names":[],"mappings":";;;AAAA,qCAAgC;AAEhC,MAAa,cAAe,SAAQ,eAAM;IAItC,YAAY,IAIC;QAET,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,MAAM;QAKF,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,EAAS,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAvBD,wCAuBC"}
@@ -0,0 +1,5 @@
1
+ export interface EarthMap {
2
+ latitudeScale: number;
3
+ latitudes: number[];
4
+ latitudeLongitudeScales: number[];
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=EarthMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EarthMap.js","sourceRoot":"","sources":["../../src/cartesian/EarthMap.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ import { CartesianValue } from './CartesianValue';
2
+ import { LatLng } from './LatLng';
3
+ export interface ICartesianMeasureValue {
4
+ getLimitPoints(): [LatLng, LatLng];
5
+ getCartesianValuesStringified(): string;
6
+ getCartesianValues(): CartesianValue[];
7
+ toJSON(): any;
8
+ toJSONWithCartesianValuesStringified(): any;
9
+ getCartesianValue(json: {
10
+ lat: number;
11
+ lng: number;
12
+ }): CartesianValue;
13
+ getCartesianValueRounded(json: {
14
+ lat: number;
15
+ lng: number;
16
+ scale: LatLng;
17
+ }): CartesianValue;
18
+ setCartesianValue(json: {
19
+ lat: number;
20
+ lng: number;
21
+ value: number;
22
+ }): void;
23
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ICartesianMeasureValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICartesianMeasureValue.js","sourceRoot":"","sources":["../../src/cartesian/ICartesianMeasureValue.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ export declare class LatLng {
2
+ lat: number;
3
+ lng: number;
4
+ constructor(json: {
5
+ lat: number;
6
+ lng: number;
7
+ });
8
+ equals(v: LatLng): boolean;
9
+ setPrecision(precision?: number): void;
10
+ rounded(scale: LatLng): void;
11
+ limitPrecision(precision?: number): void;
12
+ toJSON(): {
13
+ lat: number;
14
+ lng: number;
15
+ };
16
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LatLng = void 0;
4
+ const CartesianTools_1 = require("./CartesianTools");
5
+ class LatLng {
6
+ constructor(json) {
7
+ if (typeof (json === null || json === void 0 ? void 0 : json.lat) === 'undefined' || typeof (json === null || json === void 0 ? void 0 : json.lng) === 'undefined') {
8
+ throw new Error('LatLng needs valid latitude && longitude');
9
+ }
10
+ this.lat = json.lat;
11
+ this.lng = json.lng;
12
+ }
13
+ equals(v) {
14
+ return this.lat === v.lat && this.lng === v.lng;
15
+ }
16
+ setPrecision(precision = 12) {
17
+ const tenPower = Math.pow(10, precision);
18
+ this.lat = Math.round(this.lat * tenPower) / tenPower;
19
+ this.lng = Math.round(this.lng * tenPower) / tenPower;
20
+ }
21
+ rounded(scale) {
22
+ this.lat = CartesianTools_1.CartesianTools.RoundLatLng(this.lat, scale.lat, true);
23
+ this.lng = CartesianTools_1.CartesianTools.RoundLatLng(this.lng, scale.lng, true);
24
+ }
25
+ limitPrecision(precision = 12) {
26
+ this.lat = CartesianTools_1.CartesianTools.LimitWithPrecision(this.lat, precision);
27
+ this.lng = CartesianTools_1.CartesianTools.LimitWithPrecision(this.lng, precision);
28
+ }
29
+ toJSON() {
30
+ return { lat: this.lat, lng: this.lng };
31
+ }
32
+ }
33
+ exports.LatLng = LatLng;
34
+ //# sourceMappingURL=LatLng.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LatLng.js","sourceRoot":"","sources":["../../src/cartesian/LatLng.ts"],"names":[],"mappings":";;;AAAA,qDAAgD;AAEhD,MAAa,MAAM;IAKf,YAAY,IAGX;QACG,IAAI,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAA,KAAK,WAAW,IAAI,OAAO,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAA,KAAK,WAAW,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACxB,CAAC;IAEM,MAAM,CAAC,CAAS;QACnB,OAAO,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC;IACpD,CAAC;IAED,YAAY,CAAC,YAAoB,EAAE;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC;QACtD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC;IAC1D,CAAC;IAED,OAAO,CAAC,KAAa;QACjB,IAAI,CAAC,GAAG,GAAG,+BAAc,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,GAAG,GAAG,+BAAc,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,cAAc,CAAC,SAAS,GAAG,EAAE;QACzB,IAAI,CAAC,GAAG,GAAG,+BAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,GAAG,GAAG,+BAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;IAED,MAAM;QACF,OAAO,EAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAC,CAAC;IAC1C,CAAC;CACJ;AAxCD,wBAwCC"}
@@ -0,0 +1,27 @@
1
+ import { CartesianValue } from './CartesianValue';
2
+ import { CartesianMeasureValue } from './CartesianMeasureValue';
3
+ import { LatLng } from './LatLng';
4
+ export declare class RadarCartesianMeasureValue extends CartesianMeasureValue {
5
+ angle: number;
6
+ axis: number;
7
+ constructor(json: {
8
+ cartesianValues: string | CartesianValue[];
9
+ angle: number;
10
+ axis: number;
11
+ limitPoints: [LatLng, LatLng];
12
+ });
13
+ toJSON(options?: {
14
+ stringify: boolean;
15
+ }): {
16
+ angle: number;
17
+ axis: number;
18
+ cartesianValues: string | CartesianValue[];
19
+ limitPoints: [LatLng, LatLng];
20
+ };
21
+ toJSONWithCartesianValuesStringified(): {
22
+ angle: number;
23
+ axis: number;
24
+ cartesianValues: string | CartesianValue[];
25
+ limitPoints: [LatLng, LatLng];
26
+ };
27
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RadarCartesianMeasureValue = void 0;
4
+ const CartesianMeasureValue_1 = require("./CartesianMeasureValue");
5
+ class RadarCartesianMeasureValue extends CartesianMeasureValue_1.CartesianMeasureValue {
6
+ constructor(json) {
7
+ super(json);
8
+ this.angle = json.angle;
9
+ this.axis = json.axis;
10
+ }
11
+ toJSON(options = { stringify: false }) {
12
+ const json = super.toJSON(options);
13
+ return {
14
+ ...json,
15
+ angle: this.angle,
16
+ axis: this.axis
17
+ };
18
+ }
19
+ toJSONWithCartesianValuesStringified() {
20
+ return this.toJSON({ stringify: true });
21
+ }
22
+ }
23
+ exports.RadarCartesianMeasureValue = RadarCartesianMeasureValue;
24
+ //# sourceMappingURL=RadarCartesianMeasureValue.js.map