@deck.gl/geo-layers 8.7.0-alpha.9 → 8.7.0-beta.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.
- package/dist/dist.dev.js +90 -40
- package/dist/es5/index.js +8 -0
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/tile-layer/utils.js +1 -1
- package/dist/es5/tile-layer/utils.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tile-layer/utils.js +1 -1
- package/dist/esm/tile-layer/utils.js.map +1 -1
- package/dist.min.js +1 -1
- package/package.json +8 -8
- package/src/index.ts +2 -0
- package/src/tile-layer/utils.js +4 -4
package/dist/dist.dev.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
exports["deck"] = factory(require("deck"), require("luma"), require("h3"));
|
|
8
8
|
else
|
|
9
9
|
root["deck"] = factory(root["deck"], root["luma"], root["h3"]);
|
|
10
|
-
})(window, function(
|
|
10
|
+
})(window, function(__WEBPACK_EXTERNAL_MODULE__deck_gl_layers__, __WEBPACK_EXTERNAL_MODULE__luma_gl_core__, __WEBPACK_EXTERNAL_MODULE_h3_js__) {
|
|
11
11
|
return /******/ (function(modules) { // webpackBootstrap
|
|
12
12
|
/******/ // The module cache
|
|
13
13
|
/******/ var installedModules = {};
|
|
@@ -1758,7 +1758,12 @@ async function parseImplicitTiles(subtree, options, parentData = {
|
|
|
1758
1758
|
|
|
1759
1759
|
if (currentTile.contentUrl || currentTile.children.length) {
|
|
1760
1760
|
const globalLevel = lev + 1;
|
|
1761
|
-
const
|
|
1761
|
+
const childCoordinates = {
|
|
1762
|
+
childTileX,
|
|
1763
|
+
childTileY,
|
|
1764
|
+
childTileZ
|
|
1765
|
+
};
|
|
1766
|
+
const formattedTile = formatTileData(currentTile, globalLevel, childCoordinates, options);
|
|
1762
1767
|
tile.children.push(formattedTile);
|
|
1763
1768
|
}
|
|
1764
1769
|
}
|
|
@@ -1778,17 +1783,19 @@ function getAvailabilityResult(availabilityData, index) {
|
|
|
1778
1783
|
return false;
|
|
1779
1784
|
}
|
|
1780
1785
|
|
|
1781
|
-
function formatTileData(tile, level, options) {
|
|
1786
|
+
function formatTileData(tile, level, childCoordinates, options) {
|
|
1782
1787
|
const {
|
|
1783
1788
|
basePath,
|
|
1784
1789
|
refine,
|
|
1785
1790
|
getRefine,
|
|
1786
1791
|
lodMetricType,
|
|
1787
1792
|
getTileType,
|
|
1788
|
-
rootLodMetricValue
|
|
1793
|
+
rootLodMetricValue,
|
|
1794
|
+
rootBoundingVolume
|
|
1789
1795
|
} = options;
|
|
1790
1796
|
const uri = tile.contentUrl && tile.contentUrl.replace("".concat(basePath, "/"), '');
|
|
1791
1797
|
const lodMetricValue = rootLodMetricValue / 2 ** level;
|
|
1798
|
+
const boundingVolume = calculateBoundingVolumeForChildTile(level, rootBoundingVolume, childCoordinates);
|
|
1792
1799
|
return {
|
|
1793
1800
|
children: tile.children,
|
|
1794
1801
|
contentUrl: tile.contentUrl,
|
|
@@ -1799,10 +1806,35 @@ function formatTileData(tile, level, options) {
|
|
|
1799
1806
|
refine: getRefine(refine),
|
|
1800
1807
|
type: getTileType(tile),
|
|
1801
1808
|
lodMetricType,
|
|
1802
|
-
lodMetricValue
|
|
1809
|
+
lodMetricValue,
|
|
1810
|
+
boundingVolume
|
|
1803
1811
|
};
|
|
1804
1812
|
}
|
|
1805
1813
|
|
|
1814
|
+
function calculateBoundingVolumeForChildTile(level, rootBoundingVolume, childCoordinates) {
|
|
1815
|
+
if (rootBoundingVolume.region) {
|
|
1816
|
+
const {
|
|
1817
|
+
childTileX,
|
|
1818
|
+
childTileY,
|
|
1819
|
+
childTileZ
|
|
1820
|
+
} = childCoordinates;
|
|
1821
|
+
const [west, south, east, north, minimumHeight, maximumHeight] = rootBoundingVolume.region;
|
|
1822
|
+
const boundingVolumesCount = 2 ** level;
|
|
1823
|
+
const sizeX = (east - west) / boundingVolumesCount;
|
|
1824
|
+
const sizeY = (north - south) / boundingVolumesCount;
|
|
1825
|
+
const sizeZ = (maximumHeight - minimumHeight) / boundingVolumesCount;
|
|
1826
|
+
const [childWest, childEast] = [west + sizeX * childTileX, west + sizeX * (childTileX + 1)];
|
|
1827
|
+
const [childSouth, childNorth] = [south + sizeY * childTileY, south + sizeY * (childTileY + 1)];
|
|
1828
|
+
const [childMinimumHeight, childMaximumHeight] = [minimumHeight + sizeZ * childTileZ, minimumHeight + sizeZ * (childTileZ + 1)];
|
|
1829
|
+
return {
|
|
1830
|
+
region: [childWest, childSouth, childEast, childNorth, childMinimumHeight, childMaximumHeight]
|
|
1831
|
+
};
|
|
1832
|
+
}
|
|
1833
|
+
|
|
1834
|
+
console.warn('Unsupported bounding volume type: ', rootBoundingVolume);
|
|
1835
|
+
return null;
|
|
1836
|
+
}
|
|
1837
|
+
|
|
1806
1838
|
function concatBits(first, second) {
|
|
1807
1839
|
return parseInt(first.toString(2) + second.toString(2), 2);
|
|
1808
1840
|
}
|
|
@@ -2391,6 +2423,7 @@ async function normalizeImplicitTileHeaders(tileset) {
|
|
|
2391
2423
|
const contentUrlTemplate = "".concat(basePath, "/").concat(tileset.root.content.uri);
|
|
2392
2424
|
const refine = tileset.root.refine;
|
|
2393
2425
|
const rootLodMetricValue = tileset.root.geometricError;
|
|
2426
|
+
const rootBoundingVolume = tileset.root.boundingVolume;
|
|
2394
2427
|
const options = {
|
|
2395
2428
|
contentUrlTemplate,
|
|
2396
2429
|
subtreesUriTemplate,
|
|
@@ -2401,6 +2434,7 @@ async function normalizeImplicitTileHeaders(tileset) {
|
|
|
2401
2434
|
basePath,
|
|
2402
2435
|
lodMetricType: _loaders_gl_tiles__WEBPACK_IMPORTED_MODULE_2__["LOD_METRIC_TYPE"].GEOMETRIC_ERROR,
|
|
2403
2436
|
rootLodMetricValue,
|
|
2437
|
+
rootBoundingVolume,
|
|
2404
2438
|
getTileType,
|
|
2405
2439
|
getRefine
|
|
2406
2440
|
};
|
|
@@ -2965,7 +2999,7 @@ async function parse3DTile(arrayBuffer, byteOffset = 0, options, context, tile =
|
|
|
2965
2999
|
"use strict";
|
|
2966
3000
|
__webpack_require__.r(__webpack_exports__);
|
|
2967
3001
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VERSION", function() { return VERSION; });
|
|
2968
|
-
const VERSION = true ? "3.1.
|
|
3002
|
+
const VERSION = true ? "3.1.5" : undefined;
|
|
2969
3003
|
//# sourceMappingURL=version.js.map
|
|
2970
3004
|
|
|
2971
3005
|
/***/ }),
|
|
@@ -5541,7 +5575,7 @@ function arrayBufferToBase64(buffer) {
|
|
|
5541
5575
|
__webpack_require__.r(__webpack_exports__);
|
|
5542
5576
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "NullWorkerLoader", function() { return NullWorkerLoader; });
|
|
5543
5577
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "NullLoader", function() { return NullLoader; });
|
|
5544
|
-
const VERSION = true ? "3.1.
|
|
5578
|
+
const VERSION = true ? "3.1.5" : undefined;
|
|
5545
5579
|
const NullWorkerLoader = {
|
|
5546
5580
|
name: 'Null loader',
|
|
5547
5581
|
id: 'null',
|
|
@@ -6719,7 +6753,7 @@ function makeMetadata(metadata) {
|
|
|
6719
6753
|
"use strict";
|
|
6720
6754
|
__webpack_require__.r(__webpack_exports__);
|
|
6721
6755
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VERSION", function() { return VERSION; });
|
|
6722
|
-
const VERSION = true ? "3.1.
|
|
6756
|
+
const VERSION = true ? "3.1.5" : undefined;
|
|
6723
6757
|
//# sourceMappingURL=version.js.map
|
|
6724
6758
|
|
|
6725
6759
|
/***/ }),
|
|
@@ -10527,7 +10561,7 @@ function assert(condition, message) {
|
|
|
10527
10561
|
"use strict";
|
|
10528
10562
|
__webpack_require__.r(__webpack_exports__);
|
|
10529
10563
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VERSION", function() { return VERSION; });
|
|
10530
|
-
const VERSION = true ? "3.1.
|
|
10564
|
+
const VERSION = true ? "3.1.5" : undefined;
|
|
10531
10565
|
//# sourceMappingURL=version.js.map
|
|
10532
10566
|
|
|
10533
10567
|
/***/ }),
|
|
@@ -11632,7 +11666,7 @@ function getMipLevels({
|
|
|
11632
11666
|
"use strict";
|
|
11633
11667
|
__webpack_require__.r(__webpack_exports__);
|
|
11634
11668
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VERSION", function() { return VERSION; });
|
|
11635
|
-
const VERSION = true ? "3.1.
|
|
11669
|
+
const VERSION = true ? "3.1.5" : undefined;
|
|
11636
11670
|
//# sourceMappingURL=version.js.map
|
|
11637
11671
|
|
|
11638
11672
|
/***/ }),
|
|
@@ -11799,7 +11833,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
11799
11833
|
__webpack_require__.r(__webpack_exports__);
|
|
11800
11834
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "JSONLoader", function() { return JSONLoader; });
|
|
11801
11835
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_typecheckJSONLoader", function() { return _typecheckJSONLoader; });
|
|
11802
|
-
const VERSION = true ? "3.1.
|
|
11836
|
+
const VERSION = true ? "3.1.5" : undefined;
|
|
11803
11837
|
const JSONLoader = {
|
|
11804
11838
|
name: 'JSON',
|
|
11805
11839
|
id: 'json',
|
|
@@ -14015,7 +14049,15 @@ class VectorTileFeature {
|
|
|
14015
14049
|
return this._toBinaryCoordinates(options);
|
|
14016
14050
|
}
|
|
14017
14051
|
|
|
14018
|
-
|
|
14052
|
+
const {
|
|
14053
|
+
x,
|
|
14054
|
+
y,
|
|
14055
|
+
z
|
|
14056
|
+
} = options;
|
|
14057
|
+
const size = this.extent * Math.pow(2, z);
|
|
14058
|
+
const x0 = this.extent * x;
|
|
14059
|
+
const y0 = this.extent * y;
|
|
14060
|
+
return this._toBinaryCoordinates(data => Object(_helpers_binary_util_functions__WEBPACK_IMPORTED_MODULE_1__["project"])(data, x0, y0, size));
|
|
14019
14061
|
}
|
|
14020
14062
|
|
|
14021
14063
|
}
|
|
@@ -14622,7 +14664,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
14622
14664
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MVTLoader", function() { return MVTLoader; });
|
|
14623
14665
|
/* harmony import */ var _lib_parse_mvt__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/parse-mvt */ "../../node_modules/@loaders.gl/mvt/dist/esm/lib/parse-mvt.js");
|
|
14624
14666
|
|
|
14625
|
-
const VERSION = true ? "3.1.
|
|
14667
|
+
const VERSION = true ? "3.1.5" : undefined;
|
|
14626
14668
|
const MVTWorkerLoader = {
|
|
14627
14669
|
name: 'Mapbox Vector Tile',
|
|
14628
14670
|
id: 'mvt',
|
|
@@ -17848,9 +17890,13 @@ function getDelatinTileMesh(meshMaxError, width, height, terrain) {
|
|
|
17848
17890
|
}
|
|
17849
17891
|
|
|
17850
17892
|
async function loadTerrain(arrayBuffer, options, context) {
|
|
17851
|
-
|
|
17852
|
-
|
|
17853
|
-
|
|
17893
|
+
const loadImageOptions = { ...options,
|
|
17894
|
+
mimeType: 'application/x.image',
|
|
17895
|
+
image: { ...options.image,
|
|
17896
|
+
type: 'data'
|
|
17897
|
+
}
|
|
17898
|
+
};
|
|
17899
|
+
const image = await context.parse(arrayBuffer, loadImageOptions);
|
|
17854
17900
|
return getMesh(image, options.terrain);
|
|
17855
17901
|
}
|
|
17856
17902
|
//# sourceMappingURL=parse-terrain.js.map
|
|
@@ -17867,7 +17913,7 @@ async function loadTerrain(arrayBuffer, options, context) {
|
|
|
17867
17913
|
"use strict";
|
|
17868
17914
|
__webpack_require__.r(__webpack_exports__);
|
|
17869
17915
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VERSION", function() { return VERSION; });
|
|
17870
|
-
const VERSION = true ? "3.1.
|
|
17916
|
+
const VERSION = true ? "3.1.5" : undefined;
|
|
17871
17917
|
//# sourceMappingURL=version.js.map
|
|
17872
17918
|
|
|
17873
17919
|
/***/ }),
|
|
@@ -17924,8 +17970,8 @@ const TerrainLoader = {
|
|
|
17924
17970
|
module: 'terrain',
|
|
17925
17971
|
version: _lib_utils_version__WEBPACK_IMPORTED_MODULE_0__["VERSION"],
|
|
17926
17972
|
worker: true,
|
|
17927
|
-
extensions: ['png', 'pngraw'],
|
|
17928
|
-
mimeTypes: ['image/png'],
|
|
17973
|
+
extensions: ['png', 'pngraw', 'jpg', 'jpeg', 'gif', 'webp', 'bmp'],
|
|
17974
|
+
mimeTypes: ['image/png', 'image/jpeg', 'image/gif', 'image/webp', 'image/bmp'],
|
|
17929
17975
|
options: {
|
|
17930
17976
|
terrain: {
|
|
17931
17977
|
tesselator: 'auto',
|
|
@@ -18387,7 +18433,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
18387
18433
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadBasisTrascoderModule", function() { return loadBasisTrascoderModule; });
|
|
18388
18434
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadBasisEncoderModule", function() { return loadBasisEncoderModule; });
|
|
18389
18435
|
/* harmony import */ var _loaders_gl_worker_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @loaders.gl/worker-utils */ "../../node_modules/@loaders.gl/worker-utils/dist/esm/index.js");
|
|
18390
|
-
const VERSION = true ? "3.1.
|
|
18436
|
+
const VERSION = true ? "3.1.5" : undefined;
|
|
18391
18437
|
|
|
18392
18438
|
const BASIS_CDN_ENCODER_WASM = "https://unpkg.com/@loaders.gl/textures@".concat(VERSION, "/dist/libs/basis_encoder.wasm");
|
|
18393
18439
|
const BASIS_CDN_ENCODER_JS = "https://unpkg.com/@loaders.gl/textures@".concat(VERSION, "/dist/libs/basis_encoder.js");
|
|
@@ -19701,7 +19747,7 @@ function getWebGLContext() {
|
|
|
19701
19747
|
"use strict";
|
|
19702
19748
|
__webpack_require__.r(__webpack_exports__);
|
|
19703
19749
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VERSION", function() { return VERSION; });
|
|
19704
|
-
const VERSION = true ? "3.1.
|
|
19750
|
+
const VERSION = true ? "3.1.5" : undefined;
|
|
19705
19751
|
//# sourceMappingURL=version.js.map
|
|
19706
19752
|
|
|
19707
19753
|
/***/ }),
|
|
@@ -22795,7 +22841,7 @@ const nodeVersion = matches && parseFloat(matches[1]) || 0;
|
|
|
22795
22841
|
__webpack_require__.r(__webpack_exports__);
|
|
22796
22842
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VERSION", function() { return VERSION; });
|
|
22797
22843
|
const DEFAULT_VERSION = 'latest';
|
|
22798
|
-
const VERSION = true ? "3.1.
|
|
22844
|
+
const VERSION = true ? "3.1.5" : undefined;
|
|
22799
22845
|
|
|
22800
22846
|
if (false) {}
|
|
22801
22847
|
//# sourceMappingURL=version.js.map
|
|
@@ -22823,7 +22869,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
22823
22869
|
|
|
22824
22870
|
|
|
22825
22871
|
const LATEST = 'latest';
|
|
22826
|
-
const VERSION = true ? "3.1.
|
|
22872
|
+
const VERSION = true ? "3.1.5" : undefined;
|
|
22827
22873
|
const loadLibraryPromises = {};
|
|
22828
22874
|
async function loadLibrary(libraryUrl, moduleName = null, options = {}) {
|
|
22829
22875
|
if (moduleName) {
|
|
@@ -23039,7 +23085,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
23039
23085
|
|
|
23040
23086
|
|
|
23041
23087
|
const NPM_TAG = 'latest';
|
|
23042
|
-
const VERSION = true ? "3.1.
|
|
23088
|
+
const VERSION = true ? "3.1.5" : undefined;
|
|
23043
23089
|
function getWorkerName(worker) {
|
|
23044
23090
|
const warning = worker.version !== VERSION ? " (worker-utils@".concat(VERSION, ")") : '';
|
|
23045
23091
|
return "".concat(worker.name, "@").concat(worker.version).concat(warning);
|
|
@@ -63325,7 +63371,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
63325
63371
|
|
|
63326
63372
|
|
|
63327
63373
|
|
|
63328
|
-
const VERSION = true ? "8.7.0-
|
|
63374
|
+
const VERSION = true ? "8.7.0-beta.1" : undefined;
|
|
63329
63375
|
const isBrowser = Object(_env_is_browser__WEBPACK_IMPORTED_MODULE_0__["default"])();
|
|
63330
63376
|
//# sourceMappingURL=globals.js.map
|
|
63331
63377
|
|
|
@@ -63758,7 +63804,7 @@ module.exports = Object.assign(deck, deckGLLayers);
|
|
|
63758
63804
|
"use strict";
|
|
63759
63805
|
__webpack_require__.r(__webpack_exports__);
|
|
63760
63806
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return GreatCircleLayer; });
|
|
63761
|
-
/* harmony import */ var _deck_gl_layers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/layers */ "@deck.gl/
|
|
63807
|
+
/* harmony import */ var _deck_gl_layers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/layers */ "@deck.gl/layers");
|
|
63762
63808
|
/* harmony import */ var _deck_gl_layers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_layers__WEBPACK_IMPORTED_MODULE_0__);
|
|
63763
63809
|
// Copyright (c) 2015 - 2017 Uber Technologies, Inc.
|
|
63764
63810
|
//
|
|
@@ -63806,7 +63852,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
63806
63852
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return H3ClusterLayer; });
|
|
63807
63853
|
/* harmony import */ var h3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! h3-js */ "h3-js");
|
|
63808
63854
|
/* harmony import */ var h3_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(h3_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
63809
|
-
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/
|
|
63855
|
+
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
|
|
63810
63856
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_1__);
|
|
63811
63857
|
|
|
63812
63858
|
|
|
@@ -63924,7 +63970,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
63924
63970
|
/* harmony import */ var h3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! h3-js */ "h3-js");
|
|
63925
63971
|
/* harmony import */ var h3_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(h3_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
63926
63972
|
/* harmony import */ var _math_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @math.gl/core */ "../../node_modules/@math.gl/core/dist/esm/index.js");
|
|
63927
|
-
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/
|
|
63973
|
+
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
|
|
63928
63974
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_2__);
|
|
63929
63975
|
|
|
63930
63976
|
|
|
@@ -64276,7 +64322,7 @@ H3HexagonLayer.layerName = 'H3HexagonLayer';
|
|
|
64276
64322
|
/*!**********************!*\
|
|
64277
64323
|
!*** ./src/index.ts ***!
|
|
64278
64324
|
\**********************/
|
|
64279
|
-
/*! exports provided: GreatCircleLayer, S2Layer, TileLayer, TripsLayer, H3ClusterLayer, H3HexagonLayer, Tile3DLayer, TerrainLayer, MVTLayer */
|
|
64325
|
+
/*! exports provided: GreatCircleLayer, S2Layer, TileLayer, TripsLayer, H3ClusterLayer, H3HexagonLayer, Tile3DLayer, TerrainLayer, MVTLayer, _getURLFromTemplate */
|
|
64280
64326
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
64281
64327
|
|
|
64282
64328
|
"use strict";
|
|
@@ -64308,6 +64354,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
64308
64354
|
/* harmony import */ var _mvt_layer_mvt_layer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./mvt-layer/mvt-layer */ "./src/mvt-layer/mvt-layer.js");
|
|
64309
64355
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MVTLayer", function() { return _mvt_layer_mvt_layer__WEBPACK_IMPORTED_MODULE_8__["default"]; });
|
|
64310
64356
|
|
|
64357
|
+
/* harmony import */ var _tile_layer_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./tile-layer/utils */ "./src/tile-layer/utils.js");
|
|
64358
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_getURLFromTemplate", function() { return _tile_layer_utils__WEBPACK_IMPORTED_MODULE_9__["getURLFromTemplate"]; });
|
|
64359
|
+
|
|
64311
64360
|
// Copyright (c) 2015 - 2017 Uber Technologies, Inc.
|
|
64312
64361
|
//
|
|
64313
64362
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
@@ -64339,6 +64388,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
64339
64388
|
|
|
64340
64389
|
|
|
64341
64390
|
|
|
64391
|
+
|
|
64342
64392
|
/***/ }),
|
|
64343
64393
|
|
|
64344
64394
|
/***/ "./src/mesh-layer/mesh-layer-fragment.glsl.js":
|
|
@@ -64514,7 +64564,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
64514
64564
|
/* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @luma.gl/core */ "@luma.gl/core");
|
|
64515
64565
|
/* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_luma_gl_core__WEBPACK_IMPORTED_MODULE_1__);
|
|
64516
64566
|
/* harmony import */ var _luma_gl_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @luma.gl/constants */ "../../node_modules/@luma.gl/constants/dist/esm/index.js");
|
|
64517
|
-
/* harmony import */ var _deck_gl_mesh_layers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @deck.gl/mesh-layers */ "@deck.gl/
|
|
64567
|
+
/* harmony import */ var _deck_gl_mesh_layers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @deck.gl/mesh-layers */ "@deck.gl/layers");
|
|
64518
64568
|
/* harmony import */ var _deck_gl_mesh_layers__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_mesh_layers__WEBPACK_IMPORTED_MODULE_3__);
|
|
64519
64569
|
/* harmony import */ var _mesh_layer_vertex_glsl__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./mesh-layer-vertex.glsl */ "./src/mesh-layer/mesh-layer-vertex.glsl.js");
|
|
64520
64570
|
/* harmony import */ var _mesh_layer_fragment_glsl__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./mesh-layer-fragment.glsl */ "./src/mesh-layer/mesh-layer-fragment.glsl.js");
|
|
@@ -64888,7 +64938,7 @@ function findIndex(array, predicate, startIndex, endIndex) {
|
|
|
64888
64938
|
"use strict";
|
|
64889
64939
|
__webpack_require__.r(__webpack_exports__);
|
|
64890
64940
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return MVTLayer; });
|
|
64891
|
-
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/
|
|
64941
|
+
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
|
|
64892
64942
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
|
|
64893
64943
|
/* harmony import */ var _math_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @math.gl/core */ "../../node_modules/@math.gl/core/dist/esm/index.js");
|
|
64894
64944
|
/* harmony import */ var _loaders_gl_mvt__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @loaders.gl/mvt */ "../../node_modules/@loaders.gl/mvt/dist/esm/index.js");
|
|
@@ -65499,7 +65549,7 @@ function FromHilbertQuadKey(hilbertQuadkey) {
|
|
|
65499
65549
|
"use strict";
|
|
65500
65550
|
__webpack_require__.r(__webpack_exports__);
|
|
65501
65551
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return S2Layer; });
|
|
65502
|
-
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/
|
|
65552
|
+
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
|
|
65503
65553
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
|
|
65504
65554
|
/* harmony import */ var _s2_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./s2-utils */ "./src/s2-layer/s2-utils.js");
|
|
65505
65555
|
// Copyright (c) 2015 - 2017 Uber Technologies, Inc.
|
|
@@ -65732,7 +65782,7 @@ function getS2Polygon(token) {
|
|
|
65732
65782
|
"use strict";
|
|
65733
65783
|
__webpack_require__.r(__webpack_exports__);
|
|
65734
65784
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return TerrainLayer; });
|
|
65735
|
-
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/
|
|
65785
|
+
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
|
|
65736
65786
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
|
|
65737
65787
|
/* harmony import */ var _loaders_gl_terrain__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @loaders.gl/terrain */ "../../node_modules/@loaders.gl/terrain/dist/esm/index.js");
|
|
65738
65788
|
/* harmony import */ var _tile_layer_tile_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../tile-layer/tile-layer */ "./src/tile-layer/tile-layer.js");
|
|
@@ -66065,7 +66115,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
66065
66115
|
/* harmony import */ var _luma_gl_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @luma.gl/constants */ "../../node_modules/@luma.gl/constants/dist/esm/index.js");
|
|
66066
66116
|
/* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @luma.gl/core */ "@luma.gl/core");
|
|
66067
66117
|
/* harmony import */ var _luma_gl_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_luma_gl_core__WEBPACK_IMPORTED_MODULE_1__);
|
|
66068
|
-
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/
|
|
66118
|
+
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
|
|
66069
66119
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_2__);
|
|
66070
66120
|
/* harmony import */ var _mesh_layer_mesh_layer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../mesh-layer/mesh-layer */ "./src/mesh-layer/mesh-layer.js");
|
|
66071
66121
|
/* harmony import */ var _loaders_gl_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @loaders.gl/core */ "../../node_modules/@loaders.gl/core/dist/esm/index.js");
|
|
@@ -66527,7 +66577,7 @@ Tile3DLayer.defaultProps = defaultProps;
|
|
|
66527
66577
|
"use strict";
|
|
66528
66578
|
__webpack_require__.r(__webpack_exports__);
|
|
66529
66579
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Tile2DHeader; });
|
|
66530
|
-
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/
|
|
66580
|
+
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
|
|
66531
66581
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
|
|
66532
66582
|
/* eslint-env browser */
|
|
66533
66583
|
|
|
@@ -66914,7 +66964,7 @@ function getOSMTileIndices(viewport, maxZ, zRange, bounds) {
|
|
|
66914
66964
|
"use strict";
|
|
66915
66965
|
__webpack_require__.r(__webpack_exports__);
|
|
66916
66966
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return TileLayer; });
|
|
66917
|
-
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/
|
|
66967
|
+
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
|
|
66918
66968
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
|
|
66919
66969
|
/* harmony import */ var _tileset_2d__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./tileset-2d */ "./src/tile-layer/tileset-2d.js");
|
|
66920
66970
|
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ "./src/tile-layer/utils.js");
|
|
@@ -67804,7 +67854,7 @@ function getURLFromTemplate(template, properties) {
|
|
|
67804
67854
|
y,
|
|
67805
67855
|
z
|
|
67806
67856
|
} = properties;
|
|
67807
|
-
return template.replace(
|
|
67857
|
+
return template.replace(/\{x\}/g, x).replace(/\{y\}/g, y).replace(/\{z\}/g, z).replace(/\{-y\}/g, Math.pow(2, z) - y - 1);
|
|
67808
67858
|
}
|
|
67809
67859
|
/**
|
|
67810
67860
|
* gets the bounding box of a viewport
|
|
@@ -67967,7 +68017,7 @@ function isURLTemplate(s) {
|
|
|
67967
68017
|
"use strict";
|
|
67968
68018
|
__webpack_require__.r(__webpack_exports__);
|
|
67969
68019
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return TripsLayer; });
|
|
67970
|
-
/* harmony import */ var _deck_gl_layers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/layers */ "@deck.gl/
|
|
68020
|
+
/* harmony import */ var _deck_gl_layers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/layers */ "@deck.gl/layers");
|
|
67971
68021
|
/* harmony import */ var _deck_gl_layers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_layers__WEBPACK_IMPORTED_MODULE_0__);
|
|
67972
68022
|
// Copyright (c) 2015 - 2017 Uber Technologies, Inc.
|
|
67973
68023
|
//
|
|
@@ -68158,14 +68208,14 @@ TripsLayer.defaultProps = defaultProps;
|
|
|
68158
68208
|
|
|
68159
68209
|
/***/ }),
|
|
68160
68210
|
|
|
68161
|
-
/***/ "@deck.gl/
|
|
68211
|
+
/***/ "@deck.gl/layers":
|
|
68162
68212
|
/*!***********************!*\
|
|
68163
68213
|
!*** external "deck" ***!
|
|
68164
68214
|
\***********************/
|
|
68165
68215
|
/*! no static exports found */
|
|
68166
68216
|
/***/ (function(module, exports) {
|
|
68167
68217
|
|
|
68168
|
-
module.exports =
|
|
68218
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__deck_gl_layers__;
|
|
68169
68219
|
|
|
68170
68220
|
/***/ }),
|
|
68171
68221
|
|
package/dist/es5/index.js
CHANGED
|
@@ -59,6 +59,12 @@ Object.defineProperty(exports, "MVTLayer", {
|
|
|
59
59
|
return _mvtLayer.default;
|
|
60
60
|
}
|
|
61
61
|
});
|
|
62
|
+
Object.defineProperty(exports, "_getURLFromTemplate", {
|
|
63
|
+
enumerable: true,
|
|
64
|
+
get: function get() {
|
|
65
|
+
return _utils.getURLFromTemplate;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
62
68
|
|
|
63
69
|
var _greatCircleLayer = _interopRequireDefault(require("./great-circle-layer/great-circle-layer"));
|
|
64
70
|
|
|
@@ -77,4 +83,6 @@ var _tile3dLayer = _interopRequireDefault(require("./tile-3d-layer/tile-3d-layer
|
|
|
77
83
|
var _terrainLayer = _interopRequireDefault(require("./terrain-layer/terrain-layer"));
|
|
78
84
|
|
|
79
85
|
var _mvtLayer = _interopRequireDefault(require("./mvt-layer/mvt-layer"));
|
|
86
|
+
|
|
87
|
+
var _utils = require("./tile-layer/utils");
|
|
80
88
|
//# sourceMappingURL=index.js.map
|
package/dist/es5/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA","sourcesContent":["// Copyright (c) 2015 - 2017 Uber Technologies, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n/* eslint-disable max-len */\n\nexport {default as GreatCircleLayer} from './great-circle-layer/great-circle-layer';\nexport {default as S2Layer} from './s2-layer/s2-layer';\nexport {default as TileLayer} from './tile-layer/tile-layer';\nexport {default as TripsLayer} from './trips-layer/trips-layer';\nexport {default as H3ClusterLayer} from './h3-layers/h3-cluster-layer';\nexport {default as H3HexagonLayer} from './h3-layers/h3-hexagon-layer';\nexport {default as Tile3DLayer} from './tile-3d-layer/tile-3d-layer';\nexport {default as TerrainLayer} from './terrain-layer/terrain-layer';\nexport {default as MVTLayer} from './mvt-layer/mvt-layer';\n\nexport {getURLFromTemplate as _getURLFromTemplate} from './tile-layer/utils';\n"],"file":"index.js"}
|
|
@@ -81,7 +81,7 @@ function getURLFromTemplate(template, properties) {
|
|
|
81
81
|
var x = properties.x,
|
|
82
82
|
y = properties.y,
|
|
83
83
|
z = properties.z;
|
|
84
|
-
return template.replace(
|
|
84
|
+
return template.replace(/\{x\}/g, x).replace(/\{y\}/g, y).replace(/\{z\}/g, z).replace(/\{-y\}/g, Math.pow(2, z) - y - 1);
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
function getBoundingBox(viewport, zRange, extent) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/tile-layer/utils.js"],"names":["TILE_SIZE","DEFAULT_EXTENT","Infinity","urlType","type","value","validate","propType","optional","Array","isArray","every","url","equals","value1","value2","len","length","i","transformBox","bbox","modelMatrix","transformedCoords","transformPoint","transformedBox","Math","min","map","max","getURLFromTemplate","template","properties","index","abs","x","y","z","replace","pow","getBoundingBox","viewport","zRange","extent","bounds","minZ","maxZ","bounds0","getBounds","bounds1","isGeospatial","getIndexingCoords","scale","modelMatrixInverse","transformedTileIndex","getScale","tileSize","osmTile2lngLat","lng","n","PI","lat","atan","exp","tile2XY","tileToBoundingBox","west","north","east","south","left","top","right","bottom","getIdentityTileIndices","minX","minY","maxX","maxY","indices","floor","push","getTileIndices","maxZoom","minZoom","zoomOffset","round","zoom","log2","ceil","Number","isFinite","transformedExtent","isURLTemplate","s","test"],"mappings":"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","sourcesContent":["import {getOSMTileIndices} from './tile-2d-traversal';\n\nconst TILE_SIZE = 512;\nconst DEFAULT_EXTENT = [-Infinity, -Infinity, Infinity, Infinity];\n\nexport const urlType = {\n type: 'url',\n value: null,\n validate: (value, propType) =>\n (propType.optional && value === null) ||\n typeof value === 'string' ||\n (Array.isArray(value) && value.every(url => typeof url === 'string')),\n equals: (value1, value2) => {\n if (value1 === value2) {\n return true;\n }\n if (!Array.isArray(value1) || !Array.isArray(value2)) {\n return false;\n }\n const len = value1.length;\n if (len !== value2.length) {\n return false;\n }\n for (let i = 0; i < len; i++) {\n if (value1[i] !== value2[i]) {\n return false;\n }\n }\n return true;\n }\n};\n\nfunction transformBox(bbox, modelMatrix) {\n const transformedCoords = [\n // top-left\n modelMatrix.transformPoint([bbox[0], bbox[1]]),\n // top-right\n modelMatrix.transformPoint([bbox[2], bbox[1]]),\n // bottom-left\n modelMatrix.transformPoint([bbox[0], bbox[3]]),\n // bottom-right\n modelMatrix.transformPoint([bbox[2], bbox[3]])\n ];\n const transformedBox = [\n // Minimum x coord\n Math.min(...transformedCoords.map(i => i[0])),\n // Minimum y coord\n Math.min(...transformedCoords.map(i => i[1])),\n // Max x coord\n Math.max(...transformedCoords.map(i => i[0])),\n // Max y coord\n Math.max(...transformedCoords.map(i => i[1]))\n ];\n return transformedBox;\n}\n\nexport function getURLFromTemplate(template, properties) {\n if (!template || !template.length) {\n return null;\n }\n if (Array.isArray(template)) {\n const index = Math.abs(properties.x + properties.y) % template.length;\n template = template[index];\n }\n\n const {x, y, z} = properties;\n return template\n .replace('{x}', x)\n .replace('{y}', y)\n .replace('{z}', z)\n .replace('{-y}', Math.pow(2, z) - y - 1);\n}\n\n/**\n * gets the bounding box of a viewport\n */\nfunction getBoundingBox(viewport, zRange, extent) {\n let bounds;\n if (zRange && zRange.length === 2) {\n const [minZ, maxZ] = zRange;\n const bounds0 = viewport.getBounds({z: minZ});\n const bounds1 = viewport.getBounds({z: maxZ});\n bounds = [\n Math.min(bounds0[0], bounds1[0]),\n Math.min(bounds0[1], bounds1[1]),\n Math.max(bounds0[2], bounds1[2]),\n Math.max(bounds0[3], bounds1[3])\n ];\n } else {\n bounds = viewport.getBounds();\n }\n if (!viewport.isGeospatial) {\n return [\n // Top corner should not be more then bottom corner in either direction\n Math.max(Math.min(bounds[0], extent[2]), extent[0]),\n Math.max(Math.min(bounds[1], extent[3]), extent[1]),\n // Bottom corner should not be less then top corner in either direction\n Math.min(Math.max(bounds[2], extent[0]), extent[2]),\n Math.min(Math.max(bounds[3], extent[1]), extent[3])\n ];\n }\n return [\n Math.max(bounds[0], extent[0]),\n Math.max(bounds[1], extent[1]),\n Math.min(bounds[2], extent[2]),\n Math.min(bounds[3], extent[3])\n ];\n}\n\nfunction getIndexingCoords(bbox, scale, modelMatrixInverse) {\n if (modelMatrixInverse) {\n const transformedTileIndex = transformBox(bbox, modelMatrixInverse).map(\n i => (i * scale) / TILE_SIZE\n );\n return transformedTileIndex;\n }\n return bbox.map(i => (i * scale) / TILE_SIZE);\n}\n\nfunction getScale(z, tileSize) {\n return (Math.pow(2, z) * TILE_SIZE) / tileSize;\n}\n\n// https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#Lon..2Flat._to_tile_numbers_2\nexport function osmTile2lngLat(x, y, z) {\n const scale = getScale(z, TILE_SIZE);\n const lng = (x / scale) * 360 - 180;\n const n = Math.PI - (2 * Math.PI * y) / scale;\n const lat = (180 / Math.PI) * Math.atan(0.5 * (Math.exp(n) - Math.exp(-n)));\n return [lng, lat];\n}\n\nfunction tile2XY(x, y, z, tileSize) {\n const scale = getScale(z, tileSize);\n return [(x / scale) * TILE_SIZE, (y / scale) * TILE_SIZE];\n}\nexport function tileToBoundingBox(viewport, x, y, z, tileSize = TILE_SIZE) {\n if (viewport.isGeospatial) {\n const [west, north] = osmTile2lngLat(x, y, z);\n const [east, south] = osmTile2lngLat(x + 1, y + 1, z);\n return {west, north, east, south};\n }\n const [left, top] = tile2XY(x, y, z, tileSize);\n const [right, bottom] = tile2XY(x + 1, y + 1, z, tileSize);\n return {left, top, right, bottom};\n}\n\nfunction getIdentityTileIndices(viewport, z, tileSize, extent, modelMatrixInverse) {\n const bbox = getBoundingBox(viewport, null, extent);\n const scale = getScale(z, tileSize);\n const [minX, minY, maxX, maxY] = getIndexingCoords(bbox, scale, modelMatrixInverse);\n const indices = [];\n\n /*\n | TILE | TILE | TILE |\n |(minX) |(maxX)\n */\n for (let x = Math.floor(minX); x < maxX; x++) {\n for (let y = Math.floor(minY); y < maxY; y++) {\n indices.push({x, y, z});\n }\n }\n return indices;\n}\n\n/**\n * Returns all tile indices in the current viewport. If the current zoom level is smaller\n * than minZoom, return an empty array. If the current zoom level is greater than maxZoom,\n * return tiles that are on maxZoom.\n */\n// eslint-disable-next-line complexity\nexport function getTileIndices({\n viewport,\n maxZoom,\n minZoom,\n zRange,\n extent,\n tileSize = TILE_SIZE,\n modelMatrix,\n modelMatrixInverse,\n zoomOffset = 0\n}) {\n let z = viewport.isGeospatial\n ? Math.round(viewport.zoom + Math.log2(TILE_SIZE / tileSize)) + zoomOffset\n : Math.ceil(viewport.zoom) + zoomOffset;\n if (Number.isFinite(minZoom) && z < minZoom) {\n if (!extent) {\n return [];\n }\n z = minZoom;\n }\n if (Number.isFinite(maxZoom) && z > maxZoom) {\n z = maxZoom;\n }\n let transformedExtent = extent;\n if (modelMatrix && modelMatrixInverse && extent && !viewport.isGeospatial) {\n transformedExtent = transformBox(extent, modelMatrix);\n }\n return viewport.isGeospatial\n ? getOSMTileIndices(viewport, z, zRange, extent)\n : getIdentityTileIndices(\n viewport,\n z,\n tileSize,\n transformedExtent || DEFAULT_EXTENT,\n modelMatrixInverse\n );\n}\n\n/**\n * Returns true if s is a valid URL template\n */\nexport function isURLTemplate(s) {\n return /(?=.*{z})(?=.*{x})(?=.*({y}|{-y}))/.test(s);\n}\n"],"file":"utils.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/tile-layer/utils.js"],"names":["TILE_SIZE","DEFAULT_EXTENT","Infinity","urlType","type","value","validate","propType","optional","Array","isArray","every","url","equals","value1","value2","len","length","i","transformBox","bbox","modelMatrix","transformedCoords","transformPoint","transformedBox","Math","min","map","max","getURLFromTemplate","template","properties","index","abs","x","y","z","replace","pow","getBoundingBox","viewport","zRange","extent","bounds","minZ","maxZ","bounds0","getBounds","bounds1","isGeospatial","getIndexingCoords","scale","modelMatrixInverse","transformedTileIndex","getScale","tileSize","osmTile2lngLat","lng","n","PI","lat","atan","exp","tile2XY","tileToBoundingBox","west","north","east","south","left","top","right","bottom","getIdentityTileIndices","minX","minY","maxX","maxY","indices","floor","push","getTileIndices","maxZoom","minZoom","zoomOffset","round","zoom","log2","ceil","Number","isFinite","transformedExtent","isURLTemplate","s","test"],"mappings":"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","sourcesContent":["import {getOSMTileIndices} from './tile-2d-traversal';\n\nconst TILE_SIZE = 512;\nconst DEFAULT_EXTENT = [-Infinity, -Infinity, Infinity, Infinity];\n\nexport const urlType = {\n type: 'url',\n value: null,\n validate: (value, propType) =>\n (propType.optional && value === null) ||\n typeof value === 'string' ||\n (Array.isArray(value) && value.every(url => typeof url === 'string')),\n equals: (value1, value2) => {\n if (value1 === value2) {\n return true;\n }\n if (!Array.isArray(value1) || !Array.isArray(value2)) {\n return false;\n }\n const len = value1.length;\n if (len !== value2.length) {\n return false;\n }\n for (let i = 0; i < len; i++) {\n if (value1[i] !== value2[i]) {\n return false;\n }\n }\n return true;\n }\n};\n\nfunction transformBox(bbox, modelMatrix) {\n const transformedCoords = [\n // top-left\n modelMatrix.transformPoint([bbox[0], bbox[1]]),\n // top-right\n modelMatrix.transformPoint([bbox[2], bbox[1]]),\n // bottom-left\n modelMatrix.transformPoint([bbox[0], bbox[3]]),\n // bottom-right\n modelMatrix.transformPoint([bbox[2], bbox[3]])\n ];\n const transformedBox = [\n // Minimum x coord\n Math.min(...transformedCoords.map(i => i[0])),\n // Minimum y coord\n Math.min(...transformedCoords.map(i => i[1])),\n // Max x coord\n Math.max(...transformedCoords.map(i => i[0])),\n // Max y coord\n Math.max(...transformedCoords.map(i => i[1]))\n ];\n return transformedBox;\n}\n\nexport function getURLFromTemplate(template, properties) {\n if (!template || !template.length) {\n return null;\n }\n if (Array.isArray(template)) {\n const index = Math.abs(properties.x + properties.y) % template.length;\n template = template[index];\n }\n\n const {x, y, z} = properties;\n return template\n .replace(/\\{x\\}/g, x)\n .replace(/\\{y\\}/g, y)\n .replace(/\\{z\\}/g, z)\n .replace(/\\{-y\\}/g, Math.pow(2, z) - y - 1);\n}\n\n/**\n * gets the bounding box of a viewport\n */\nfunction getBoundingBox(viewport, zRange, extent) {\n let bounds;\n if (zRange && zRange.length === 2) {\n const [minZ, maxZ] = zRange;\n const bounds0 = viewport.getBounds({z: minZ});\n const bounds1 = viewport.getBounds({z: maxZ});\n bounds = [\n Math.min(bounds0[0], bounds1[0]),\n Math.min(bounds0[1], bounds1[1]),\n Math.max(bounds0[2], bounds1[2]),\n Math.max(bounds0[3], bounds1[3])\n ];\n } else {\n bounds = viewport.getBounds();\n }\n if (!viewport.isGeospatial) {\n return [\n // Top corner should not be more then bottom corner in either direction\n Math.max(Math.min(bounds[0], extent[2]), extent[0]),\n Math.max(Math.min(bounds[1], extent[3]), extent[1]),\n // Bottom corner should not be less then top corner in either direction\n Math.min(Math.max(bounds[2], extent[0]), extent[2]),\n Math.min(Math.max(bounds[3], extent[1]), extent[3])\n ];\n }\n return [\n Math.max(bounds[0], extent[0]),\n Math.max(bounds[1], extent[1]),\n Math.min(bounds[2], extent[2]),\n Math.min(bounds[3], extent[3])\n ];\n}\n\nfunction getIndexingCoords(bbox, scale, modelMatrixInverse) {\n if (modelMatrixInverse) {\n const transformedTileIndex = transformBox(bbox, modelMatrixInverse).map(\n i => (i * scale) / TILE_SIZE\n );\n return transformedTileIndex;\n }\n return bbox.map(i => (i * scale) / TILE_SIZE);\n}\n\nfunction getScale(z, tileSize) {\n return (Math.pow(2, z) * TILE_SIZE) / tileSize;\n}\n\n// https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#Lon..2Flat._to_tile_numbers_2\nexport function osmTile2lngLat(x, y, z) {\n const scale = getScale(z, TILE_SIZE);\n const lng = (x / scale) * 360 - 180;\n const n = Math.PI - (2 * Math.PI * y) / scale;\n const lat = (180 / Math.PI) * Math.atan(0.5 * (Math.exp(n) - Math.exp(-n)));\n return [lng, lat];\n}\n\nfunction tile2XY(x, y, z, tileSize) {\n const scale = getScale(z, tileSize);\n return [(x / scale) * TILE_SIZE, (y / scale) * TILE_SIZE];\n}\nexport function tileToBoundingBox(viewport, x, y, z, tileSize = TILE_SIZE) {\n if (viewport.isGeospatial) {\n const [west, north] = osmTile2lngLat(x, y, z);\n const [east, south] = osmTile2lngLat(x + 1, y + 1, z);\n return {west, north, east, south};\n }\n const [left, top] = tile2XY(x, y, z, tileSize);\n const [right, bottom] = tile2XY(x + 1, y + 1, z, tileSize);\n return {left, top, right, bottom};\n}\n\nfunction getIdentityTileIndices(viewport, z, tileSize, extent, modelMatrixInverse) {\n const bbox = getBoundingBox(viewport, null, extent);\n const scale = getScale(z, tileSize);\n const [minX, minY, maxX, maxY] = getIndexingCoords(bbox, scale, modelMatrixInverse);\n const indices = [];\n\n /*\n | TILE | TILE | TILE |\n |(minX) |(maxX)\n */\n for (let x = Math.floor(minX); x < maxX; x++) {\n for (let y = Math.floor(minY); y < maxY; y++) {\n indices.push({x, y, z});\n }\n }\n return indices;\n}\n\n/**\n * Returns all tile indices in the current viewport. If the current zoom level is smaller\n * than minZoom, return an empty array. If the current zoom level is greater than maxZoom,\n * return tiles that are on maxZoom.\n */\n// eslint-disable-next-line complexity\nexport function getTileIndices({\n viewport,\n maxZoom,\n minZoom,\n zRange,\n extent,\n tileSize = TILE_SIZE,\n modelMatrix,\n modelMatrixInverse,\n zoomOffset = 0\n}) {\n let z = viewport.isGeospatial\n ? Math.round(viewport.zoom + Math.log2(TILE_SIZE / tileSize)) + zoomOffset\n : Math.ceil(viewport.zoom) + zoomOffset;\n if (Number.isFinite(minZoom) && z < minZoom) {\n if (!extent) {\n return [];\n }\n z = minZoom;\n }\n if (Number.isFinite(maxZoom) && z > maxZoom) {\n z = maxZoom;\n }\n let transformedExtent = extent;\n if (modelMatrix && modelMatrixInverse && extent && !viewport.isGeospatial) {\n transformedExtent = transformBox(extent, modelMatrix);\n }\n return viewport.isGeospatial\n ? getOSMTileIndices(viewport, z, zRange, extent)\n : getIdentityTileIndices(\n viewport,\n z,\n tileSize,\n transformedExtent || DEFAULT_EXTENT,\n modelMatrixInverse\n );\n}\n\n/**\n * Returns true if s is a valid URL template\n */\nexport function isURLTemplate(s) {\n return /(?=.*{z})(?=.*{x})(?=.*({y}|{-y}))/.test(s);\n}\n"],"file":"utils.js"}
|
package/dist/esm/index.js
CHANGED
|
@@ -7,4 +7,5 @@ export { default as H3HexagonLayer } from './h3-layers/h3-hexagon-layer';
|
|
|
7
7
|
export { default as Tile3DLayer } from './tile-3d-layer/tile-3d-layer';
|
|
8
8
|
export { default as TerrainLayer } from './terrain-layer/terrain-layer';
|
|
9
9
|
export { default as MVTLayer } from './mvt-layer/mvt-layer';
|
|
10
|
+
export { getURLFromTemplate as _getURLFromTemplate } from './tile-layer/utils';
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"names":["default","GreatCircleLayer","S2Layer","TileLayer","TripsLayer","H3ClusterLayer","H3HexagonLayer","Tile3DLayer","TerrainLayer","MVTLayer"],"mappings":"AAqBA,SAAQA,OAAO,IAAIC,gBAAnB,QAA0C,yCAA1C;AACA,SAAQD,OAAO,IAAIE,OAAnB,QAAiC,qBAAjC;AACA,SAAQF,OAAO,IAAIG,SAAnB,QAAmC,yBAAnC;AACA,SAAQH,OAAO,IAAII,UAAnB,QAAoC,2BAApC;AACA,SAAQJ,OAAO,IAAIK,cAAnB,QAAwC,8BAAxC;AACA,SAAQL,OAAO,IAAIM,cAAnB,QAAwC,8BAAxC;AACA,SAAQN,OAAO,IAAIO,WAAnB,QAAqC,+BAArC;AACA,SAAQP,OAAO,IAAIQ,YAAnB,QAAsC,+BAAtC;AACA,SAAQR,OAAO,IAAIS,QAAnB,QAAkC,uBAAlC","sourcesContent":["// Copyright (c) 2015 - 2017 Uber Technologies, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n/* eslint-disable max-len */\n\nexport {default as GreatCircleLayer} from './great-circle-layer/great-circle-layer';\nexport {default as S2Layer} from './s2-layer/s2-layer';\nexport {default as TileLayer} from './tile-layer/tile-layer';\nexport {default as TripsLayer} from './trips-layer/trips-layer';\nexport {default as H3ClusterLayer} from './h3-layers/h3-cluster-layer';\nexport {default as H3HexagonLayer} from './h3-layers/h3-hexagon-layer';\nexport {default as Tile3DLayer} from './tile-3d-layer/tile-3d-layer';\nexport {default as TerrainLayer} from './terrain-layer/terrain-layer';\nexport {default as MVTLayer} from './mvt-layer/mvt-layer';\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"names":["default","GreatCircleLayer","S2Layer","TileLayer","TripsLayer","H3ClusterLayer","H3HexagonLayer","Tile3DLayer","TerrainLayer","MVTLayer","getURLFromTemplate","_getURLFromTemplate"],"mappings":"AAqBA,SAAQA,OAAO,IAAIC,gBAAnB,QAA0C,yCAA1C;AACA,SAAQD,OAAO,IAAIE,OAAnB,QAAiC,qBAAjC;AACA,SAAQF,OAAO,IAAIG,SAAnB,QAAmC,yBAAnC;AACA,SAAQH,OAAO,IAAII,UAAnB,QAAoC,2BAApC;AACA,SAAQJ,OAAO,IAAIK,cAAnB,QAAwC,8BAAxC;AACA,SAAQL,OAAO,IAAIM,cAAnB,QAAwC,8BAAxC;AACA,SAAQN,OAAO,IAAIO,WAAnB,QAAqC,+BAArC;AACA,SAAQP,OAAO,IAAIQ,YAAnB,QAAsC,+BAAtC;AACA,SAAQR,OAAO,IAAIS,QAAnB,QAAkC,uBAAlC;AAEA,SAAQC,kBAAkB,IAAIC,mBAA9B,QAAwD,oBAAxD","sourcesContent":["// Copyright (c) 2015 - 2017 Uber Technologies, Inc.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n/* eslint-disable max-len */\n\nexport {default as GreatCircleLayer} from './great-circle-layer/great-circle-layer';\nexport {default as S2Layer} from './s2-layer/s2-layer';\nexport {default as TileLayer} from './tile-layer/tile-layer';\nexport {default as TripsLayer} from './trips-layer/trips-layer';\nexport {default as H3ClusterLayer} from './h3-layers/h3-cluster-layer';\nexport {default as H3HexagonLayer} from './h3-layers/h3-hexagon-layer';\nexport {default as Tile3DLayer} from './tile-3d-layer/tile-3d-layer';\nexport {default as TerrainLayer} from './terrain-layer/terrain-layer';\nexport {default as MVTLayer} from './mvt-layer/mvt-layer';\n\nexport {getURLFromTemplate as _getURLFromTemplate} from './tile-layer/utils';\n"],"file":"index.js"}
|
|
@@ -51,7 +51,7 @@ export function getURLFromTemplate(template, properties) {
|
|
|
51
51
|
y,
|
|
52
52
|
z
|
|
53
53
|
} = properties;
|
|
54
|
-
return template.replace(
|
|
54
|
+
return template.replace(/\{x\}/g, x).replace(/\{y\}/g, y).replace(/\{z\}/g, z).replace(/\{-y\}/g, Math.pow(2, z) - y - 1);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
function getBoundingBox(viewport, zRange, extent) {
|