@map-colonies/mc-utils 1.4.6 → 1.6.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/README.md +67 -67
- package/dist/arrays/index.d.ts +1 -1
- package/dist/arrays/index.js +13 -13
- package/dist/arrays/subGroups.d.ts +8 -8
- package/dist/arrays/subGroups.js +138 -138
- package/dist/communication/http/httpClient.d.ts +26 -26
- package/dist/communication/http/httpClient.js +333 -333
- package/dist/communication/http/index.d.ts +1 -1
- package/dist/communication/http/index.js +13 -13
- package/dist/communication/index.d.ts +1 -1
- package/dist/communication/index.js +13 -13
- package/dist/dateTime/getUTCDate.d.ts +2 -0
- package/dist/dateTime/getUTCDate.d.ts.map +1 -0
- package/dist/dateTime/getUTCDate.js +11 -0
- package/dist/dateTime/getUTCDate.js.map +1 -0
- package/dist/dateTime/index.d.ts +2 -0
- package/dist/dateTime/index.d.ts.map +1 -0
- package/dist/dateTime/index.js +14 -0
- package/dist/dateTime/index.js.map +1 -0
- package/dist/geo/bboxUtils.d.ts +23 -23
- package/dist/geo/bboxUtils.d.ts.map +1 -1
- package/dist/geo/bboxUtils.js +89 -84
- package/dist/geo/bboxUtils.js.map +1 -1
- package/dist/geo/geoConvertor.d.ts +18 -18
- package/dist/geo/geoConvertor.js +51 -51
- package/dist/geo/geoHash.d.ts +24 -24
- package/dist/geo/geoHash.js +242 -242
- package/dist/geo/geoIntersection.d.ts +12 -12
- package/dist/geo/geoIntersection.js +27 -27
- package/dist/geo/index.d.ts +8 -8
- package/dist/geo/index.js +20 -20
- package/dist/geo/tileBatcher.d.ts +8 -8
- package/dist/geo/tileBatcher.js +167 -167
- package/dist/geo/tileRanger.d.ts +39 -39
- package/dist/geo/tileRanger.js +254 -254
- package/dist/geo/tiles.d.ts +32 -32
- package/dist/geo/tiles.js +65 -65
- package/dist/geo/tilesGenerator.d.ts +2 -2
- package/dist/geo/tilesGenerator.js +94 -94
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -16
- package/dist/index.js.map +1 -1
- package/dist/models/enums/geo/index.d.ts +1 -1
- package/dist/models/enums/geo/index.js +13 -13
- package/dist/models/enums/geo/tileOrigin.d.ts +7 -7
- package/dist/models/enums/geo/tileOrigin.js +11 -11
- package/dist/models/enums/index.d.ts +1 -1
- package/dist/models/enums/index.js +13 -13
- package/dist/models/index.d.ts +2 -2
- package/dist/models/index.js +14 -14
- package/dist/models/interfaces/geo/iPoint.d.ts +7 -7
- package/dist/models/interfaces/geo/iPoint.js +2 -2
- package/dist/models/interfaces/geo/iTile.d.ts +15 -15
- package/dist/models/interfaces/geo/iTile.js +2 -2
- package/dist/models/interfaces/geo/index.d.ts +2 -2
- package/dist/models/interfaces/geo/index.js +14 -14
- package/dist/models/interfaces/iLogger.d.ts +6 -6
- package/dist/models/interfaces/iLogger.js +2 -2
- package/dist/models/interfaces/index.d.ts +2 -2
- package/dist/models/interfaces/index.js +14 -14
- package/package.json +76 -76
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './httpClient';
|
|
1
|
+
export * from './httpClient';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
-
};
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
__exportStar(require("./httpClient"), exports);
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./httpClient"), exports);
|
|
14
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './http';
|
|
1
|
+
export * from './http';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
-
};
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
__exportStar(require("./http"), exports);
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./http"), exports);
|
|
14
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUTCDate.d.ts","sourceRoot":"","sources":["../../src/dateTime/getUTCDate.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,QAAO,IAY7B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getUTCDate = void 0;
|
|
4
|
+
var getUTCDate = function () {
|
|
5
|
+
var date = new Date();
|
|
6
|
+
var nowUtc = Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds());
|
|
7
|
+
var utcDate = new Date(nowUtc);
|
|
8
|
+
return utcDate;
|
|
9
|
+
};
|
|
10
|
+
exports.getUTCDate = getUTCDate;
|
|
11
|
+
//# sourceMappingURL=getUTCDate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getUTCDate.js","sourceRoot":"","sources":["../../src/dateTime/getUTCDate.ts"],"names":[],"mappings":";;;AAAO,IAAM,UAAU,GAAG;IACxB,IAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IACxB,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACrB,IAAI,CAAC,cAAc,EAAE,EACrB,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,UAAU,EAAE,EACjB,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,aAAa,EAAE,EACpB,IAAI,CAAC,aAAa,EAAE,CACrB,CAAC;IACF,IAAM,OAAO,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAZW,QAAA,UAAU,cAYrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dateTime/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./getUTCDate"), exports);
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dateTime/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA6B"}
|
package/dist/geo/bboxUtils.d.ts
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { BBox2d } from '@turf/helpers/dist/js/lib/geojson';
|
|
2
|
-
import { ITile, ITileRange } from '../models/interfaces/geo/iTile';
|
|
3
|
-
/**
|
|
4
|
-
* rounds bbox to grid
|
|
5
|
-
* @param bbox original bbox
|
|
6
|
-
* @param zoomLevel target tiles grid zoom level
|
|
7
|
-
* @returns bbox that contains the original bbox and match tile grid lines
|
|
8
|
-
*/
|
|
9
|
-
export declare const snapBBoxToTileGrid: (bbox: BBox2d, zoomLevel: number) => BBox2d;
|
|
10
|
-
/**
|
|
11
|
-
* create bbox from tile grid coordinates
|
|
12
|
-
* @param minTile corner tile for bbox with minimal x,y values
|
|
13
|
-
* @param maxTile corner tile for bbox with maximal x,y values
|
|
14
|
-
* @returns
|
|
15
|
-
*/
|
|
16
|
-
export declare const bboxFromTiles: (minTile: ITile, maxTile: ITile) => BBox2d;
|
|
17
|
-
/**
|
|
18
|
-
* coverts bbox to covering tile range of specified zoom level
|
|
19
|
-
* @param bbox
|
|
20
|
-
* @param zoom target zoom level
|
|
21
|
-
* @returns covering tile range
|
|
22
|
-
*/
|
|
23
|
-
export declare const bboxToTileRange: (bbox: BBox2d, zoom: number) => ITileRange;
|
|
1
|
+
import { BBox2d } from '@turf/helpers/dist/js/lib/geojson';
|
|
2
|
+
import { ITile, ITileRange } from '../models/interfaces/geo/iTile';
|
|
3
|
+
/**
|
|
4
|
+
* rounds bbox to grid
|
|
5
|
+
* @param bbox original bbox
|
|
6
|
+
* @param zoomLevel target tiles grid zoom level
|
|
7
|
+
* @returns bbox that contains the original bbox and match tile grid lines
|
|
8
|
+
*/
|
|
9
|
+
export declare const snapBBoxToTileGrid: (bbox: BBox2d, zoomLevel: number) => BBox2d;
|
|
10
|
+
/**
|
|
11
|
+
* create bbox from tile grid coordinates
|
|
12
|
+
* @param minTile corner tile for bbox with minimal x,y values
|
|
13
|
+
* @param maxTile corner tile for bbox with maximal x,y values
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
export declare const bboxFromTiles: (minTile: ITile, maxTile: ITile) => BBox2d;
|
|
17
|
+
/**
|
|
18
|
+
* coverts bbox to covering tile range of specified zoom level
|
|
19
|
+
* @param bbox
|
|
20
|
+
* @param zoom target zoom level
|
|
21
|
+
* @returns covering tile range
|
|
22
|
+
*/
|
|
23
|
+
export declare const bboxToTileRange: (bbox: BBox2d, zoom: number) => ITileRange;
|
|
24
24
|
//# sourceMappingURL=bboxUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bboxUtils.d.ts","sourceRoot":"","sources":["../../src/geo/bboxUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AASnE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,4BAA6B,MAAM,
|
|
1
|
+
{"version":3,"file":"bboxUtils.d.ts","sourceRoot":"","sources":["../../src/geo/bboxUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AASnE;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,4BAA6B,MAAM,WA4BjE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,YAAa,KAAK,WAAW,KAAK,WAa3D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,uBAAwB,MAAM,KAAG,UAuB5D,CAAC"}
|
package/dist/geo/bboxUtils.js
CHANGED
|
@@ -1,85 +1,90 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.bboxToTileRange = exports.bboxFromTiles = exports.snapBBoxToTileGrid = void 0;
|
|
4
|
-
var geoConvertor_1 = require("./geoConvertor");
|
|
5
|
-
var tiles_1 = require("./tiles");
|
|
6
|
-
var snapMinCordToTileGrid = function (cord, tileRes) {
|
|
7
|
-
var newCord = Math.floor(cord / tileRes) * tileRes;
|
|
8
|
-
return newCord;
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* rounds bbox to grid
|
|
12
|
-
* @param bbox original bbox
|
|
13
|
-
* @param zoomLevel target tiles grid zoom level
|
|
14
|
-
* @returns bbox that contains the original bbox and match tile grid lines
|
|
15
|
-
*/
|
|
16
|
-
var snapBBoxToTileGrid = function (bbox, zoomLevel) {
|
|
17
|
-
var minLon = Math.min(bbox[0], bbox[2]);
|
|
18
|
-
var minLat = Math.min(bbox[1], bbox[3]);
|
|
19
|
-
var maxLon = Math.max(bbox[0], bbox[2]);
|
|
20
|
-
var maxLat = Math.max(bbox[1], bbox[3]);
|
|
21
|
-
var tileRes = (0, tiles_1.degreesPerTile)(zoomLevel);
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
if (
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
var
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bboxToTileRange = exports.bboxFromTiles = exports.snapBBoxToTileGrid = void 0;
|
|
4
|
+
var geoConvertor_1 = require("./geoConvertor");
|
|
5
|
+
var tiles_1 = require("./tiles");
|
|
6
|
+
var snapMinCordToTileGrid = function (cord, tileRes) {
|
|
7
|
+
var newCord = Math.floor(cord / tileRes) * tileRes;
|
|
8
|
+
return newCord;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* rounds bbox to grid
|
|
12
|
+
* @param bbox original bbox
|
|
13
|
+
* @param zoomLevel target tiles grid zoom level
|
|
14
|
+
* @returns bbox that contains the original bbox and match tile grid lines
|
|
15
|
+
*/
|
|
16
|
+
var snapBBoxToTileGrid = function (bbox, zoomLevel) {
|
|
17
|
+
var minLon = Math.min(bbox[0], bbox[2]);
|
|
18
|
+
var minLat = Math.min(bbox[1], bbox[3]);
|
|
19
|
+
var maxLon = Math.max(bbox[0], bbox[2]);
|
|
20
|
+
var maxLat = Math.max(bbox[1], bbox[3]);
|
|
21
|
+
var tileRes = (0, tiles_1.degreesPerTile)(zoomLevel);
|
|
22
|
+
var snappedMinLon = snapMinCordToTileGrid(minLon, tileRes);
|
|
23
|
+
var snappedMaxLon = snapMinCordToTileGrid(maxLon, tileRes);
|
|
24
|
+
if (snappedMaxLon != maxLon) {
|
|
25
|
+
snappedMaxLon += tileRes;
|
|
26
|
+
}
|
|
27
|
+
var sanppedMinLat;
|
|
28
|
+
var snappedMaxLat;
|
|
29
|
+
if (zoomLevel === 0) {
|
|
30
|
+
// eslint-disable-next-line @typescript-eslint/no-magic-numbers
|
|
31
|
+
sanppedMinLat = -90;
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/no-magic-numbers
|
|
33
|
+
snappedMaxLat = 90;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
sanppedMinLat = snapMinCordToTileGrid(minLat, tileRes);
|
|
37
|
+
snappedMaxLat = snapMinCordToTileGrid(maxLat, tileRes);
|
|
38
|
+
if (snappedMaxLat != maxLat) {
|
|
39
|
+
snappedMaxLat += tileRes;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
var snappedBbox = [snappedMinLon, sanppedMinLat, snappedMaxLon, snappedMaxLat];
|
|
43
|
+
return snappedBbox;
|
|
44
|
+
};
|
|
45
|
+
exports.snapBBoxToTileGrid = snapBBoxToTileGrid;
|
|
46
|
+
/**
|
|
47
|
+
* create bbox from tile grid coordinates
|
|
48
|
+
* @param minTile corner tile for bbox with minimal x,y values
|
|
49
|
+
* @param maxTile corner tile for bbox with maximal x,y values
|
|
50
|
+
* @returns
|
|
51
|
+
*/
|
|
52
|
+
var bboxFromTiles = function (minTile, maxTile) {
|
|
53
|
+
if (minTile.zoom !== maxTile.zoom) {
|
|
54
|
+
throw new Error("Could not calcualte bbox from tiles due to not matching zoom levels");
|
|
55
|
+
}
|
|
56
|
+
var minPoint = (0, geoConvertor_1.tileToDegrees)(minTile);
|
|
57
|
+
var maxPoint = (0, geoConvertor_1.tileToDegrees)({
|
|
58
|
+
x: maxTile.x + 1,
|
|
59
|
+
y: maxTile.y + 1,
|
|
60
|
+
zoom: maxTile.zoom,
|
|
61
|
+
});
|
|
62
|
+
return [minPoint.longitude, minPoint.latitude, maxPoint.longitude, maxPoint.latitude];
|
|
63
|
+
};
|
|
64
|
+
exports.bboxFromTiles = bboxFromTiles;
|
|
65
|
+
/**
|
|
66
|
+
* coverts bbox to covering tile range of specified zoom level
|
|
67
|
+
* @param bbox
|
|
68
|
+
* @param zoom target zoom level
|
|
69
|
+
* @returns covering tile range
|
|
70
|
+
*/
|
|
71
|
+
var bboxToTileRange = function (bbox, zoom) {
|
|
72
|
+
var sanitizedBbox = (0, exports.snapBBoxToTileGrid)(bbox, zoom);
|
|
73
|
+
var minTile = (0, geoConvertor_1.degreesToTile)({
|
|
74
|
+
longitude: sanitizedBbox[0],
|
|
75
|
+
latitude: sanitizedBbox[1],
|
|
76
|
+
}, zoom);
|
|
77
|
+
var maxTile = (0, geoConvertor_1.degreesToTile)({
|
|
78
|
+
longitude: sanitizedBbox[2],
|
|
79
|
+
latitude: sanitizedBbox[3],
|
|
80
|
+
}, zoom);
|
|
81
|
+
return {
|
|
82
|
+
minX: minTile.x,
|
|
83
|
+
minY: minTile.y,
|
|
84
|
+
maxX: maxTile.x,
|
|
85
|
+
maxY: maxTile.y,
|
|
86
|
+
zoom: zoom,
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
exports.bboxToTileRange = bboxToTileRange;
|
|
85
90
|
//# sourceMappingURL=bboxUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bboxUtils.js","sourceRoot":"","sources":["../../src/geo/bboxUtils.ts"],"names":[],"mappings":";;;AAEA,+CAA8D;AAC9D,iCAAyC;AAEzC,IAAM,qBAAqB,GAAG,UAAC,IAAY,EAAE,OAAe;IAC1D,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC;IACrD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF;;;;;GAKG;AACI,IAAM,kBAAkB,GAAG,UAAC,IAAY,EAAE,SAAiB;IAChE,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,IAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1C,IAAM,OAAO,GAAG,IAAA,sBAAc,EAAC,SAAS,CAAC,CAAC;IAC1C,
|
|
1
|
+
{"version":3,"file":"bboxUtils.js","sourceRoot":"","sources":["../../src/geo/bboxUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { TileOrigin } from '../models/enums/geo/tileOrigin';
|
|
2
|
-
import { IPoint } from '../models/interfaces/geo/iPoint';
|
|
3
|
-
import { ITile } from '../models/interfaces/geo/iTile';
|
|
4
|
-
/**
|
|
5
|
-
* converts point on WGS84 projection (with degree coordinates) to tile coordinates
|
|
6
|
-
* @param point coordinates to convert to matching tile
|
|
7
|
-
* @param zoomLevel matching tile zoom level
|
|
8
|
-
* @param origin tile grid origin location (default ll)
|
|
9
|
-
* @returns tile that contains the given point.
|
|
10
|
-
*/
|
|
11
|
-
export declare const degreesToTile: (point: IPoint, zoomLevel: number, origin?: TileOrigin) => ITile;
|
|
12
|
-
/**
|
|
13
|
-
* return the coordinates of the minimal corner of the given tile
|
|
14
|
-
* @param tile tile to convert
|
|
15
|
-
* @param origin tile grid origin location (default ll)
|
|
16
|
-
* @returns point with the coordinates of the tile corner
|
|
17
|
-
*/
|
|
18
|
-
export declare const tileToDegrees: (tile: ITile, origin?: TileOrigin) => IPoint;
|
|
1
|
+
import { TileOrigin } from '../models/enums/geo/tileOrigin';
|
|
2
|
+
import { IPoint } from '../models/interfaces/geo/iPoint';
|
|
3
|
+
import { ITile } from '../models/interfaces/geo/iTile';
|
|
4
|
+
/**
|
|
5
|
+
* converts point on WGS84 projection (with degree coordinates) to tile coordinates
|
|
6
|
+
* @param point coordinates to convert to matching tile
|
|
7
|
+
* @param zoomLevel matching tile zoom level
|
|
8
|
+
* @param origin tile grid origin location (default ll)
|
|
9
|
+
* @returns tile that contains the given point.
|
|
10
|
+
*/
|
|
11
|
+
export declare const degreesToTile: (point: IPoint, zoomLevel: number, origin?: TileOrigin) => ITile;
|
|
12
|
+
/**
|
|
13
|
+
* return the coordinates of the minimal corner of the given tile
|
|
14
|
+
* @param tile tile to convert
|
|
15
|
+
* @param origin tile grid origin location (default ll)
|
|
16
|
+
* @returns point with the coordinates of the tile corner
|
|
17
|
+
*/
|
|
18
|
+
export declare const tileToDegrees: (tile: ITile, origin?: TileOrigin) => IPoint;
|
|
19
19
|
//# sourceMappingURL=geoConvertor.d.ts.map
|
package/dist/geo/geoConvertor.js
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.tileToDegrees = exports.degreesToTile = void 0;
|
|
4
|
-
var tileOrigin_1 = require("../models/enums/geo/tileOrigin");
|
|
5
|
-
var tiles_1 = require("./tiles");
|
|
6
|
-
/**
|
|
7
|
-
* converts point on WGS84 projection (with degree coordinates) to tile coordinates
|
|
8
|
-
* @param point coordinates to convert to matching tile
|
|
9
|
-
* @param zoomLevel matching tile zoom level
|
|
10
|
-
* @param origin tile grid origin location (default ll)
|
|
11
|
-
* @returns tile that contains the given point.
|
|
12
|
-
*/
|
|
13
|
-
var degreesToTile = function (point, zoomLevel, origin) {
|
|
14
|
-
if (origin === void 0) { origin = tileOrigin_1.TileOrigin.LOWER_LEFT; }
|
|
15
|
-
var resolution = (0, tiles_1.degreesPerTile)(zoomLevel);
|
|
16
|
-
var lat = point.latitude;
|
|
17
|
-
if (origin === tileOrigin_1.TileOrigin.UPPER_LEFT) {
|
|
18
|
-
lat = -lat;
|
|
19
|
-
}
|
|
20
|
-
var xTile = point.longitude / resolution + (1 << zoomLevel);
|
|
21
|
-
// eslint-disable-next-line @typescript-eslint/no-magic-numbers
|
|
22
|
-
var yTile = zoomLevel != 0 ? lat / resolution + (1 << (zoomLevel - 1)) : lat / resolution + 0.5;
|
|
23
|
-
return {
|
|
24
|
-
x: Math.floor(xTile),
|
|
25
|
-
y: Math.floor(yTile),
|
|
26
|
-
zoom: zoomLevel,
|
|
27
|
-
};
|
|
28
|
-
};
|
|
29
|
-
exports.degreesToTile = degreesToTile;
|
|
30
|
-
/**
|
|
31
|
-
* return the coordinates of the minimal corner of the given tile
|
|
32
|
-
* @param tile tile to convert
|
|
33
|
-
* @param origin tile grid origin location (default ll)
|
|
34
|
-
* @returns point with the coordinates of the tile corner
|
|
35
|
-
*/
|
|
36
|
-
var tileToDegrees = function (tile, origin) {
|
|
37
|
-
if (origin === void 0) { origin = tileOrigin_1.TileOrigin.LOWER_LEFT; }
|
|
38
|
-
var maxLon = 180;
|
|
39
|
-
var maxLat = 90;
|
|
40
|
-
var degPerTile = (0, tiles_1.degreesPerTile)(tile.zoom);
|
|
41
|
-
var lon = tile.x * degPerTile - maxLon;
|
|
42
|
-
var lat = tile.y * degPerTile - maxLat;
|
|
43
|
-
if (origin === tileOrigin_1.TileOrigin.UPPER_LEFT) {
|
|
44
|
-
lat = -lat;
|
|
45
|
-
}
|
|
46
|
-
return {
|
|
47
|
-
latitude: lat,
|
|
48
|
-
longitude: lon,
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
exports.tileToDegrees = tileToDegrees;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tileToDegrees = exports.degreesToTile = void 0;
|
|
4
|
+
var tileOrigin_1 = require("../models/enums/geo/tileOrigin");
|
|
5
|
+
var tiles_1 = require("./tiles");
|
|
6
|
+
/**
|
|
7
|
+
* converts point on WGS84 projection (with degree coordinates) to tile coordinates
|
|
8
|
+
* @param point coordinates to convert to matching tile
|
|
9
|
+
* @param zoomLevel matching tile zoom level
|
|
10
|
+
* @param origin tile grid origin location (default ll)
|
|
11
|
+
* @returns tile that contains the given point.
|
|
12
|
+
*/
|
|
13
|
+
var degreesToTile = function (point, zoomLevel, origin) {
|
|
14
|
+
if (origin === void 0) { origin = tileOrigin_1.TileOrigin.LOWER_LEFT; }
|
|
15
|
+
var resolution = (0, tiles_1.degreesPerTile)(zoomLevel);
|
|
16
|
+
var lat = point.latitude;
|
|
17
|
+
if (origin === tileOrigin_1.TileOrigin.UPPER_LEFT) {
|
|
18
|
+
lat = -lat;
|
|
19
|
+
}
|
|
20
|
+
var xTile = point.longitude / resolution + (1 << zoomLevel);
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-magic-numbers
|
|
22
|
+
var yTile = zoomLevel != 0 ? lat / resolution + (1 << (zoomLevel - 1)) : lat / resolution + 0.5;
|
|
23
|
+
return {
|
|
24
|
+
x: Math.floor(xTile),
|
|
25
|
+
y: Math.floor(yTile),
|
|
26
|
+
zoom: zoomLevel,
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
exports.degreesToTile = degreesToTile;
|
|
30
|
+
/**
|
|
31
|
+
* return the coordinates of the minimal corner of the given tile
|
|
32
|
+
* @param tile tile to convert
|
|
33
|
+
* @param origin tile grid origin location (default ll)
|
|
34
|
+
* @returns point with the coordinates of the tile corner
|
|
35
|
+
*/
|
|
36
|
+
var tileToDegrees = function (tile, origin) {
|
|
37
|
+
if (origin === void 0) { origin = tileOrigin_1.TileOrigin.LOWER_LEFT; }
|
|
38
|
+
var maxLon = 180;
|
|
39
|
+
var maxLat = 90;
|
|
40
|
+
var degPerTile = (0, tiles_1.degreesPerTile)(tile.zoom);
|
|
41
|
+
var lon = tile.x * degPerTile - maxLon;
|
|
42
|
+
var lat = tile.y * degPerTile - maxLat;
|
|
43
|
+
if (origin === tileOrigin_1.TileOrigin.UPPER_LEFT) {
|
|
44
|
+
lat = -lat;
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
latitude: lat,
|
|
48
|
+
longitude: lon,
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
exports.tileToDegrees = tileToDegrees;
|
|
52
52
|
//# sourceMappingURL=geoConvertor.js.map
|
package/dist/geo/geoHash.d.ts
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { Feature, MultiPolygon, Polygon } from '@turf/turf';
|
|
2
|
-
import { BBox2d } from '@turf/helpers/dist/js/lib/geojson';
|
|
3
|
-
import { ITile } from '../models/interfaces/geo/iTile';
|
|
4
|
-
import { TileOrigin } from '../models/enums/geo/tileOrigin';
|
|
5
|
-
/**
|
|
6
|
-
* converts geohash string to its bbox in wgs84 degrees
|
|
7
|
-
* @param geohash geohash string
|
|
8
|
-
* @returns bbox of the supplied geohash
|
|
9
|
-
*/
|
|
10
|
-
export declare const decodeGeoHash: (geohash: string) => BBox2d;
|
|
11
|
-
/**
|
|
12
|
-
* generates optimized geohash iterator for given polygon and target zoom level
|
|
13
|
-
* @param polygon polygon to cover with geohashes
|
|
14
|
-
* @param maxTileZoom target zoom level
|
|
15
|
-
* @returns generator that yields the matching geohashes
|
|
16
|
-
*/
|
|
17
|
-
export declare const createGeoHashGenerator: (polygon: Polygon | Feature<Polygon | MultiPolygon>, maxTileZoom?: number) => Generator<string>;
|
|
18
|
-
/**
|
|
19
|
-
* generate all tiles in supplied polygon
|
|
20
|
-
* @param polygon polygon to cover with tiles
|
|
21
|
-
* @param tileZoom target tiles zoom level
|
|
22
|
-
* @param origin target tiles grid origin location (default ll)
|
|
23
|
-
*/
|
|
24
|
-
export declare function tileGenerator(polygon: Polygon | Feature<Polygon | MultiPolygon>, tileZoom: number, origin?: TileOrigin): Generator<ITile>;
|
|
1
|
+
import { Feature, MultiPolygon, Polygon } from '@turf/turf';
|
|
2
|
+
import { BBox2d } from '@turf/helpers/dist/js/lib/geojson';
|
|
3
|
+
import { ITile } from '../models/interfaces/geo/iTile';
|
|
4
|
+
import { TileOrigin } from '../models/enums/geo/tileOrigin';
|
|
5
|
+
/**
|
|
6
|
+
* converts geohash string to its bbox in wgs84 degrees
|
|
7
|
+
* @param geohash geohash string
|
|
8
|
+
* @returns bbox of the supplied geohash
|
|
9
|
+
*/
|
|
10
|
+
export declare const decodeGeoHash: (geohash: string) => BBox2d;
|
|
11
|
+
/**
|
|
12
|
+
* generates optimized geohash iterator for given polygon and target zoom level
|
|
13
|
+
* @param polygon polygon to cover with geohashes
|
|
14
|
+
* @param maxTileZoom target zoom level
|
|
15
|
+
* @returns generator that yields the matching geohashes
|
|
16
|
+
*/
|
|
17
|
+
export declare const createGeoHashGenerator: (polygon: Polygon | Feature<Polygon | MultiPolygon>, maxTileZoom?: number) => Generator<string>;
|
|
18
|
+
/**
|
|
19
|
+
* generate all tiles in supplied polygon
|
|
20
|
+
* @param polygon polygon to cover with tiles
|
|
21
|
+
* @param tileZoom target tiles zoom level
|
|
22
|
+
* @param origin target tiles grid origin location (default ll)
|
|
23
|
+
*/
|
|
24
|
+
export declare function tileGenerator(polygon: Polygon | Feature<Polygon | MultiPolygon>, tileZoom: number, origin?: TileOrigin): Generator<ITile>;
|
|
25
25
|
//# sourceMappingURL=geoHash.d.ts.map
|