@map-colonies/mc-utils 1.1.2 → 1.4.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 (70) hide show
  1. package/README.md +9 -7
  2. package/dist/arrays/index.d.ts +2 -0
  3. package/dist/arrays/index.d.ts.map +1 -0
  4. package/dist/arrays/index.js +14 -0
  5. package/dist/arrays/index.js.map +1 -0
  6. package/dist/arrays/subGroups.d.ts +9 -0
  7. package/dist/arrays/subGroups.d.ts.map +1 -0
  8. package/dist/arrays/subGroups.js +139 -0
  9. package/dist/arrays/subGroups.js.map +1 -0
  10. package/dist/communication/http/httpClient.d.ts +26 -24
  11. package/dist/communication/http/httpClient.d.ts.map +1 -1
  12. package/dist/communication/http/httpClient.js +333 -315
  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.js +13 -13
  16. package/dist/communication/index.d.ts +1 -1
  17. package/dist/communication/index.js +13 -13
  18. package/dist/geo/bboxUtils.d.ts +23 -23
  19. package/dist/geo/bboxUtils.js +84 -84
  20. package/dist/geo/bboxUtils.js.map +1 -1
  21. package/dist/geo/geoConvertor.d.ts +18 -18
  22. package/dist/geo/geoConvertor.js +51 -51
  23. package/dist/geo/geoConvertor.js.map +1 -1
  24. package/dist/geo/geoHash.d.ts +24 -24
  25. package/dist/geo/geoHash.js +242 -242
  26. package/dist/geo/geoHash.js.map +1 -1
  27. package/dist/geo/geoIntersection.d.ts +13 -0
  28. package/dist/geo/geoIntersection.d.ts.map +1 -0
  29. package/dist/geo/geoIntersection.js +28 -0
  30. package/dist/geo/geoIntersection.js.map +1 -0
  31. package/dist/geo/index.d.ts +8 -5
  32. package/dist/geo/index.d.ts.map +1 -1
  33. package/dist/geo/index.js +20 -17
  34. package/dist/geo/index.js.map +1 -1
  35. package/dist/geo/tileBatcher.d.ts +9 -0
  36. package/dist/geo/tileBatcher.d.ts.map +1 -0
  37. package/dist/geo/tileBatcher.js +168 -0
  38. package/dist/geo/tileBatcher.js.map +1 -0
  39. package/dist/geo/tileRanger.d.ts +39 -39
  40. package/dist/geo/tileRanger.js +254 -254
  41. package/dist/geo/tileRanger.js.map +1 -1
  42. package/dist/geo/tiles.d.ts +32 -32
  43. package/dist/geo/tiles.js +65 -65
  44. package/dist/geo/tiles.js.map +1 -1
  45. package/dist/geo/tilesGenerator.d.ts +2 -2
  46. package/dist/geo/tilesGenerator.js +94 -94
  47. package/dist/index.d.ts +4 -3
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +16 -15
  50. package/dist/index.js.map +1 -1
  51. package/dist/models/enums/geo/index.d.ts +1 -1
  52. package/dist/models/enums/geo/index.js +13 -13
  53. package/dist/models/enums/geo/tileOrigin.d.ts +7 -7
  54. package/dist/models/enums/geo/tileOrigin.js +11 -11
  55. package/dist/models/enums/index.d.ts +1 -1
  56. package/dist/models/enums/index.js +13 -13
  57. package/dist/models/index.d.ts +2 -2
  58. package/dist/models/index.js +14 -14
  59. package/dist/models/interfaces/geo/iPoint.d.ts +7 -7
  60. package/dist/models/interfaces/geo/iPoint.js +2 -2
  61. package/dist/models/interfaces/geo/iTile.d.ts +15 -15
  62. package/dist/models/interfaces/geo/iTile.js +2 -2
  63. package/dist/models/interfaces/geo/index.d.ts +2 -2
  64. package/dist/models/interfaces/geo/index.js +14 -14
  65. package/dist/models/interfaces/iLogger.d.ts +6 -6
  66. package/dist/models/interfaces/iLogger.js +2 -2
  67. package/dist/models/interfaces/index.d.ts +2 -2
  68. package/dist/models/interfaces/index.js +14 -14
  69. package/package.json +2 -2
  70. package/CHANGELOG.md +0 -35
@@ -1,255 +1,255 @@
1
- "use strict";
2
- var __generator = (this && this.__generator) || function (thisArg, body) {
3
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
4
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
5
- function verb(n) { return function (v) { return step([n, v]); }; }
6
- function step(op) {
7
- if (f) throw new TypeError("Generator is already executing.");
8
- while (_) try {
9
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
10
- if (y = 0, t) op = [op[0] & 2, t.value];
11
- switch (op[0]) {
12
- case 0: case 1: t = op; break;
13
- case 4: _.label++; return { value: op[1], done: false };
14
- case 5: _.label++; y = op[1]; op = [0]; continue;
15
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
16
- default:
17
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
18
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
19
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
20
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
21
- if (t[2]) _.ops.pop();
22
- _.trys.pop(); continue;
23
- }
24
- op = body.call(thisArg, _);
25
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
26
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
27
- }
28
- };
29
- var __values = (this && this.__values) || function(o) {
30
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
31
- if (m) return m.call(o);
32
- if (o && typeof o.length === "number") return {
33
- next: function () {
34
- if (o && i >= o.length) o = void 0;
35
- return { value: o && o[i++], done: !o };
36
- }
37
- };
38
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
39
- };
40
- Object.defineProperty(exports, "__esModule", { value: true });
41
- exports.TileRanger = void 0;
42
- var turf_1 = require("@turf/turf");
43
- var bboxUtils_1 = require("./bboxUtils");
44
- var tiles_1 = require("./tiles");
45
- var tilesGenerator_1 = require("./tilesGenerator");
46
- var TileIntersectionState;
47
- (function (TileIntersectionState) {
48
- TileIntersectionState["FULL"] = "full";
49
- TileIntersectionState["PARTIAL"] = "partial";
50
- TileIntersectionState["NONE"] = "none";
51
- })(TileIntersectionState || (TileIntersectionState = {}));
52
- /**
53
- * class for generating and decoding tile hashes
54
- */
55
- var TileRanger = /** @class */ (function () {
56
- function TileRanger() {
57
- this.tileFootprintIntersection = function (tile, intersectionParams) {
58
- var tileBbox = tiles_1.tileToBbox(tile);
59
- var tilePoly = turf_1.bboxPolygon(tileBbox);
60
- var intersection = turf_1.intersect(intersectionParams.footprint, tilePoly);
61
- if (intersection === null) {
62
- return TileIntersectionState.NONE;
63
- }
64
- if (tile.zoom === intersectionParams.maxZoom) {
65
- return TileIntersectionState.FULL;
66
- }
67
- var intArea = turf_1.area(intersection);
68
- var hashArea = turf_1.area(tilePoly);
69
- if (intArea == hashArea) {
70
- return TileIntersectionState.FULL;
71
- }
72
- return TileIntersectionState.PARTIAL;
73
- };
74
- }
75
- /**
76
- * converts tile to tile range of specified zoom level
77
- * @param tile
78
- * @param zoom target tile range zoom
79
- * @returns
80
- */
81
- TileRanger.prototype.tileToRange = function (tile, zoom) {
82
- var minX, minY, maxX, maxY;
83
- minX = tile.x;
84
- maxX = tile.x + 1;
85
- minY = tile.y;
86
- maxY = tile.y + 1;
87
- if (tile.zoom < zoom) {
88
- var dz = zoom - tile.zoom;
89
- minX = minX << dz;
90
- maxX = maxX << dz;
91
- minY = minY << dz;
92
- maxY = maxY << dz;
93
- }
94
- else if (tile.zoom > zoom) {
95
- var dz = tile.zoom - zoom;
96
- minX = minX >> dz;
97
- minY = minY >> dz;
98
- maxX = minX + 1;
99
- maxY = minY + 1;
100
- }
101
- return {
102
- minX: minX,
103
- minY: minY,
104
- maxX: maxX,
105
- maxY: maxY,
106
- zoom: zoom,
107
- };
108
- };
109
- /**
110
- * generate tile hashes
111
- * @param footprint footprint to cover with generated tile hashes
112
- * @param zoom max hash zoom
113
- * @returns
114
- */
115
- TileRanger.prototype.encodeFootprint = function (footprint, zoom) {
116
- var bbox, intersectionParams;
117
- return __generator(this, function (_a) {
118
- switch (_a.label) {
119
- case 0:
120
- bbox = turf_1.bbox(footprint);
121
- if (!this.isBbox(footprint)) return [3 /*break*/, 2];
122
- return [4 /*yield*/, bboxUtils_1.bboxToTileRange(bbox, zoom)];
123
- case 1:
124
- _a.sent();
125
- return [3 /*break*/, 4];
126
- case 2:
127
- intersectionParams = {
128
- footprint: footprint,
129
- maxZoom: zoom,
130
- };
131
- return [5 /*yield**/, __values(this.generateRanges(bbox, zoom, intersectionParams, this.tileFootprintIntersection))];
132
- case 3:
133
- _a.sent();
134
- _a.label = 4;
135
- case 4: return [2 /*return*/];
136
- }
137
- });
138
- };
139
- TileRanger.prototype.generateTiles = function (area, zoom) {
140
- var gen;
141
- if (Array.isArray(area)) {
142
- gen = [bboxUtils_1.bboxToTileRange(area, zoom)];
143
- }
144
- else {
145
- gen = this.encodeFootprint(area, zoom);
146
- }
147
- return tilesGenerator_1.tilesGenerator(gen);
148
- };
149
- TileRanger.prototype.generateRanges = function (bbox, zoom, intersectionTarget, intersectionFunction) {
150
- var boundingRange, dx, dy, minXZoom, minYZoom, minZoom, minimalRange, x, y, tile, intersection;
151
- return __generator(this, function (_a) {
152
- switch (_a.label) {
153
- case 0:
154
- boundingRange = bboxUtils_1.bboxToTileRange(bbox, zoom);
155
- dx = boundingRange.maxX - boundingRange.minX;
156
- dy = boundingRange.maxY - boundingRange.minY;
157
- minXZoom = Math.max(Math.floor(Math.log2(1 << (zoom + 1)) / dx) - 1, 0);
158
- minYZoom = Math.max(Math.floor(Math.log2(1 << zoom) / dy), 0);
159
- minZoom = Math.min(minXZoom, minYZoom);
160
- minimalRange = bboxUtils_1.bboxToTileRange(bbox, minZoom);
161
- x = minimalRange.minX;
162
- _a.label = 1;
163
- case 1:
164
- if (!(x < minimalRange.maxX)) return [3 /*break*/, 8];
165
- y = minimalRange.minY;
166
- _a.label = 2;
167
- case 2:
168
- if (!(y < minimalRange.maxY)) return [3 /*break*/, 7];
169
- tile = { x: x, y: y, zoom: minimalRange.zoom };
170
- intersection = intersectionFunction(tile, intersectionTarget);
171
- if (!(intersection === TileIntersectionState.FULL)) return [3 /*break*/, 4];
172
- return [4 /*yield*/, this.tileToRange(tile, zoom)];
173
- case 3:
174
- _a.sent();
175
- return [3 /*break*/, 6];
176
- case 4:
177
- if (!(intersection === TileIntersectionState.PARTIAL)) return [3 /*break*/, 6];
178
- //optimize partial base hashes
179
- return [5 /*yield**/, __values(this.optimizeHash(tile, zoom, intersectionTarget, intersectionFunction))];
180
- case 5:
181
- //optimize partial base hashes
182
- _a.sent();
183
- _a.label = 6;
184
- case 6:
185
- y++;
186
- return [3 /*break*/, 2];
187
- case 7:
188
- x++;
189
- return [3 /*break*/, 1];
190
- case 8: return [2 /*return*/];
191
- }
192
- });
193
- };
194
- TileRanger.prototype.optimizeHash = function (tile, targetZoom, intersectionTarget, intersectionFunction) {
195
- var tiles, tiles_2, tiles_2_1, subTile, intersection, e_1_1;
196
- var e_1, _a;
197
- return __generator(this, function (_b) {
198
- switch (_b.label) {
199
- case 0:
200
- tiles = this.generateSubTiles(tile);
201
- _b.label = 1;
202
- case 1:
203
- _b.trys.push([1, 8, 9, 10]);
204
- tiles_2 = __values(tiles), tiles_2_1 = tiles_2.next();
205
- _b.label = 2;
206
- case 2:
207
- if (!!tiles_2_1.done) return [3 /*break*/, 7];
208
- subTile = tiles_2_1.value;
209
- intersection = intersectionFunction(subTile, intersectionTarget);
210
- if (!(intersection === TileIntersectionState.FULL)) return [3 /*break*/, 4];
211
- return [4 /*yield*/, this.tileToRange(subTile, targetZoom)];
212
- case 3:
213
- _b.sent();
214
- return [3 /*break*/, 6];
215
- case 4:
216
- if (!(intersection === TileIntersectionState.PARTIAL)) return [3 /*break*/, 6];
217
- return [5 /*yield**/, __values(this.optimizeHash(subTile, targetZoom, intersectionTarget, intersectionFunction))];
218
- case 5:
219
- _b.sent();
220
- _b.label = 6;
221
- case 6:
222
- tiles_2_1 = tiles_2.next();
223
- return [3 /*break*/, 2];
224
- case 7: return [3 /*break*/, 10];
225
- case 8:
226
- e_1_1 = _b.sent();
227
- e_1 = { error: e_1_1 };
228
- return [3 /*break*/, 10];
229
- case 9:
230
- try {
231
- if (tiles_2_1 && !tiles_2_1.done && (_a = tiles_2.return)) _a.call(tiles_2);
232
- }
233
- finally { if (e_1) throw e_1.error; }
234
- return [7 /*endfinally*/];
235
- case 10: return [2 /*return*/];
236
- }
237
- });
238
- };
239
- TileRanger.prototype.generateSubTiles = function (tile) {
240
- var tile0 = { x: tile.x << 1, y: tile.y << 1, zoom: tile.zoom + 1 };
241
- var tile1 = { x: tile0.x + 1, y: tile0.y, zoom: tile0.zoom };
242
- var tile2 = { x: tile0.x, y: tile0.y + 1, zoom: tile0.zoom };
243
- var tile3 = { x: tile0.x + 1, y: tile0.y + 1, zoom: tile0.zoom };
244
- var tiles = [tile0, tile1, tile2, tile3];
245
- return tiles;
246
- };
247
- TileRanger.prototype.isBbox = function (footprint) {
248
- var bbox = turf_1.bbox(footprint);
249
- var bboxPoly = turf_1.bboxPolygon(bbox);
250
- return turf_1.booleanEqual(footprint, bboxPoly);
251
- };
252
- return TileRanger;
253
- }());
254
- exports.TileRanger = TileRanger;
1
+ "use strict";
2
+ var __generator = (this && this.__generator) || function (thisArg, body) {
3
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
4
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
5
+ function verb(n) { return function (v) { return step([n, v]); }; }
6
+ function step(op) {
7
+ if (f) throw new TypeError("Generator is already executing.");
8
+ while (_) try {
9
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
10
+ if (y = 0, t) op = [op[0] & 2, t.value];
11
+ switch (op[0]) {
12
+ case 0: case 1: t = op; break;
13
+ case 4: _.label++; return { value: op[1], done: false };
14
+ case 5: _.label++; y = op[1]; op = [0]; continue;
15
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
16
+ default:
17
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
18
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
19
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
20
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
21
+ if (t[2]) _.ops.pop();
22
+ _.trys.pop(); continue;
23
+ }
24
+ op = body.call(thisArg, _);
25
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
26
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
27
+ }
28
+ };
29
+ var __values = (this && this.__values) || function(o) {
30
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
31
+ if (m) return m.call(o);
32
+ if (o && typeof o.length === "number") return {
33
+ next: function () {
34
+ if (o && i >= o.length) o = void 0;
35
+ return { value: o && o[i++], done: !o };
36
+ }
37
+ };
38
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
39
+ };
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.TileRanger = void 0;
42
+ var turf_1 = require("@turf/turf");
43
+ var bboxUtils_1 = require("./bboxUtils");
44
+ var tiles_1 = require("./tiles");
45
+ var tilesGenerator_1 = require("./tilesGenerator");
46
+ var TileIntersectionState;
47
+ (function (TileIntersectionState) {
48
+ TileIntersectionState["FULL"] = "full";
49
+ TileIntersectionState["PARTIAL"] = "partial";
50
+ TileIntersectionState["NONE"] = "none";
51
+ })(TileIntersectionState || (TileIntersectionState = {}));
52
+ /**
53
+ * class for generating and decoding tile hashes
54
+ */
55
+ var TileRanger = /** @class */ (function () {
56
+ function TileRanger() {
57
+ this.tileFootprintIntersection = function (tile, intersectionParams) {
58
+ var tileBbox = (0, tiles_1.tileToBbox)(tile);
59
+ var tilePoly = (0, turf_1.bboxPolygon)(tileBbox);
60
+ var intersection = (0, turf_1.intersect)(intersectionParams.footprint, tilePoly);
61
+ if (intersection === null) {
62
+ return TileIntersectionState.NONE;
63
+ }
64
+ if (tile.zoom === intersectionParams.maxZoom) {
65
+ return TileIntersectionState.FULL;
66
+ }
67
+ var intArea = (0, turf_1.area)(intersection);
68
+ var hashArea = (0, turf_1.area)(tilePoly);
69
+ if (intArea == hashArea) {
70
+ return TileIntersectionState.FULL;
71
+ }
72
+ return TileIntersectionState.PARTIAL;
73
+ };
74
+ }
75
+ /**
76
+ * converts tile to tile range of specified zoom level
77
+ * @param tile
78
+ * @param zoom target tile range zoom
79
+ * @returns
80
+ */
81
+ TileRanger.prototype.tileToRange = function (tile, zoom) {
82
+ var minX, minY, maxX, maxY;
83
+ minX = tile.x;
84
+ maxX = tile.x + 1;
85
+ minY = tile.y;
86
+ maxY = tile.y + 1;
87
+ if (tile.zoom < zoom) {
88
+ var dz = zoom - tile.zoom;
89
+ minX = minX << dz;
90
+ maxX = maxX << dz;
91
+ minY = minY << dz;
92
+ maxY = maxY << dz;
93
+ }
94
+ else if (tile.zoom > zoom) {
95
+ var dz = tile.zoom - zoom;
96
+ minX = minX >> dz;
97
+ minY = minY >> dz;
98
+ maxX = minX + 1;
99
+ maxY = minY + 1;
100
+ }
101
+ return {
102
+ minX: minX,
103
+ minY: minY,
104
+ maxX: maxX,
105
+ maxY: maxY,
106
+ zoom: zoom,
107
+ };
108
+ };
109
+ /**
110
+ * generate tile hashes
111
+ * @param footprint footprint to cover with generated tile hashes
112
+ * @param zoom max hash zoom
113
+ * @returns
114
+ */
115
+ TileRanger.prototype.encodeFootprint = function (footprint, zoom) {
116
+ var bbox, intersectionParams;
117
+ return __generator(this, function (_a) {
118
+ switch (_a.label) {
119
+ case 0:
120
+ bbox = (0, turf_1.bbox)(footprint);
121
+ if (!this.isBbox(footprint)) return [3 /*break*/, 2];
122
+ return [4 /*yield*/, (0, bboxUtils_1.bboxToTileRange)(bbox, zoom)];
123
+ case 1:
124
+ _a.sent();
125
+ return [3 /*break*/, 4];
126
+ case 2:
127
+ intersectionParams = {
128
+ footprint: footprint,
129
+ maxZoom: zoom,
130
+ };
131
+ return [5 /*yield**/, __values(this.generateRanges(bbox, zoom, intersectionParams, this.tileFootprintIntersection))];
132
+ case 3:
133
+ _a.sent();
134
+ _a.label = 4;
135
+ case 4: return [2 /*return*/];
136
+ }
137
+ });
138
+ };
139
+ TileRanger.prototype.generateTiles = function (area, zoom) {
140
+ var gen;
141
+ if (Array.isArray(area)) {
142
+ gen = [(0, bboxUtils_1.bboxToTileRange)(area, zoom)];
143
+ }
144
+ else {
145
+ gen = this.encodeFootprint(area, zoom);
146
+ }
147
+ return (0, tilesGenerator_1.tilesGenerator)(gen);
148
+ };
149
+ TileRanger.prototype.generateRanges = function (bbox, zoom, intersectionTarget, intersectionFunction) {
150
+ var boundingRange, dx, dy, minXZoom, minYZoom, minZoom, minimalRange, x, y, tile, intersection;
151
+ return __generator(this, function (_a) {
152
+ switch (_a.label) {
153
+ case 0:
154
+ boundingRange = (0, bboxUtils_1.bboxToTileRange)(bbox, zoom);
155
+ dx = boundingRange.maxX - boundingRange.minX;
156
+ dy = boundingRange.maxY - boundingRange.minY;
157
+ minXZoom = Math.max(Math.floor(Math.log2(1 << (zoom + 1)) / dx) - 1, 0);
158
+ minYZoom = Math.max(Math.floor(Math.log2(1 << zoom) / dy), 0);
159
+ minZoom = Math.min(minXZoom, minYZoom);
160
+ minimalRange = (0, bboxUtils_1.bboxToTileRange)(bbox, minZoom);
161
+ x = minimalRange.minX;
162
+ _a.label = 1;
163
+ case 1:
164
+ if (!(x < minimalRange.maxX)) return [3 /*break*/, 8];
165
+ y = minimalRange.minY;
166
+ _a.label = 2;
167
+ case 2:
168
+ if (!(y < minimalRange.maxY)) return [3 /*break*/, 7];
169
+ tile = { x: x, y: y, zoom: minimalRange.zoom };
170
+ intersection = intersectionFunction(tile, intersectionTarget);
171
+ if (!(intersection === TileIntersectionState.FULL)) return [3 /*break*/, 4];
172
+ return [4 /*yield*/, this.tileToRange(tile, zoom)];
173
+ case 3:
174
+ _a.sent();
175
+ return [3 /*break*/, 6];
176
+ case 4:
177
+ if (!(intersection === TileIntersectionState.PARTIAL)) return [3 /*break*/, 6];
178
+ //optimize partial base hashes
179
+ return [5 /*yield**/, __values(this.optimizeHash(tile, zoom, intersectionTarget, intersectionFunction))];
180
+ case 5:
181
+ //optimize partial base hashes
182
+ _a.sent();
183
+ _a.label = 6;
184
+ case 6:
185
+ y++;
186
+ return [3 /*break*/, 2];
187
+ case 7:
188
+ x++;
189
+ return [3 /*break*/, 1];
190
+ case 8: return [2 /*return*/];
191
+ }
192
+ });
193
+ };
194
+ TileRanger.prototype.optimizeHash = function (tile, targetZoom, intersectionTarget, intersectionFunction) {
195
+ var tiles, tiles_2, tiles_2_1, subTile, intersection, e_1_1;
196
+ var e_1, _a;
197
+ return __generator(this, function (_b) {
198
+ switch (_b.label) {
199
+ case 0:
200
+ tiles = this.generateSubTiles(tile);
201
+ _b.label = 1;
202
+ case 1:
203
+ _b.trys.push([1, 8, 9, 10]);
204
+ tiles_2 = __values(tiles), tiles_2_1 = tiles_2.next();
205
+ _b.label = 2;
206
+ case 2:
207
+ if (!!tiles_2_1.done) return [3 /*break*/, 7];
208
+ subTile = tiles_2_1.value;
209
+ intersection = intersectionFunction(subTile, intersectionTarget);
210
+ if (!(intersection === TileIntersectionState.FULL)) return [3 /*break*/, 4];
211
+ return [4 /*yield*/, this.tileToRange(subTile, targetZoom)];
212
+ case 3:
213
+ _b.sent();
214
+ return [3 /*break*/, 6];
215
+ case 4:
216
+ if (!(intersection === TileIntersectionState.PARTIAL)) return [3 /*break*/, 6];
217
+ return [5 /*yield**/, __values(this.optimizeHash(subTile, targetZoom, intersectionTarget, intersectionFunction))];
218
+ case 5:
219
+ _b.sent();
220
+ _b.label = 6;
221
+ case 6:
222
+ tiles_2_1 = tiles_2.next();
223
+ return [3 /*break*/, 2];
224
+ case 7: return [3 /*break*/, 10];
225
+ case 8:
226
+ e_1_1 = _b.sent();
227
+ e_1 = { error: e_1_1 };
228
+ return [3 /*break*/, 10];
229
+ case 9:
230
+ try {
231
+ if (tiles_2_1 && !tiles_2_1.done && (_a = tiles_2.return)) _a.call(tiles_2);
232
+ }
233
+ finally { if (e_1) throw e_1.error; }
234
+ return [7 /*endfinally*/];
235
+ case 10: return [2 /*return*/];
236
+ }
237
+ });
238
+ };
239
+ TileRanger.prototype.generateSubTiles = function (tile) {
240
+ var tile0 = { x: tile.x << 1, y: tile.y << 1, zoom: tile.zoom + 1 };
241
+ var tile1 = { x: tile0.x + 1, y: tile0.y, zoom: tile0.zoom };
242
+ var tile2 = { x: tile0.x, y: tile0.y + 1, zoom: tile0.zoom };
243
+ var tile3 = { x: tile0.x + 1, y: tile0.y + 1, zoom: tile0.zoom };
244
+ var tiles = [tile0, tile1, tile2, tile3];
245
+ return tiles;
246
+ };
247
+ TileRanger.prototype.isBbox = function (footprint) {
248
+ var bbox = (0, turf_1.bbox)(footprint);
249
+ var bboxPoly = (0, turf_1.bboxPolygon)(bbox);
250
+ return (0, turf_1.booleanEqual)(footprint, bboxPoly);
251
+ };
252
+ return TileRanger;
253
+ }());
254
+ exports.TileRanger = TileRanger;
255
255
  //# sourceMappingURL=tileRanger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tileRanger.js","sourceRoot":"","sources":["../../src/geo/tileRanger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tileRanger.js","sourceRoot":"","sources":["../../src/geo/tileRanger.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,33 @@
1
- import { BBox2d } from '@turf/helpers/dist/js/lib/geojson';
2
- import { ITile } from '../models/interfaces/geo/iTile';
3
- /**
4
- * calculates tile size (resolution) in degrees
5
- * @param zoomLevel zoom level of returned tile size
6
- * @returns tile size (resolution) in degrees
7
- */
8
- export declare function degreesPerTile(zoomLevel: number): number;
9
- /**
10
- * returns pixel size (resolution) in degrees
11
- * @param zoomLevel tile zoom level of returned tile pixel size
12
- * @returns pixel size (resolution) in degrees
13
- */
14
- export declare function degreesPerPixel(zoomLevel: number): number;
15
- /**
16
- * coverts tile coordinates between ll and ul
17
- * @param tile source tile
18
- * @returns converted tile
19
- */
20
- export declare function flipYAxis(tile: ITile): ITile;
21
- /**
22
- * converts pixel size (resolution) in degrees to matching zoom level (rounded up)
23
- * @param resolution pixel size (resolution) in degrees
24
- * @returns zoom level for given pixel size
25
- */
26
- export declare function degreesPerPixelToZoomLevel(resolution: number): number;
27
- /**
28
- * returns bbox of given tile
29
- * @param tile
30
- * @returns
31
- */
32
- export declare function tileToBbox(tile: ITile): BBox2d;
1
+ import { BBox2d } from '@turf/helpers/dist/js/lib/geojson';
2
+ import { ITile } from '../models/interfaces/geo/iTile';
3
+ /**
4
+ * calculates tile size (resolution) in degrees
5
+ * @param zoomLevel zoom level of returned tile size
6
+ * @returns tile size (resolution) in degrees
7
+ */
8
+ export declare function degreesPerTile(zoomLevel: number): number;
9
+ /**
10
+ * returns pixel size (resolution) in degrees
11
+ * @param zoomLevel tile zoom level of returned tile pixel size
12
+ * @returns pixel size (resolution) in degrees
13
+ */
14
+ export declare function degreesPerPixel(zoomLevel: number): number;
15
+ /**
16
+ * coverts tile coordinates between ll and ul
17
+ * @param tile source tile
18
+ * @returns converted tile
19
+ */
20
+ export declare function flipYAxis(tile: ITile): ITile;
21
+ /**
22
+ * converts pixel size (resolution) in degrees to matching zoom level (rounded up)
23
+ * @param resolution pixel size (resolution) in degrees
24
+ * @returns zoom level for given pixel size
25
+ */
26
+ export declare function degreesPerPixelToZoomLevel(resolution: number): number;
27
+ /**
28
+ * returns bbox of given tile
29
+ * @param tile
30
+ * @returns
31
+ */
32
+ export declare function tileToBbox(tile: ITile): BBox2d;
33
33
  //# sourceMappingURL=tiles.d.ts.map