@map-colonies/mc-utils 1.9.0 → 2.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 (114) hide show
  1. package/README.md +67 -67
  2. package/dist/arrays/index.d.ts +1 -1
  3. package/dist/arrays/index.d.ts.map +0 -0
  4. package/dist/arrays/index.js +17 -13
  5. package/dist/arrays/index.js.map +1 -1
  6. package/dist/arrays/subGroups.d.ts +8 -8
  7. package/dist/arrays/subGroups.d.ts.map +0 -0
  8. package/dist/arrays/subGroups.js +138 -138
  9. package/dist/arrays/subGroups.js.map +0 -0
  10. package/dist/communication/http/httpClient.d.ts +29 -28
  11. package/dist/communication/http/httpClient.d.ts.map +1 -1
  12. package/dist/communication/http/httpClient.js +434 -429
  13. package/dist/communication/http/httpClient.js.map +1 -1
  14. package/dist/communication/http/index.d.ts +1 -1
  15. package/dist/communication/http/index.d.ts.map +0 -0
  16. package/dist/communication/http/index.js +17 -13
  17. package/dist/communication/http/index.js.map +1 -1
  18. package/dist/communication/index.d.ts +1 -1
  19. package/dist/communication/index.d.ts.map +0 -0
  20. package/dist/communication/index.js +17 -13
  21. package/dist/communication/index.js.map +1 -1
  22. package/dist/dateTime/getUTCDate.d.ts +1 -1
  23. package/dist/dateTime/getUTCDate.d.ts.map +0 -0
  24. package/dist/dateTime/getUTCDate.js +10 -10
  25. package/dist/dateTime/getUTCDate.js.map +0 -0
  26. package/dist/dateTime/index.d.ts +1 -1
  27. package/dist/dateTime/index.d.ts.map +0 -0
  28. package/dist/dateTime/index.js +17 -13
  29. package/dist/dateTime/index.js.map +1 -1
  30. package/dist/geo/bboxUtils.d.ts +23 -23
  31. package/dist/geo/bboxUtils.d.ts.map +0 -0
  32. package/dist/geo/bboxUtils.js +89 -89
  33. package/dist/geo/bboxUtils.js.map +0 -0
  34. package/dist/geo/geoConvertor.d.ts +18 -18
  35. package/dist/geo/geoConvertor.d.ts.map +0 -0
  36. package/dist/geo/geoConvertor.js +51 -51
  37. package/dist/geo/geoConvertor.js.map +0 -0
  38. package/dist/geo/geoHash.d.ts +24 -24
  39. package/dist/geo/geoHash.d.ts.map +1 -1
  40. package/dist/geo/geoHash.js +274 -242
  41. package/dist/geo/geoHash.js.map +1 -1
  42. package/dist/geo/geoIntersection.d.ts +19 -19
  43. package/dist/geo/geoIntersection.d.ts.map +0 -0
  44. package/dist/geo/geoIntersection.js +70 -70
  45. package/dist/geo/geoIntersection.js.map +0 -0
  46. package/dist/geo/index.d.ts +8 -8
  47. package/dist/geo/index.d.ts.map +0 -0
  48. package/dist/geo/index.js +24 -20
  49. package/dist/geo/index.js.map +1 -1
  50. package/dist/geo/tileBatcher.d.ts +8 -8
  51. package/dist/geo/tileBatcher.d.ts.map +1 -1
  52. package/dist/geo/tileBatcher.js +188 -167
  53. package/dist/geo/tileBatcher.js.map +1 -1
  54. package/dist/geo/tileRanger.d.ts +46 -46
  55. package/dist/geo/tileRanger.d.ts.map +0 -0
  56. package/dist/geo/tileRanger.js +327 -327
  57. package/dist/geo/tileRanger.js.map +0 -0
  58. package/dist/geo/tiles.d.ts +82 -82
  59. package/dist/geo/tiles.d.ts.map +1 -1
  60. package/dist/geo/tiles.js +246 -238
  61. package/dist/geo/tiles.js.map +1 -1
  62. package/dist/geo/tilesGenerator.d.ts +2 -2
  63. package/dist/geo/tilesGenerator.d.ts.map +0 -0
  64. package/dist/geo/tilesGenerator.js +94 -94
  65. package/dist/geo/tilesGenerator.js.map +0 -0
  66. package/dist/index.d.ts +5 -5
  67. package/dist/index.d.ts.map +0 -0
  68. package/dist/index.js +21 -17
  69. package/dist/index.js.map +1 -1
  70. package/dist/models/enums/gdal/dataType.d.ts +16 -16
  71. package/dist/models/enums/gdal/dataType.d.ts.map +0 -0
  72. package/dist/models/enums/gdal/dataType.js +20 -20
  73. package/dist/models/enums/gdal/dataType.js.map +0 -0
  74. package/dist/models/enums/gdal/index.d.ts +2 -2
  75. package/dist/models/enums/gdal/index.d.ts.map +0 -0
  76. package/dist/models/enums/gdal/index.js +18 -14
  77. package/dist/models/enums/gdal/index.js.map +1 -1
  78. package/dist/models/enums/gdal/resamplingMethod.d.ts +16 -16
  79. package/dist/models/enums/gdal/resamplingMethod.d.ts.map +0 -0
  80. package/dist/models/enums/gdal/resamplingMethod.js +20 -20
  81. package/dist/models/enums/gdal/resamplingMethod.js.map +0 -0
  82. package/dist/models/enums/geo/index.d.ts +1 -1
  83. package/dist/models/enums/geo/index.d.ts.map +0 -0
  84. package/dist/models/enums/geo/index.js +17 -13
  85. package/dist/models/enums/geo/index.js.map +1 -1
  86. package/dist/models/enums/geo/tileOrigin.d.ts +7 -7
  87. package/dist/models/enums/geo/tileOrigin.d.ts.map +0 -0
  88. package/dist/models/enums/geo/tileOrigin.js +11 -11
  89. package/dist/models/enums/geo/tileOrigin.js.map +0 -0
  90. package/dist/models/enums/index.d.ts +2 -2
  91. package/dist/models/enums/index.d.ts.map +0 -0
  92. package/dist/models/enums/index.js +18 -14
  93. package/dist/models/enums/index.js.map +1 -1
  94. package/dist/models/index.d.ts +2 -2
  95. package/dist/models/index.d.ts.map +0 -0
  96. package/dist/models/index.js +18 -14
  97. package/dist/models/index.js.map +1 -1
  98. package/dist/models/interfaces/geo/iPoint.d.ts +7 -7
  99. package/dist/models/interfaces/geo/iPoint.d.ts.map +0 -0
  100. package/dist/models/interfaces/geo/iPoint.js +2 -2
  101. package/dist/models/interfaces/geo/iPoint.js.map +0 -0
  102. package/dist/models/interfaces/geo/iTile.d.ts +15 -15
  103. package/dist/models/interfaces/geo/iTile.d.ts.map +0 -0
  104. package/dist/models/interfaces/geo/iTile.js +2 -2
  105. package/dist/models/interfaces/geo/iTile.js.map +0 -0
  106. package/dist/models/interfaces/geo/index.d.ts +2 -2
  107. package/dist/models/interfaces/geo/index.d.ts.map +0 -0
  108. package/dist/models/interfaces/geo/index.js +18 -14
  109. package/dist/models/interfaces/geo/index.js.map +1 -1
  110. package/dist/models/interfaces/index.d.ts +1 -1
  111. package/dist/models/interfaces/index.d.ts.map +0 -0
  112. package/dist/models/interfaces/index.js +17 -13
  113. package/dist/models/interfaces/index.js.map +1 -1
  114. package/package.json +79 -79
package/dist/geo/tiles.js CHANGED
@@ -1,239 +1,247 @@
1
- "use strict";
2
- var __values = (this && this.__values) || function(o) {
3
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
- if (m) return m.call(o);
5
- if (o && typeof o.length === "number") return {
6
- next: function () {
7
- if (o && i >= o.length) o = void 0;
8
- return { value: o && o[i++], done: !o };
9
- }
10
- };
11
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.featureCollectionToTilesCount = exports.featureToTilesCount = exports.tileRangeToTilesCount = exports.tileToBbox = exports.degreesPerPixelToZoomLevel = exports.zoomLevelToResolutionMeter = exports.zoomLevelToResolutionDeg = exports.flipYAxis = exports.degreesPerPixel = exports.degreesPerTile = void 0;
15
- var turf_1 = require("@turf/turf");
16
- var bboxUtils_1 = require("./bboxUtils");
17
- var geoConvertor_1 = require("./geoConvertor");
18
- var zoomToResolutionDegMapper = {
19
- 0: 0.703125,
20
- 1: 0.3515625,
21
- 2: 0.17578125,
22
- 3: 0.087890625,
23
- 4: 0.0439453125,
24
- 5: 0.02197265625,
25
- 6: 0.010986328125,
26
- 7: 0.0054931640625,
27
- 8: 0.00274658203125,
28
- 9: 0.001373291015625,
29
- 10: 0.0006866455078125,
30
- 11: 0.00034332275390625,
31
- 12: 0.000171661376953125,
32
- 13: 0.0000858306884765625,
33
- 14: 0.0000429153442382812,
34
- 15: 0.0000214576721191406,
35
- 16: 0.0000107288360595703,
36
- 17: 0.00000536441802978516,
37
- 18: 0.00000268220901489258,
38
- 19: 0.00000134110450744629,
39
- 20: 0.000000670552253723145,
40
- 21: 0.000000335276126861572,
41
- 22: 0.000000167638063430786,
42
- };
43
- var zoomToResolutionMeterMapper = {
44
- 0: 78271.52,
45
- 1: 39135.76,
46
- 2: 19567.88,
47
- 3: 9783.94,
48
- 4: 4891.97,
49
- 5: 2445.98,
50
- 6: 1222.99,
51
- 7: 611.5,
52
- 8: 305.75,
53
- 9: 152.87,
54
- 10: 76.44,
55
- 11: 38.22,
56
- 12: 19.11,
57
- 13: 9.55,
58
- 14: 4.78,
59
- 15: 2.39,
60
- 16: 1.19,
61
- 17: 0.6,
62
- 18: 0.3,
63
- 19: 0.15,
64
- 20: 0.075,
65
- 21: 0.037,
66
- 22: 0.0185,
67
- };
68
- /**
69
- * calculates tile size (resolution) in degrees
70
- * @param zoomLevel zoom level of returned tile size
71
- * @returns tile size (resolution) in degrees
72
- */
73
- function degreesPerTile(zoomLevel) {
74
- var latRange = 180;
75
- return latRange / (1 << zoomLevel);
76
- }
77
- exports.degreesPerTile = degreesPerTile;
78
- /**
79
- * returns pixel size (resolution) in degrees
80
- * @param zoomLevel tile zoom level of returned tile pixel size
81
- * @returns pixel size (resolution) in degrees
82
- */
83
- function degreesPerPixel(zoomLevel) {
84
- var tileSize = 256;
85
- var tileRes = degreesPerTile(zoomLevel);
86
- return tileRes / tileSize;
87
- }
88
- exports.degreesPerPixel = degreesPerPixel;
89
- /**
90
- * coverts tile coordinates between ll and ul
91
- * @param tile source tile
92
- * @returns converted tile
93
- */
94
- function flipYAxis(tile) {
95
- var yTiles = 1 << tile.zoom;
96
- return {
97
- x: tile.x,
98
- y: yTiles - tile.y - 1,
99
- zoom: tile.zoom,
100
- };
101
- }
102
- exports.flipYAxis = flipYAxis;
103
- /**
104
- * converts zoom level (integer) to matching resolution degree value
105
- * @param zoom zoom level in range of 0-22
106
- * @returns resolution represented in degrees, or undefined if zoom level is out of range
107
- */
108
- function zoomLevelToResolutionDeg(zoom) {
109
- return zoomToResolutionDegMapper[zoom];
110
- }
111
- exports.zoomLevelToResolutionDeg = zoomLevelToResolutionDeg;
112
- /**
113
- * converts zoom level (integer) to matching resolution meter value
114
- * @param zoom zoom level in range of 0-22
115
- * @returns resolution represented in Meters, or undefined if zoom level is out of range
116
- */
117
- function zoomLevelToResolutionMeter(zoom) {
118
- return zoomToResolutionMeterMapper[zoom];
119
- }
120
- exports.zoomLevelToResolutionMeter = zoomLevelToResolutionMeter;
121
- /**
122
- * converts pixel size (resolution) in degrees to matching zoom level (rounded down)
123
- * @param resolution pixel size (resolution) in degrees
124
- * @returns zoom level for given pixel size
125
- */
126
- function degreesPerPixelToZoomLevel(resolution) {
127
- var MIN_ZOOM_LEVEL = 0;
128
- // eslint-disable-next-line @typescript-eslint/no-magic-numbers
129
- var zoomLevel = Math.floor(Math.log2(180 / (resolution * 256)));
130
- if (zoomLevel < MIN_ZOOM_LEVEL) {
131
- throw new Error("Invalid zoom level ".concat(zoomLevel, " for resolution ").concat(resolution));
132
- }
133
- return zoomLevel;
134
- }
135
- exports.degreesPerPixelToZoomLevel = degreesPerPixelToZoomLevel;
136
- /**
137
- * returns bbox of given tile
138
- * @param tile
139
- * @returns
140
- */
141
- function tileToBbox(tile) {
142
- var minPoint = (0, geoConvertor_1.tileToDegrees)(tile);
143
- var tileSize = degreesPerTile(tile.zoom);
144
- return [minPoint.longitude, minPoint.latitude, minPoint.longitude + tileSize, minPoint.latitude + tileSize];
145
- }
146
- exports.tileToBbox = tileToBbox;
147
- /**
148
- * returns the batch area
149
- * @param ITileRange
150
- * @returns
151
- */
152
- function tileRangeToTilesCount(batch) {
153
- return (batch.maxX - batch.minX) * (batch.maxY - batch.minY);
154
- }
155
- exports.tileRangeToTilesCount = tileRangeToTilesCount;
156
- /**
157
- * returns tiles amount of given feature and zoom ranges - based on 2:1 tile scheme
158
- * use the bboxToTileRange method and provide sanitized bbox coverage of tiles
159
- * @param feature
160
- * If feature's properties include attributes of "maxResolutionDeg" and "minResolutionDeg" or just one of them -
161
- * It will be converted to maxZoom and minZoom instead of default params to calculate
162
- * minResolutionDeg >= 0.703125
163
- * maxResolutionDeg <= 0.000000167638063430786
164
- * @param layerFootprint - referenced layer geometry to snap on the bbox
165
- * @param defaultMaxZoom optional - default is 22 - if maxResolutionDeg property was provided, the param will be ignored
166
- * @param defaultMinZoom optional - default is 0 - if minResolutionDeg property was provided, the param will be ignored
167
- * @returns tile count included on provided feature and zooms ranges
168
- */
169
- function featureToTilesCount(feature, defaultMaxZoom, defaultMinZoom) {
170
- var _a, _b;
171
- if (defaultMaxZoom === void 0) { defaultMaxZoom = 22; }
172
- if (defaultMinZoom === void 0) { defaultMinZoom = 0; }
173
- var tilesTotalAmount = 0;
174
- if (defaultMaxZoom > 22 || defaultMinZoom < 0) {
175
- throw new RangeError("Un supported zoom levels values, min-max zoom should be [0-22] but actual [".concat(defaultMinZoom, ":").concat(defaultMaxZoom, "]"));
176
- }
177
- if (defaultMinZoom > defaultMaxZoom) {
178
- throw new RangeError("Illegal - defaultMinZoom[".concat(defaultMinZoom, "] is larger than defaultMaxZoom[").concat(defaultMaxZoom, "]"));
179
- }
180
- try {
181
- var targetMaxZoom = ((_a = feature.properties) === null || _a === void 0 ? void 0 : _a.maxResolutionDeg) !== undefined ? degreesPerPixelToZoomLevel(feature.properties.maxResolutionDeg) : defaultMaxZoom;
182
- var targetMinZoom = ((_b = feature.properties) === null || _b === void 0 ? void 0 : _b.minResolutionDeg) !== undefined ? degreesPerPixelToZoomLevel(feature.properties.minResolutionDeg) : defaultMinZoom;
183
- var sanitized = (0, bboxUtils_1.snapBBoxToTileGrid)((0, turf_1.bbox)(feature.geometry), targetMaxZoom);
184
- for (var i = targetMinZoom; i <= targetMaxZoom; i++) {
185
- var zoomTilesBatch = (0, bboxUtils_1.bboxToTileRange)(sanitized, i);
186
- tilesTotalAmount += tileRangeToTilesCount(zoomTilesBatch);
187
- }
188
- return tilesTotalAmount;
189
- }
190
- catch (error) {
191
- var message = "Error occurred while trying to calculate tiles amount - encodeFootprint error: ".concat(JSON.stringify(error));
192
- throw new Error(message);
193
- }
194
- }
195
- exports.featureToTilesCount = featureToTilesCount;
196
- /**
197
- * returns tiles amount of given featureCollection [each feature may include maxResolutionDeg and minResolutionDeg
198
- * if no resolutions in property will calculate all features with optional argument]
199
- * based on 2:1 tile scheme
200
- * use the bboxToTileRange method and provide sanitized bbox coverage of tiles
201
- * @param fc - FeatureCollection
202
- * foreach feature in featuresCollection features array:
203
- * If feature's properties include attributes of "maxResolutionDeg" and "minResolutionDeg" or just one of them -
204
- * It will be converted to maxZoom and minZoom instead of default params to calculate
205
- * minResolutionDeg >= 0.703125
206
- * maxResolutionDeg <= 0.000000167638063430786
207
- * for current feature in the array
208
- * @param defaultMaxZoom optional - default is 22 - if maxResolutionDeg property was provided, the param will be ignored
209
- * @param defaultMinZoom optional - default is 0 - if minResolutionDeg property was provided, the param will be ignored
210
- * @returns tile count included on provided feature and zooms ranges
211
- */
212
- function featureCollectionToTilesCount(fc, defaultMaxZoom, defaultMinZoom) {
213
- var e_1, _a;
214
- if (defaultMaxZoom === void 0) { defaultMaxZoom = 22; }
215
- if (defaultMinZoom === void 0) { defaultMinZoom = 0; }
216
- var tilesTotalAmount = 0;
217
- try {
218
- try {
219
- for (var _b = __values(fc.features), _c = _b.next(); !_c.done; _c = _b.next()) {
220
- var feature = _c.value;
221
- tilesTotalAmount += featureToTilesCount(feature, defaultMaxZoom, defaultMinZoom);
222
- }
223
- }
224
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
225
- finally {
226
- try {
227
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
228
- }
229
- finally { if (e_1) throw e_1.error; }
230
- }
231
- return tilesTotalAmount;
232
- }
233
- catch (error) {
234
- var message = "Error occurred while trying to calculate tiles amount - encodeFootprint error: ".concat(JSON.stringify(error));
235
- throw new Error(message);
236
- }
237
- }
238
- exports.featureCollectionToTilesCount = featureCollectionToTilesCount;
1
+ "use strict";
2
+ var __values = (this && this.__values) || function(o) {
3
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
+ if (m) return m.call(o);
5
+ if (o && typeof o.length === "number") return {
6
+ next: function () {
7
+ if (o && i >= o.length) o = void 0;
8
+ return { value: o && o[i++], done: !o };
9
+ }
10
+ };
11
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.featureCollectionToTilesCount = exports.featureToTilesCount = exports.tileRangeToTilesCount = exports.tileToBbox = exports.degreesPerPixelToZoomLevel = exports.zoomLevelToResolutionMeter = exports.zoomLevelToResolutionDeg = exports.flipYAxis = exports.degreesPerPixel = exports.degreesPerTile = void 0;
15
+ var turf_1 = require("@turf/turf");
16
+ var bboxUtils_1 = require("./bboxUtils");
17
+ var geoConvertor_1 = require("./geoConvertor");
18
+ var zoomToResolutionDegMapper = {
19
+ /* eslint-disable @typescript-eslint/naming-convention */
20
+ 0: 0.703125,
21
+ 1: 0.3515625,
22
+ 2: 0.17578125,
23
+ 3: 0.087890625,
24
+ 4: 0.0439453125,
25
+ 5: 0.02197265625,
26
+ 6: 0.010986328125,
27
+ 7: 0.0054931640625,
28
+ 8: 0.00274658203125,
29
+ 9: 0.001373291015625,
30
+ 10: 0.0006866455078125,
31
+ 11: 0.00034332275390625,
32
+ 12: 0.000171661376953125,
33
+ 13: 0.0000858306884765625,
34
+ 14: 0.0000429153442382812,
35
+ 15: 0.0000214576721191406,
36
+ 16: 0.0000107288360595703,
37
+ 17: 0.00000536441802978516,
38
+ 18: 0.00000268220901489258,
39
+ 19: 0.00000134110450744629,
40
+ 20: 0.000000670552253723145,
41
+ 21: 0.000000335276126861572,
42
+ 22: 0.000000167638063430786,
43
+ /* eslint-enable @typescript-eslint/naming-convention */
44
+ };
45
+ var zoomToResolutionMeterMapper = {
46
+ /* eslint-disable @typescript-eslint/naming-convention */
47
+ 0: 78271.52,
48
+ 1: 39135.76,
49
+ 2: 19567.88,
50
+ 3: 9783.94,
51
+ 4: 4891.97,
52
+ 5: 2445.98,
53
+ 6: 1222.99,
54
+ 7: 611.5,
55
+ 8: 305.75,
56
+ 9: 152.87,
57
+ 10: 76.44,
58
+ 11: 38.22,
59
+ 12: 19.11,
60
+ 13: 9.55,
61
+ 14: 4.78,
62
+ 15: 2.39,
63
+ 16: 1.19,
64
+ 17: 0.6,
65
+ 18: 0.3,
66
+ 19: 0.15,
67
+ 20: 0.075,
68
+ 21: 0.037,
69
+ 22: 0.0185,
70
+ /* eslint-enable @typescript-eslint/naming-convention */
71
+ };
72
+ /**
73
+ * calculates tile size (resolution) in degrees
74
+ * @param zoomLevel zoom level of returned tile size
75
+ * @returns tile size (resolution) in degrees
76
+ */
77
+ function degreesPerTile(zoomLevel) {
78
+ var latRange = 180;
79
+ return latRange / (1 << zoomLevel);
80
+ }
81
+ exports.degreesPerTile = degreesPerTile;
82
+ /**
83
+ * returns pixel size (resolution) in degrees
84
+ * @param zoomLevel tile zoom level of returned tile pixel size
85
+ * @returns pixel size (resolution) in degrees
86
+ */
87
+ function degreesPerPixel(zoomLevel) {
88
+ var tileSize = 256;
89
+ var tileRes = degreesPerTile(zoomLevel);
90
+ return tileRes / tileSize;
91
+ }
92
+ exports.degreesPerPixel = degreesPerPixel;
93
+ /**
94
+ * coverts tile coordinates between ll and ul
95
+ * @param tile source tile
96
+ * @returns converted tile
97
+ */
98
+ function flipYAxis(tile) {
99
+ var yTiles = 1 << tile.zoom;
100
+ return {
101
+ x: tile.x,
102
+ y: yTiles - tile.y - 1,
103
+ zoom: tile.zoom,
104
+ };
105
+ }
106
+ exports.flipYAxis = flipYAxis;
107
+ /**
108
+ * converts zoom level (integer) to matching resolution degree value
109
+ * @param zoom zoom level in range of 0-22
110
+ * @returns resolution represented in degrees, or undefined if zoom level is out of range
111
+ */
112
+ function zoomLevelToResolutionDeg(zoom) {
113
+ return zoomToResolutionDegMapper[zoom];
114
+ }
115
+ exports.zoomLevelToResolutionDeg = zoomLevelToResolutionDeg;
116
+ /**
117
+ * converts zoom level (integer) to matching resolution meter value
118
+ * @param zoom zoom level in range of 0-22
119
+ * @returns resolution represented in Meters, or undefined if zoom level is out of range
120
+ */
121
+ function zoomLevelToResolutionMeter(zoom) {
122
+ return zoomToResolutionMeterMapper[zoom];
123
+ }
124
+ exports.zoomLevelToResolutionMeter = zoomLevelToResolutionMeter;
125
+ /**
126
+ * converts pixel size (resolution) in degrees to matching zoom level (rounded down)
127
+ * @param resolution pixel size (resolution) in degrees
128
+ * @returns zoom level for given pixel size
129
+ */
130
+ function degreesPerPixelToZoomLevel(resolution) {
131
+ var MIN_ZOOM_LEVEL = 0;
132
+ // eslint-disable-next-line @typescript-eslint/no-magic-numbers
133
+ var zoomLevel = Math.floor(Math.log2(180 / (resolution * 256)));
134
+ if (zoomLevel < MIN_ZOOM_LEVEL) {
135
+ throw new Error("Invalid zoom level ".concat(zoomLevel, " for resolution ").concat(resolution));
136
+ }
137
+ return zoomLevel;
138
+ }
139
+ exports.degreesPerPixelToZoomLevel = degreesPerPixelToZoomLevel;
140
+ /**
141
+ * returns bbox of given tile
142
+ * @param tile
143
+ * @returns
144
+ */
145
+ function tileToBbox(tile) {
146
+ var minPoint = (0, geoConvertor_1.tileToDegrees)(tile);
147
+ var tileSize = degreesPerTile(tile.zoom);
148
+ return [minPoint.longitude, minPoint.latitude, minPoint.longitude + tileSize, minPoint.latitude + tileSize];
149
+ }
150
+ exports.tileToBbox = tileToBbox;
151
+ /**
152
+ * returns the batch area
153
+ * @param ITileRange
154
+ * @returns
155
+ */
156
+ function tileRangeToTilesCount(batch) {
157
+ return (batch.maxX - batch.minX) * (batch.maxY - batch.minY);
158
+ }
159
+ exports.tileRangeToTilesCount = tileRangeToTilesCount;
160
+ /**
161
+ * returns tiles amount of given feature and zoom ranges - based on 2:1 tile scheme
162
+ * use the bboxToTileRange method and provide sanitized bbox coverage of tiles
163
+ * @param feature
164
+ * If feature's properties include attributes of "maxResolutionDeg" and "minResolutionDeg" or just one of them -
165
+ * It will be converted to maxZoom and minZoom instead of default params to calculate
166
+ * minResolutionDeg >= 0.703125
167
+ * maxResolutionDeg <= 0.000000167638063430786
168
+ * @param layerFootprint - referenced layer geometry to snap on the bbox
169
+ * @param defaultMaxZoom optional - default is 22 - if maxResolutionDeg property was provided, the param will be ignored
170
+ * @param defaultMinZoom optional - default is 0 - if minResolutionDeg property was provided, the param will be ignored
171
+ * @returns tile count included on provided feature and zooms ranges
172
+ */
173
+ function featureToTilesCount(feature, defaultMaxZoom, defaultMinZoom) {
174
+ var _a, _b;
175
+ if (defaultMaxZoom === void 0) { defaultMaxZoom = 22; }
176
+ if (defaultMinZoom === void 0) { defaultMinZoom = 0; }
177
+ var tilesTotalAmount = 0;
178
+ if (defaultMaxZoom > 22 || defaultMinZoom < 0) {
179
+ throw new RangeError("Un supported zoom levels values, min-max zoom should be [0-22] but actual [".concat(defaultMinZoom, ":").concat(defaultMaxZoom, "]"));
180
+ }
181
+ if (defaultMinZoom > defaultMaxZoom) {
182
+ throw new RangeError("Illegal - defaultMinZoom[".concat(defaultMinZoom, "] is larger than defaultMaxZoom[").concat(defaultMaxZoom, "]"));
183
+ }
184
+ try {
185
+ var targetMaxZoom = ((_a = feature.properties) === null || _a === void 0 ? void 0 : _a.maxResolutionDeg) !== undefined && typeof feature.properties.maxResolutionDeg === 'number'
186
+ ? degreesPerPixelToZoomLevel(feature.properties.maxResolutionDeg)
187
+ : defaultMaxZoom;
188
+ var targetMinZoom = ((_b = feature.properties) === null || _b === void 0 ? void 0 : _b.minResolutionDeg) !== undefined && typeof feature.properties.minResolutionDeg === 'number'
189
+ ? degreesPerPixelToZoomLevel(feature.properties.minResolutionDeg)
190
+ : defaultMinZoom;
191
+ var sanitized = (0, bboxUtils_1.snapBBoxToTileGrid)((0, turf_1.bbox)(feature.geometry), targetMaxZoom);
192
+ for (var i = targetMinZoom; i <= targetMaxZoom; i++) {
193
+ var zoomTilesBatch = (0, bboxUtils_1.bboxToTileRange)(sanitized, i);
194
+ tilesTotalAmount += tileRangeToTilesCount(zoomTilesBatch);
195
+ }
196
+ return tilesTotalAmount;
197
+ }
198
+ catch (error) {
199
+ var message = "Error occurred while trying to calculate tiles amount - encodeFootprint error: ".concat(JSON.stringify(error));
200
+ throw new Error(message);
201
+ }
202
+ }
203
+ exports.featureToTilesCount = featureToTilesCount;
204
+ /**
205
+ * returns tiles amount of given featureCollection [each feature may include maxResolutionDeg and minResolutionDeg
206
+ * if no resolutions in property will calculate all features with optional argument]
207
+ * based on 2:1 tile scheme
208
+ * use the bboxToTileRange method and provide sanitized bbox coverage of tiles
209
+ * @param fc - FeatureCollection
210
+ * foreach feature in featuresCollection features array:
211
+ * If feature's properties include attributes of "maxResolutionDeg" and "minResolutionDeg" or just one of them -
212
+ * It will be converted to maxZoom and minZoom instead of default params to calculate
213
+ * minResolutionDeg >= 0.703125
214
+ * maxResolutionDeg <= 0.000000167638063430786
215
+ * for current feature in the array
216
+ * @param defaultMaxZoom optional - default is 22 - if maxResolutionDeg property was provided, the param will be ignored
217
+ * @param defaultMinZoom optional - default is 0 - if minResolutionDeg property was provided, the param will be ignored
218
+ * @returns tile count included on provided feature and zooms ranges
219
+ */
220
+ function featureCollectionToTilesCount(fc, defaultMaxZoom, defaultMinZoom) {
221
+ var e_1, _a;
222
+ if (defaultMaxZoom === void 0) { defaultMaxZoom = 22; }
223
+ if (defaultMinZoom === void 0) { defaultMinZoom = 0; }
224
+ var tilesTotalAmount = 0;
225
+ try {
226
+ try {
227
+ for (var _b = __values(fc.features), _c = _b.next(); !_c.done; _c = _b.next()) {
228
+ var feature = _c.value;
229
+ tilesTotalAmount += featureToTilesCount(feature, defaultMaxZoom, defaultMinZoom);
230
+ }
231
+ }
232
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
233
+ finally {
234
+ try {
235
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
236
+ }
237
+ finally { if (e_1) throw e_1.error; }
238
+ }
239
+ return tilesTotalAmount;
240
+ }
241
+ catch (error) {
242
+ var message = "Error occurred while trying to calculate tiles amount - encodeFootprint error: ".concat(JSON.stringify(error));
243
+ throw new Error(message);
244
+ }
245
+ }
246
+ exports.featureCollectionToTilesCount = featureCollectionToTilesCount;
239
247
  //# sourceMappingURL=tiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tiles.js","sourceRoot":"","sources":["../../src/geo/tiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tiles.js","sourceRoot":"","sources":["../../src/geo/tiles.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { ITile, ITileRange } from '../models/interfaces/geo/iTile';
2
- export declare function tilesGenerator(rangeGen: Iterable<ITileRange>): Generator<ITile>;
1
+ import { ITile, ITileRange } from '../models/interfaces/geo/iTile';
2
+ export declare function tilesGenerator(rangeGen: Iterable<ITileRange>): Generator<ITile>;
3
3
  //# sourceMappingURL=tilesGenerator.d.ts.map
File without changes