@map-colonies/mc-utils 1.8.0 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/communication/http/httpClient.d.ts +5 -3
- package/dist/communication/http/httpClient.d.ts.map +1 -1
- package/dist/communication/http/httpClient.js +116 -20
- package/dist/communication/http/httpClient.js.map +1 -1
- package/dist/geo/tiles.d.ts +39 -1
- package/dist/geo/tiles.d.ts.map +1 -1
- package/dist/geo/tiles.js +106 -1
- package/dist/geo/tiles.js.map +1 -1
- package/package.json +5 -3
|
@@ -8,11 +8,13 @@ export interface IHttpRetryConfig {
|
|
|
8
8
|
}
|
|
9
9
|
export declare abstract class HttpClient {
|
|
10
10
|
protected readonly logger: Logger;
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
protected baseUrl: string;
|
|
12
|
+
protected readonly targetService: string;
|
|
13
|
+
protected retryConfig?: IHttpRetryConfig | undefined;
|
|
14
|
+
protected readonly disableDebugLogs: boolean;
|
|
13
15
|
protected axiosOptions: AxiosRequestConfig;
|
|
14
16
|
private readonly axiosClient;
|
|
15
|
-
constructor(logger: Logger, baseUrl: string, targetService?: string, retryConfig?: IHttpRetryConfig, disableDebugLogs?: boolean);
|
|
17
|
+
constructor(logger: Logger, baseUrl: string, targetService?: string, retryConfig?: IHttpRetryConfig | undefined, disableDebugLogs?: boolean);
|
|
16
18
|
protected get<T>(url: string, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig, auth?: AxiosBasicCredentials, headers?: Record<string, unknown>): Promise<T>;
|
|
17
19
|
protected post<T>(url: string, body?: unknown, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig, auth?: AxiosBasicCredentials, headers?: Record<string, unknown>): Promise<T>;
|
|
18
20
|
protected put<T>(url: string, body?: unknown, queryParams?: Record<string, unknown>, retryConfig?: IAxiosRetryConfig, auth?: AxiosBasicCredentials, headers?: Record<string, unknown>): Promise<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpClient.d.ts","sourceRoot":"","sources":["../../../src/communication/http/httpClient.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,qBAAqB,EAA6B,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAEpG,OAAmB,EAAoB,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAW9E,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,aAAa,CAAC;IAC9B,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,8BAAsB,UAAU;IAK5B,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"httpClient.d.ts","sourceRoot":"","sources":["../../../src/communication/http/httpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,7 +82,9 @@ var HttpClient = /** @class */ (function () {
|
|
|
82
82
|
if (disableDebugLogs === void 0) { disableDebugLogs = false; }
|
|
83
83
|
var _a;
|
|
84
84
|
this.logger = logger;
|
|
85
|
+
this.baseUrl = baseUrl;
|
|
85
86
|
this.targetService = targetService;
|
|
87
|
+
this.retryConfig = retryConfig;
|
|
86
88
|
this.disableDebugLogs = disableDebugLogs;
|
|
87
89
|
this.axiosOptions = {};
|
|
88
90
|
this.axiosClient = axios_1.default.create();
|
|
@@ -94,7 +96,13 @@ var HttpClient = /** @class */ (function () {
|
|
|
94
96
|
};
|
|
95
97
|
var delayFunc = (_a = axiosRetryConfig.retryDelay) !== null && _a !== void 0 ? _a : (function () { return 0; });
|
|
96
98
|
axiosRetryConfig.retryDelay = function (retryCount, error) {
|
|
97
|
-
_this.logger.error(
|
|
99
|
+
_this.logger.error({
|
|
100
|
+
err: error,
|
|
101
|
+
retries: retryCount,
|
|
102
|
+
targetService: _this.targetService,
|
|
103
|
+
msg: "error from ".concat(_this.targetService, "."),
|
|
104
|
+
msgError: error.message,
|
|
105
|
+
});
|
|
98
106
|
return delayFunc(retryCount, error);
|
|
99
107
|
};
|
|
100
108
|
(0, axios_retry_1.default)(this.axiosClient, axiosRetryConfig);
|
|
@@ -107,6 +115,14 @@ var HttpClient = /** @class */ (function () {
|
|
|
107
115
|
case 0:
|
|
108
116
|
_a.trys.push([0, 2, , 3]);
|
|
109
117
|
reqConfig = this.getRequestConfig(retryConfig, queryParams, auth, headers);
|
|
118
|
+
if (!this.disableDebugLogs) {
|
|
119
|
+
this.logger.debug({
|
|
120
|
+
reqConfig: reqConfig,
|
|
121
|
+
url: url,
|
|
122
|
+
targetService: this.targetService,
|
|
123
|
+
msg: "Send GET message to ".concat(this.targetService, "."),
|
|
124
|
+
});
|
|
125
|
+
}
|
|
110
126
|
return [4 /*yield*/, this.axiosClient.get(url, reqConfig)];
|
|
111
127
|
case 1:
|
|
112
128
|
res = _a.sent();
|
|
@@ -128,6 +144,15 @@ var HttpClient = /** @class */ (function () {
|
|
|
128
144
|
case 0:
|
|
129
145
|
_a.trys.push([0, 2, , 3]);
|
|
130
146
|
reqConfig = this.getRequestConfig(retryConfig, queryParams, auth, headers);
|
|
147
|
+
if (!this.disableDebugLogs) {
|
|
148
|
+
this.logger.debug({
|
|
149
|
+
reqConfig: reqConfig,
|
|
150
|
+
url: url,
|
|
151
|
+
body: body,
|
|
152
|
+
targetService: this.targetService,
|
|
153
|
+
msg: "Send POST message to ".concat(this.targetService, "."),
|
|
154
|
+
});
|
|
155
|
+
}
|
|
131
156
|
return [4 /*yield*/, this.axiosClient.post(url, body, reqConfig)];
|
|
132
157
|
case 1:
|
|
133
158
|
res = _a.sent();
|
|
@@ -149,6 +174,15 @@ var HttpClient = /** @class */ (function () {
|
|
|
149
174
|
case 0:
|
|
150
175
|
_a.trys.push([0, 2, , 3]);
|
|
151
176
|
reqConfig = this.getRequestConfig(retryConfig, queryParams, auth, headers);
|
|
177
|
+
if (!this.disableDebugLogs) {
|
|
178
|
+
this.logger.debug({
|
|
179
|
+
reqConfig: reqConfig,
|
|
180
|
+
url: url,
|
|
181
|
+
body: body,
|
|
182
|
+
targetService: this.targetService,
|
|
183
|
+
msg: "Send PUT message to ".concat(this.targetService, "."),
|
|
184
|
+
});
|
|
185
|
+
}
|
|
152
186
|
return [4 /*yield*/, this.axiosClient.put(url, body, reqConfig)];
|
|
153
187
|
case 1:
|
|
154
188
|
res = _a.sent();
|
|
@@ -170,6 +204,14 @@ var HttpClient = /** @class */ (function () {
|
|
|
170
204
|
case 0:
|
|
171
205
|
_a.trys.push([0, 2, , 3]);
|
|
172
206
|
reqConfig = this.getRequestConfig(retryConfig, queryParams, auth, headers);
|
|
207
|
+
if (!this.disableDebugLogs) {
|
|
208
|
+
this.logger.debug({
|
|
209
|
+
reqConfig: reqConfig,
|
|
210
|
+
url: url,
|
|
211
|
+
targetService: this.targetService,
|
|
212
|
+
msg: "Send DELTE message to ".concat(this.targetService, "."),
|
|
213
|
+
});
|
|
214
|
+
}
|
|
173
215
|
return [4 /*yield*/, this.axiosClient.delete(url, reqConfig)];
|
|
174
216
|
case 1:
|
|
175
217
|
res = _a.sent();
|
|
@@ -191,6 +233,14 @@ var HttpClient = /** @class */ (function () {
|
|
|
191
233
|
case 0:
|
|
192
234
|
_a.trys.push([0, 2, , 3]);
|
|
193
235
|
reqConfig = this.getRequestConfig(retryConfig, queryParams, auth, headers);
|
|
236
|
+
if (!this.disableDebugLogs) {
|
|
237
|
+
this.logger.debug({
|
|
238
|
+
reqConfig: reqConfig,
|
|
239
|
+
url: url,
|
|
240
|
+
targetService: this.targetService,
|
|
241
|
+
msg: "Send HEAD message to ".concat(this.targetService, "."),
|
|
242
|
+
});
|
|
243
|
+
}
|
|
194
244
|
return [4 /*yield*/, this.axiosClient.head(url, reqConfig)];
|
|
195
245
|
case 1:
|
|
196
246
|
res = _a.sent();
|
|
@@ -212,6 +262,14 @@ var HttpClient = /** @class */ (function () {
|
|
|
212
262
|
case 0:
|
|
213
263
|
_a.trys.push([0, 2, , 3]);
|
|
214
264
|
reqConfig = this.getRequestConfig(retryConfig, queryParams, auth, headers);
|
|
265
|
+
if (!this.disableDebugLogs) {
|
|
266
|
+
this.logger.debug({
|
|
267
|
+
reqConfig: reqConfig,
|
|
268
|
+
url: url,
|
|
269
|
+
targetService: this.targetService,
|
|
270
|
+
msg: "Send OPTIONS message to ".concat(this.targetService, "."),
|
|
271
|
+
});
|
|
272
|
+
}
|
|
215
273
|
return [4 /*yield*/, this.axiosClient.options(url, reqConfig)];
|
|
216
274
|
case 1:
|
|
217
275
|
res = _a.sent();
|
|
@@ -233,6 +291,14 @@ var HttpClient = /** @class */ (function () {
|
|
|
233
291
|
case 0:
|
|
234
292
|
_a.trys.push([0, 2, , 3]);
|
|
235
293
|
reqConfig = this.getRequestConfig(retryConfig, queryParams, auth, headers);
|
|
294
|
+
if (!this.disableDebugLogs) {
|
|
295
|
+
this.logger.debug({
|
|
296
|
+
reqConfig: reqConfig,
|
|
297
|
+
url: url,
|
|
298
|
+
targetService: this.targetService,
|
|
299
|
+
msg: "Send PATCH message to ".concat(this.targetService, "."),
|
|
300
|
+
});
|
|
301
|
+
}
|
|
236
302
|
return [4 /*yield*/, this.axiosClient.patch(url, body, reqConfig)];
|
|
237
303
|
case 1:
|
|
238
304
|
res = _a.sent();
|
|
@@ -264,44 +330,74 @@ var HttpClient = /** @class */ (function () {
|
|
|
264
330
|
var message = (0, lodash_1.get)(err, 'response.data.message', undefined);
|
|
265
331
|
switch ((_a = err.response) === null || _a === void 0 ? void 0 : _a.status) {
|
|
266
332
|
case http_status_codes_1.default.BAD_REQUEST:
|
|
267
|
-
if (
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
333
|
+
if (!this.disableDebugLogs) {
|
|
334
|
+
this.logger.debug({
|
|
335
|
+
err: err,
|
|
336
|
+
url: url,
|
|
337
|
+
body: body,
|
|
338
|
+
targetService: this.targetService,
|
|
339
|
+
msg: "invalid request error recieved from service ".concat(this.targetService, "."),
|
|
340
|
+
msgError: err.message,
|
|
341
|
+
});
|
|
275
342
|
}
|
|
276
343
|
return new error_types_1.BadRequestError(err, message);
|
|
277
344
|
case http_status_codes_1.default.NOT_FOUND:
|
|
278
345
|
if (!this.disableDebugLogs) {
|
|
279
|
-
this.logger.debug(
|
|
346
|
+
this.logger.debug({
|
|
347
|
+
err: err,
|
|
348
|
+
url: url,
|
|
349
|
+
body: body,
|
|
350
|
+
targetService: this.targetService,
|
|
351
|
+
msg: "not found error recieved from service ".concat(this.targetService, "."),
|
|
352
|
+
msgError: err.message,
|
|
353
|
+
});
|
|
280
354
|
}
|
|
281
355
|
return new error_types_1.NotFoundError(err, message);
|
|
282
356
|
case http_status_codes_1.default.CONFLICT:
|
|
283
357
|
if (!this.disableDebugLogs) {
|
|
284
|
-
this.logger.debug(
|
|
358
|
+
this.logger.debug({
|
|
359
|
+
err: err,
|
|
360
|
+
url: url,
|
|
361
|
+
body: body,
|
|
362
|
+
targetService: this.targetService,
|
|
363
|
+
msg: "conflict error recieved from service ".concat(this.targetService, "."),
|
|
364
|
+
msgError: err.message,
|
|
365
|
+
});
|
|
285
366
|
}
|
|
286
367
|
return new error_types_1.ConflictError(err, message);
|
|
287
368
|
case http_status_codes_1.default.FORBIDDEN:
|
|
288
369
|
if (!this.disableDebugLogs) {
|
|
289
|
-
this.logger.debug(
|
|
370
|
+
this.logger.debug({
|
|
371
|
+
err: err,
|
|
372
|
+
url: url,
|
|
373
|
+
body: body,
|
|
374
|
+
targetService: this.targetService,
|
|
375
|
+
msg: "forbidden error recieved from service ".concat(this.targetService, "."),
|
|
376
|
+
msgError: err.message,
|
|
377
|
+
});
|
|
290
378
|
}
|
|
291
379
|
throw new error_types_1.ForbiddenError(err, message);
|
|
292
380
|
case http_status_codes_1.default.UNAUTHORIZED:
|
|
293
381
|
if (!this.disableDebugLogs) {
|
|
294
|
-
this.logger.debug(
|
|
382
|
+
this.logger.debug({
|
|
383
|
+
err: err,
|
|
384
|
+
url: url,
|
|
385
|
+
body: body,
|
|
386
|
+
targetService: this.targetService,
|
|
387
|
+
msg: "unauthorized error recieved from service ".concat(this.targetService, "."),
|
|
388
|
+
msgError: err.message,
|
|
389
|
+
});
|
|
295
390
|
}
|
|
296
391
|
throw new error_types_1.UnauthorizedError(err, message);
|
|
297
392
|
default:
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
393
|
+
this.logger.error({
|
|
394
|
+
err: err,
|
|
395
|
+
url: url,
|
|
396
|
+
body: body,
|
|
397
|
+
targetService: this.targetService,
|
|
398
|
+
msg: "Internal Server Error recieved from service ".concat(this.targetService, "."),
|
|
399
|
+
msgError: err.message,
|
|
400
|
+
});
|
|
305
401
|
return new error_types_1.InternalServerError(err);
|
|
306
402
|
}
|
|
307
403
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"httpClient.js","sourceRoot":"","sources":["../../../src/communication/http/httpClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAoG;AACpG,wEAA2C;AAC3C,yDAA8E;AAC9E,iCAA6C;AAC7C,yDAQmC;AASnC;IAIE,oBACqB,MAAc,
|
|
1
|
+
{"version":3,"file":"httpClient.js","sourceRoot":"","sources":["../../../src/communication/http/httpClient.ts"],"names":[],"mappings":"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"}
|
package/dist/geo/tiles.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BBox2d } from '@turf/helpers/dist/js/lib/geojson';
|
|
2
|
-
import {
|
|
2
|
+
import { Feature, FeatureCollection, MultiPolygon, Polygon } from '@turf/turf';
|
|
3
|
+
import { ITile, ITileRange } from '../models/interfaces/geo/iTile';
|
|
3
4
|
/**
|
|
4
5
|
* calculates tile size (resolution) in degrees
|
|
5
6
|
* @param zoomLevel zoom level of returned tile size
|
|
@@ -42,4 +43,41 @@ export declare function degreesPerPixelToZoomLevel(resolution: number): number;
|
|
|
42
43
|
* @returns
|
|
43
44
|
*/
|
|
44
45
|
export declare function tileToBbox(tile: ITile): BBox2d;
|
|
46
|
+
/**
|
|
47
|
+
* returns the batch area
|
|
48
|
+
* @param ITileRange
|
|
49
|
+
* @returns
|
|
50
|
+
*/
|
|
51
|
+
export declare function tileRangeToTilesCount(batch: ITileRange): number;
|
|
52
|
+
/**
|
|
53
|
+
* returns tiles amount of given feature and zoom ranges - based on 2:1 tile scheme
|
|
54
|
+
* use the bboxToTileRange method and provide sanitized bbox coverage of tiles
|
|
55
|
+
* @param feature
|
|
56
|
+
* If feature's properties include attributes of "maxResolutionDeg" and "minResolutionDeg" or just one of them -
|
|
57
|
+
* It will be converted to maxZoom and minZoom instead of default params to calculate
|
|
58
|
+
* minResolutionDeg >= 0.703125
|
|
59
|
+
* maxResolutionDeg <= 0.000000167638063430786
|
|
60
|
+
* @param layerFootprint - referenced layer geometry to snap on the bbox
|
|
61
|
+
* @param defaultMaxZoom optional - default is 22 - if maxResolutionDeg property was provided, the param will be ignored
|
|
62
|
+
* @param defaultMinZoom optional - default is 0 - if minResolutionDeg property was provided, the param will be ignored
|
|
63
|
+
* @returns tile count included on provided feature and zooms ranges
|
|
64
|
+
*/
|
|
65
|
+
export declare function featureToTilesCount(feature: Feature<Polygon | MultiPolygon>, defaultMaxZoom?: number, defaultMinZoom?: number): number;
|
|
66
|
+
/**
|
|
67
|
+
* returns tiles amount of given featureCollection [each feature may include maxResolutionDeg and minResolutionDeg
|
|
68
|
+
* if no resolutions in property will calculate all features with optional argument]
|
|
69
|
+
* based on 2:1 tile scheme
|
|
70
|
+
* use the bboxToTileRange method and provide sanitized bbox coverage of tiles
|
|
71
|
+
* @param fc - FeatureCollection
|
|
72
|
+
* foreach feature in featuresCollection features array:
|
|
73
|
+
* If feature's properties include attributes of "maxResolutionDeg" and "minResolutionDeg" or just one of them -
|
|
74
|
+
* It will be converted to maxZoom and minZoom instead of default params to calculate
|
|
75
|
+
* minResolutionDeg >= 0.703125
|
|
76
|
+
* maxResolutionDeg <= 0.000000167638063430786
|
|
77
|
+
* for current feature in the array
|
|
78
|
+
* @param defaultMaxZoom optional - default is 22 - if maxResolutionDeg property was provided, the param will be ignored
|
|
79
|
+
* @param defaultMinZoom optional - default is 0 - if minResolutionDeg property was provided, the param will be ignored
|
|
80
|
+
* @returns tile count included on provided feature and zooms ranges
|
|
81
|
+
*/
|
|
82
|
+
export declare function featureCollectionToTilesCount(fc: FeatureCollection, defaultMaxZoom?: number, defaultMinZoom?: number): number;
|
|
45
83
|
//# sourceMappingURL=tiles.d.ts.map
|
package/dist/geo/tiles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiles.d.ts","sourceRoot":"","sources":["../../src/geo/tiles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tiles.d.ts","sourceRoot":"","sources":["../../src/geo/tiles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAQ,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAwDnE;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIzD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,CAO5C;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAQrE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,CAI9C;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAE/D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,cAAc,SAAK,EAAE,cAAc,SAAI,GAAG,MAAM,CA2B7H;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,6BAA6B,CAAC,EAAE,EAAE,iBAAiB,EAAE,cAAc,SAAK,EAAE,cAAc,SAAI,GAAG,MAAM,CAWpH"}
|
package/dist/geo/tiles.js
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
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
|
+
};
|
|
2
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.tileToBbox = exports.degreesPerPixelToZoomLevel = exports.zoomLevelToResolutionMeter = exports.zoomLevelToResolutionDeg = exports.flipYAxis = exports.degreesPerPixel = exports.degreesPerTile = void 0;
|
|
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");
|
|
4
17
|
var geoConvertor_1 = require("./geoConvertor");
|
|
5
18
|
var zoomToResolutionDegMapper = {
|
|
6
19
|
0: 0.703125,
|
|
@@ -131,4 +144,96 @@ function tileToBbox(tile) {
|
|
|
131
144
|
return [minPoint.longitude, minPoint.latitude, minPoint.longitude + tileSize, minPoint.latitude + tileSize];
|
|
132
145
|
}
|
|
133
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;
|
|
134
239
|
//# sourceMappingURL=tiles.js.map
|
package/dist/geo/tiles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tiles.js","sourceRoot":"","sources":["../../src/geo/tiles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tiles.js","sourceRoot":"","sources":["../../src/geo/tiles.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@map-colonies/mc-utils",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.9.0",
|
|
4
4
|
"description": "This is template for map colonies typescript packages",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -65,13 +65,15 @@
|
|
|
65
65
|
"typescript": "^4.2.4"
|
|
66
66
|
},
|
|
67
67
|
"dependencies": {
|
|
68
|
-
"@map-colonies/error-types": "^1.1.5",
|
|
69
|
-
"@map-colonies/js-logger": "^0.0.5",
|
|
70
68
|
"@turf/turf": "^6.5.0",
|
|
71
69
|
"axios": "^0.21.1",
|
|
72
70
|
"axios-retry": "^3.1.9",
|
|
73
71
|
"http-status-codes": "^2.1.4",
|
|
74
72
|
"lodash": "^4.17.21",
|
|
75
73
|
"ngeohash": "^0.6.3"
|
|
74
|
+
},
|
|
75
|
+
"peerDependencies": {
|
|
76
|
+
"@map-colonies/error-types": "^1.1.5",
|
|
77
|
+
"@map-colonies/js-logger": "^0.0.5"
|
|
76
78
|
}
|
|
77
79
|
}
|