@deck.gl/geo-layers 8.7.0-beta.5 → 8.7.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.
Files changed (38) hide show
  1. package/dist/dist.dev.js +203 -136
  2. package/dist/es5/geo-cell-layer/GeoCellLayer.js +112 -0
  3. package/dist/es5/geo-cell-layer/GeoCellLayer.js.map +1 -0
  4. package/dist/es5/h3-layers/h3-cluster-layer.js +10 -59
  5. package/dist/es5/h3-layers/h3-cluster-layer.js.map +1 -1
  6. package/dist/es5/index.js +8 -0
  7. package/dist/es5/index.js.map +1 -1
  8. package/dist/es5/quadkey-layer/quadkey-layer.js +69 -0
  9. package/dist/es5/quadkey-layer/quadkey-layer.js.map +1 -0
  10. package/dist/es5/quadkey-layer/quadkey-utils.js +51 -0
  11. package/dist/es5/quadkey-layer/quadkey-utils.js.map +1 -0
  12. package/dist/es5/s2-layer/s2-layer.js +10 -68
  13. package/dist/es5/s2-layer/s2-layer.js.map +1 -1
  14. package/dist/es5/tile-layer/utils.js +1 -1
  15. package/dist/es5/tile-layer/utils.js.map +1 -1
  16. package/dist/esm/geo-cell-layer/GeoCellLayer.js +68 -0
  17. package/dist/esm/geo-cell-layer/GeoCellLayer.js.map +1 -0
  18. package/dist/esm/h3-layers/h3-cluster-layer.js +7 -51
  19. package/dist/esm/h3-layers/h3-cluster-layer.js.map +1 -1
  20. package/dist/esm/index.js +1 -0
  21. package/dist/esm/index.js.map +1 -1
  22. package/dist/esm/quadkey-layer/quadkey-layer.js +26 -0
  23. package/dist/esm/quadkey-layer/quadkey-layer.js.map +1 -0
  24. package/dist/esm/quadkey-layer/quadkey-utils.js +24 -0
  25. package/dist/esm/quadkey-layer/quadkey-utils.js.map +1 -0
  26. package/dist/esm/s2-layer/s2-layer.js +6 -59
  27. package/dist/esm/s2-layer/s2-layer.js.map +1 -1
  28. package/dist/esm/tile-layer/utils.js +1 -1
  29. package/dist/esm/tile-layer/utils.js.map +1 -1
  30. package/dist.min.js +2 -2
  31. package/package.json +2 -2
  32. package/src/geo-cell-layer/GeoCellLayer.js +80 -0
  33. package/src/h3-layers/h3-cluster-layer.js +8 -64
  34. package/src/index.ts +1 -0
  35. package/src/quadkey-layer/quadkey-layer.js +22 -0
  36. package/src/quadkey-layer/quadkey-utils.js +28 -0
  37. package/src/s2-layer/s2-layer.js +9 -75
  38. package/src/tile-layer/utils.js +4 -4
package/dist/dist.dev.js CHANGED
@@ -63372,7 +63372,7 @@ __webpack_require__.r(__webpack_exports__);
63372
63372
 
63373
63373
 
63374
63374
 
63375
- const VERSION = true ? "8.7.0-beta.5" : undefined;
63375
+ const VERSION = true ? "8.7.0" : undefined;
63376
63376
  const isBrowser = Object(_env_is_browser__WEBPACK_IMPORTED_MODULE_0__["default"])();
63377
63377
  //# sourceMappingURL=globals.js.map
63378
63378
 
@@ -63795,6 +63795,92 @@ module.exports = Object.assign(deck, deckGLLayers);
63795
63795
 
63796
63796
  /***/ }),
63797
63797
 
63798
+ /***/ "./src/geo-cell-layer/GeoCellLayer.js":
63799
+ /*!********************************************!*\
63800
+ !*** ./src/geo-cell-layer/GeoCellLayer.js ***!
63801
+ \********************************************/
63802
+ /*! exports provided: default */
63803
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
63804
+
63805
+ "use strict";
63806
+ __webpack_require__.r(__webpack_exports__);
63807
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return GeoCellLayer; });
63808
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
63809
+ /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
63810
+
63811
+
63812
+ const defaultProps = { ..._deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["PolygonLayer"].defaultProps
63813
+ };
63814
+ class GeoCellLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLayer"] {
63815
+ // Implement to generate props to create geometry
63816
+ indexToBounds() {
63817
+ return null;
63818
+ }
63819
+
63820
+ renderLayers() {
63821
+ // Rendering props underlying layer
63822
+ const {
63823
+ elevationScale,
63824
+ extruded,
63825
+ wireframe,
63826
+ filled,
63827
+ stroked,
63828
+ lineWidthUnits,
63829
+ lineWidthScale,
63830
+ lineWidthMinPixels,
63831
+ lineWidthMaxPixels,
63832
+ lineJointRounded,
63833
+ lineMiterLimit,
63834
+ lineDashJustified,
63835
+ getElevation,
63836
+ getFillColor,
63837
+ getLineColor,
63838
+ getLineWidth
63839
+ } = this.props; // Accessor props for underlying layers
63840
+
63841
+ const {
63842
+ updateTriggers,
63843
+ material,
63844
+ transitions
63845
+ } = this.props; // Filled Polygon Layer
63846
+
63847
+ const CellLayer = this.getSubLayerClass('cell', _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["PolygonLayer"]);
63848
+ return new CellLayer({
63849
+ filled,
63850
+ wireframe,
63851
+ extruded,
63852
+ elevationScale,
63853
+ stroked,
63854
+ lineWidthUnits,
63855
+ lineWidthScale,
63856
+ lineWidthMinPixels,
63857
+ lineWidthMaxPixels,
63858
+ lineJointRounded,
63859
+ lineMiterLimit,
63860
+ lineDashJustified,
63861
+ material,
63862
+ transitions,
63863
+ getElevation,
63864
+ getFillColor,
63865
+ getLineColor,
63866
+ getLineWidth
63867
+ }, this.getSubLayerProps({
63868
+ id: 'cell',
63869
+ updateTriggers: {
63870
+ getElevation: updateTriggers.getElevation,
63871
+ getFillColor: updateTriggers.getFillColor,
63872
+ getLineColor: updateTriggers.getLineColor,
63873
+ getLineWidth: updateTriggers.getLineWidth
63874
+ }
63875
+ }), this.indexToBounds());
63876
+ }
63877
+
63878
+ }
63879
+ GeoCellLayer.layerName = 'GeoCellLayer';
63880
+ GeoCellLayer.defaultProps = defaultProps;
63881
+
63882
+ /***/ }),
63883
+
63798
63884
  /***/ "./src/great-circle-layer/great-circle-layer.js":
63799
63885
  /*!******************************************************!*\
63800
63886
  !*** ./src/great-circle-layer/great-circle-layer.js ***!
@@ -63855,16 +63941,17 @@ __webpack_require__.r(__webpack_exports__);
63855
63941
  /* harmony import */ var h3_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(h3_js__WEBPACK_IMPORTED_MODULE_0__);
63856
63942
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
63857
63943
  /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_1__);
63944
+ /* harmony import */ var _geo_cell_layer_GeoCellLayer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../geo-cell-layer/GeoCellLayer */ "./src/geo-cell-layer/GeoCellLayer.js");
63858
63945
 
63859
63946
 
63860
63947
 
63861
- const defaultProps = { ..._deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["PolygonLayer"].defaultProps,
63948
+ const defaultProps = {
63862
63949
  getHexagons: {
63863
63950
  type: 'accessor',
63864
63951
  value: d => d.hexagons
63865
63952
  }
63866
63953
  };
63867
- class H3ClusterLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["CompositeLayer"] {
63954
+ class H3ClusterLayer extends _geo_cell_layer_GeoCellLayer__WEBPACK_IMPORTED_MODULE_2__["default"] {
63868
63955
  updateState({
63869
63956
  props,
63870
63957
  oldProps,
@@ -63899,55 +63986,11 @@ class H3ClusterLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["Composi
63899
63986
  }
63900
63987
  }
63901
63988
 
63902
- renderLayers() {
63903
- const {
63904
- elevationScale,
63905
- extruded,
63906
- wireframe,
63907
- filled,
63908
- stroked,
63909
- lineWidthScale,
63910
- lineWidthMinPixels,
63911
- lineWidthMaxPixels,
63912
- lineJointRounded,
63913
- lineMiterLimit,
63914
- lineDashJustified,
63915
- material,
63916
- getFillColor,
63917
- getLineColor,
63918
- getLineWidth,
63919
- getLineDashArray,
63920
- getElevation,
63921
- transitions,
63922
- updateTriggers
63923
- } = this.props;
63924
- const SubLayerClass = this.getSubLayerClass('cluster-region', _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["PolygonLayer"]);
63925
- return new SubLayerClass({
63926
- filled,
63927
- wireframe,
63928
- extruded,
63929
- elevationScale,
63930
- stroked,
63931
- lineWidthScale,
63932
- lineWidthMinPixels,
63933
- lineWidthMaxPixels,
63934
- lineJointRounded,
63935
- lineMiterLimit,
63936
- lineDashJustified,
63937
- material,
63938
- transitions,
63939
- getFillColor: this.getSubLayerAccessor(getFillColor),
63940
- getLineColor: this.getSubLayerAccessor(getLineColor),
63941
- getLineWidth: this.getSubLayerAccessor(getLineWidth),
63942
- getLineDashArray: this.getSubLayerAccessor(getLineDashArray),
63943
- getElevation: this.getSubLayerAccessor(getElevation)
63944
- }, this.getSubLayerProps({
63945
- id: 'cluster-region',
63946
- updateTriggers
63947
- }), {
63989
+ indexToBounds() {
63990
+ return {
63948
63991
  data: this.state.polygons,
63949
63992
  getPolygon: d => d.polygon
63950
- });
63993
+ };
63951
63994
  }
63952
63995
 
63953
63996
  }
@@ -64323,7 +64366,7 @@ H3HexagonLayer.layerName = 'H3HexagonLayer';
64323
64366
  /*!**********************!*\
64324
64367
  !*** ./src/index.ts ***!
64325
64368
  \**********************/
64326
- /*! exports provided: GreatCircleLayer, S2Layer, TileLayer, TripsLayer, H3ClusterLayer, H3HexagonLayer, Tile3DLayer, TerrainLayer, MVTLayer, _getURLFromTemplate */
64369
+ /*! exports provided: GreatCircleLayer, S2Layer, QuadkeyLayer, TileLayer, TripsLayer, H3ClusterLayer, H3HexagonLayer, Tile3DLayer, TerrainLayer, MVTLayer, _getURLFromTemplate */
64327
64370
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
64328
64371
 
64329
64372
  "use strict";
@@ -64334,29 +64377,32 @@ __webpack_require__.r(__webpack_exports__);
64334
64377
  /* harmony import */ var _s2_layer_s2_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./s2-layer/s2-layer */ "./src/s2-layer/s2-layer.js");
64335
64378
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "S2Layer", function() { return _s2_layer_s2_layer__WEBPACK_IMPORTED_MODULE_1__["default"]; });
64336
64379
 
64337
- /* harmony import */ var _tile_layer_tile_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tile-layer/tile-layer */ "./src/tile-layer/tile-layer.js");
64338
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TileLayer", function() { return _tile_layer_tile_layer__WEBPACK_IMPORTED_MODULE_2__["default"]; });
64380
+ /* harmony import */ var _quadkey_layer_quadkey_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./quadkey-layer/quadkey-layer */ "./src/quadkey-layer/quadkey-layer.js");
64381
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "QuadkeyLayer", function() { return _quadkey_layer_quadkey_layer__WEBPACK_IMPORTED_MODULE_2__["default"]; });
64339
64382
 
64340
- /* harmony import */ var _trips_layer_trips_layer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./trips-layer/trips-layer */ "./src/trips-layer/trips-layer.js");
64341
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TripsLayer", function() { return _trips_layer_trips_layer__WEBPACK_IMPORTED_MODULE_3__["default"]; });
64383
+ /* harmony import */ var _tile_layer_tile_layer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tile-layer/tile-layer */ "./src/tile-layer/tile-layer.js");
64384
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TileLayer", function() { return _tile_layer_tile_layer__WEBPACK_IMPORTED_MODULE_3__["default"]; });
64342
64385
 
64343
- /* harmony import */ var _h3_layers_h3_cluster_layer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./h3-layers/h3-cluster-layer */ "./src/h3-layers/h3-cluster-layer.js");
64344
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "H3ClusterLayer", function() { return _h3_layers_h3_cluster_layer__WEBPACK_IMPORTED_MODULE_4__["default"]; });
64386
+ /* harmony import */ var _trips_layer_trips_layer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./trips-layer/trips-layer */ "./src/trips-layer/trips-layer.js");
64387
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TripsLayer", function() { return _trips_layer_trips_layer__WEBPACK_IMPORTED_MODULE_4__["default"]; });
64345
64388
 
64346
- /* harmony import */ var _h3_layers_h3_hexagon_layer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./h3-layers/h3-hexagon-layer */ "./src/h3-layers/h3-hexagon-layer.js");
64347
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "H3HexagonLayer", function() { return _h3_layers_h3_hexagon_layer__WEBPACK_IMPORTED_MODULE_5__["default"]; });
64389
+ /* harmony import */ var _h3_layers_h3_cluster_layer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./h3-layers/h3-cluster-layer */ "./src/h3-layers/h3-cluster-layer.js");
64390
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "H3ClusterLayer", function() { return _h3_layers_h3_cluster_layer__WEBPACK_IMPORTED_MODULE_5__["default"]; });
64348
64391
 
64349
- /* harmony import */ var _tile_3d_layer_tile_3d_layer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./tile-3d-layer/tile-3d-layer */ "./src/tile-3d-layer/tile-3d-layer.js");
64350
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Tile3DLayer", function() { return _tile_3d_layer_tile_3d_layer__WEBPACK_IMPORTED_MODULE_6__["default"]; });
64392
+ /* harmony import */ var _h3_layers_h3_hexagon_layer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./h3-layers/h3-hexagon-layer */ "./src/h3-layers/h3-hexagon-layer.js");
64393
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "H3HexagonLayer", function() { return _h3_layers_h3_hexagon_layer__WEBPACK_IMPORTED_MODULE_6__["default"]; });
64351
64394
 
64352
- /* harmony import */ var _terrain_layer_terrain_layer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./terrain-layer/terrain-layer */ "./src/terrain-layer/terrain-layer.js");
64353
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TerrainLayer", function() { return _terrain_layer_terrain_layer__WEBPACK_IMPORTED_MODULE_7__["default"]; });
64395
+ /* harmony import */ var _tile_3d_layer_tile_3d_layer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./tile-3d-layer/tile-3d-layer */ "./src/tile-3d-layer/tile-3d-layer.js");
64396
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Tile3DLayer", function() { return _tile_3d_layer_tile_3d_layer__WEBPACK_IMPORTED_MODULE_7__["default"]; });
64354
64397
 
64355
- /* harmony import */ var _mvt_layer_mvt_layer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./mvt-layer/mvt-layer */ "./src/mvt-layer/mvt-layer.js");
64356
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MVTLayer", function() { return _mvt_layer_mvt_layer__WEBPACK_IMPORTED_MODULE_8__["default"]; });
64398
+ /* harmony import */ var _terrain_layer_terrain_layer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./terrain-layer/terrain-layer */ "./src/terrain-layer/terrain-layer.js");
64399
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "TerrainLayer", function() { return _terrain_layer_terrain_layer__WEBPACK_IMPORTED_MODULE_8__["default"]; });
64357
64400
 
64358
- /* harmony import */ var _tile_layer_utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./tile-layer/utils */ "./src/tile-layer/utils.js");
64359
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_getURLFromTemplate", function() { return _tile_layer_utils__WEBPACK_IMPORTED_MODULE_9__["getURLFromTemplate"]; });
64401
+ /* harmony import */ var _mvt_layer_mvt_layer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./mvt-layer/mvt-layer */ "./src/mvt-layer/mvt-layer.js");
64402
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "MVTLayer", function() { return _mvt_layer_mvt_layer__WEBPACK_IMPORTED_MODULE_9__["default"]; });
64403
+
64404
+ /* harmony import */ var _tile_layer_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./tile-layer/utils */ "./src/tile-layer/utils.js");
64405
+ /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_getURLFromTemplate", function() { return _tile_layer_utils__WEBPACK_IMPORTED_MODULE_10__["getURLFromTemplate"]; });
64360
64406
 
64361
64407
  // Copyright (c) 2015 - 2017 Uber Technologies, Inc.
64362
64408
  //
@@ -64390,6 +64436,7 @@ __webpack_require__.r(__webpack_exports__);
64390
64436
 
64391
64437
 
64392
64438
 
64439
+
64393
64440
  /***/ }),
64394
64441
 
64395
64442
  /***/ "./src/mesh-layer/mesh-layer-fragment.glsl.js":
@@ -65373,6 +65420,84 @@ MVTLayer.defaultProps = defaultProps;
65373
65420
 
65374
65421
  /***/ }),
65375
65422
 
65423
+ /***/ "./src/quadkey-layer/quadkey-layer.js":
65424
+ /*!********************************************!*\
65425
+ !*** ./src/quadkey-layer/quadkey-layer.js ***!
65426
+ \********************************************/
65427
+ /*! exports provided: default */
65428
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
65429
+
65430
+ "use strict";
65431
+ __webpack_require__.r(__webpack_exports__);
65432
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return QuadkeyLayer; });
65433
+ /* harmony import */ var _geo_cell_layer_GeoCellLayer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../geo-cell-layer/GeoCellLayer */ "./src/geo-cell-layer/GeoCellLayer.js");
65434
+ /* harmony import */ var _quadkey_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./quadkey-utils */ "./src/quadkey-layer/quadkey-utils.js");
65435
+
65436
+
65437
+ const defaultProps = {
65438
+ getQuadkey: {
65439
+ type: 'accessor',
65440
+ value: d => d.quadkey
65441
+ }
65442
+ };
65443
+ class QuadkeyLayer extends _geo_cell_layer_GeoCellLayer__WEBPACK_IMPORTED_MODULE_0__["default"] {
65444
+ indexToBounds() {
65445
+ const {
65446
+ data,
65447
+ getQuadkey
65448
+ } = this.props;
65449
+ return {
65450
+ data,
65451
+ _normalize: false,
65452
+ positionFormat: 'XY',
65453
+ getPolygon: (x, objectInfo) => Object(_quadkey_utils__WEBPACK_IMPORTED_MODULE_1__["getQuadkeyPolygon"])(getQuadkey(x, objectInfo))
65454
+ };
65455
+ }
65456
+
65457
+ }
65458
+ QuadkeyLayer.layerName = 'QuadkeyLayer';
65459
+ QuadkeyLayer.defaultProps = defaultProps;
65460
+
65461
+ /***/ }),
65462
+
65463
+ /***/ "./src/quadkey-layer/quadkey-utils.js":
65464
+ /*!********************************************!*\
65465
+ !*** ./src/quadkey-layer/quadkey-utils.js ***!
65466
+ \********************************************/
65467
+ /*! exports provided: quadkeyToWorldBounds, getQuadkeyPolygon */
65468
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
65469
+
65470
+ "use strict";
65471
+ __webpack_require__.r(__webpack_exports__);
65472
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "quadkeyToWorldBounds", function() { return quadkeyToWorldBounds; });
65473
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getQuadkeyPolygon", function() { return getQuadkeyPolygon; });
65474
+ /* harmony import */ var _math_gl_web_mercator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @math.gl/web-mercator */ "../../node_modules/@math.gl/web-mercator/dist/esm/index.js");
65475
+
65476
+ const TILE_SIZE = 512;
65477
+ function quadkeyToWorldBounds(quadkey) {
65478
+ let x = 0;
65479
+ let y = 0;
65480
+ let mask = 1 << quadkey.length;
65481
+ const scale = mask / TILE_SIZE;
65482
+
65483
+ for (let i = 0; i < quadkey.length; i++) {
65484
+ mask >>= 1;
65485
+ const q = parseInt(quadkey[i]);
65486
+ if (q % 2) x |= mask;
65487
+ if (q > 1) y |= mask;
65488
+ }
65489
+
65490
+ return [[x / scale, TILE_SIZE - y / scale], [(x + 0.99) / scale, TILE_SIZE - (y + 0.99) / scale]];
65491
+ }
65492
+ function getQuadkeyPolygon(quadkey) {
65493
+ const [topLeft, bottomRight] = quadkeyToWorldBounds(quadkey);
65494
+ const [w, n] = Object(_math_gl_web_mercator__WEBPACK_IMPORTED_MODULE_0__["worldToLngLat"])(topLeft);
65495
+ const [e, s] = Object(_math_gl_web_mercator__WEBPACK_IMPORTED_MODULE_0__["worldToLngLat"])(bottomRight);
65496
+ return [e, n, e, s, w, s, w, n, e, n];
65497
+ }
65498
+
65499
+ /***/ }),
65500
+
65376
65501
  /***/ "./src/s2-layer/s2-geometry.js":
65377
65502
  /*!*************************************!*\
65378
65503
  !*** ./src/s2-layer/s2-geometry.js ***!
@@ -65550,8 +65675,7 @@ function FromHilbertQuadKey(hilbertQuadkey) {
65550
65675
  "use strict";
65551
65676
  __webpack_require__.r(__webpack_exports__);
65552
65677
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return S2Layer; });
65553
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/layers");
65554
- /* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
65678
+ /* harmony import */ var _geo_cell_layer_GeoCellLayer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../geo-cell-layer/GeoCellLayer */ "./src/geo-cell-layer/GeoCellLayer.js");
65555
65679
  /* harmony import */ var _s2_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./s2-utils */ "./src/s2-layer/s2-utils.js");
65556
65680
  // Copyright (c) 2015 - 2017 Uber Technologies, Inc.
65557
65681
  //
@@ -65574,81 +65698,24 @@ __webpack_require__.r(__webpack_exports__);
65574
65698
  // THE SOFTWARE.
65575
65699
 
65576
65700
 
65577
-
65578
- const defaultProps = { ..._deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["PolygonLayer"].defaultProps,
65701
+ const defaultProps = {
65579
65702
  getS2Token: {
65580
65703
  type: 'accessor',
65581
65704
  value: d => d.token
65582
65705
  }
65583
65706
  };
65584
- class S2Layer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLayer"] {
65585
- renderLayers() {
65586
- // Layer prop
65707
+ class S2Layer extends _geo_cell_layer_GeoCellLayer__WEBPACK_IMPORTED_MODULE_0__["default"] {
65708
+ indexToBounds() {
65587
65709
  const {
65588
65710
  data,
65589
65711
  getS2Token
65590
- } = this.props; // Rendering props underlying layer
65591
-
65592
- const {
65593
- elevationScale,
65594
- extruded,
65595
- wireframe,
65596
- filled,
65597
- stroked,
65598
- lineWidthUnits,
65599
- lineWidthScale,
65600
- lineWidthMinPixels,
65601
- lineWidthMaxPixels,
65602
- lineJointRounded,
65603
- lineMiterLimit,
65604
- lineDashJustified,
65605
- getElevation,
65606
- getFillColor,
65607
- getLineColor,
65608
- getLineWidth,
65609
- getLineDashArray
65610
- } = this.props; // Accessor props for underlying layers
65611
-
65612
- const {
65613
- updateTriggers,
65614
- material
65615
- } = this.props; // Filled Polygon Layer
65616
-
65617
- const CellLayer = this.getSubLayerClass('cell', _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["PolygonLayer"]);
65618
- return new CellLayer({
65619
- filled,
65620
- wireframe,
65621
- extruded,
65622
- elevationScale,
65623
- stroked,
65624
- lineWidthUnits,
65625
- lineWidthScale,
65626
- lineWidthMinPixels,
65627
- lineWidthMaxPixels,
65628
- lineJointRounded,
65629
- lineMiterLimit,
65630
- lineDashJustified,
65631
- material,
65632
- getElevation,
65633
- getFillColor,
65634
- getLineColor,
65635
- getLineWidth,
65636
- getLineDashArray
65637
- }, this.getSubLayerProps({
65638
- id: 'cell',
65639
- updateTriggers: {
65640
- getElevation: updateTriggers.getElevation,
65641
- getFillColor: updateTriggers.getFillColor,
65642
- getLineColor: updateTriggers.getLineColor,
65643
- getLineWidth: updateTriggers.getLineWidth,
65644
- getLineDashArray: updateTriggers.getLineDashArray
65645
- }
65646
- }), {
65712
+ } = this.props;
65713
+ return {
65647
65714
  data,
65648
65715
  _normalize: false,
65649
65716
  positionFormat: 'XY',
65650
65717
  getPolygon: (x, objectInfo) => Object(_s2_utils__WEBPACK_IMPORTED_MODULE_1__["getS2Polygon"])(getS2Token(x, objectInfo))
65651
- });
65718
+ };
65652
65719
  }
65653
65720
 
65654
65721
  }
@@ -67841,10 +67908,10 @@ const urlType = {
67841
67908
 
67842
67909
  function transformBox(bbox, modelMatrix) {
67843
67910
  const transformedCoords = [// top-left
67844
- modelMatrix.transformPoint([bbox[0], bbox[1]]), // top-right
67845
- modelMatrix.transformPoint([bbox[2], bbox[1]]), // bottom-left
67846
- modelMatrix.transformPoint([bbox[0], bbox[3]]), // bottom-right
67847
- modelMatrix.transformPoint([bbox[2], bbox[3]])];
67911
+ modelMatrix.transformAsPoint([bbox[0], bbox[1]]), // top-right
67912
+ modelMatrix.transformAsPoint([bbox[2], bbox[1]]), // bottom-left
67913
+ modelMatrix.transformAsPoint([bbox[0], bbox[3]]), // bottom-right
67914
+ modelMatrix.transformAsPoint([bbox[2], bbox[3]])];
67848
67915
  const transformedBox = [// Minimum x coord
67849
67916
  Math.min(...transformedCoords.map(i => i[0])), // Minimum y coord
67850
67917
  Math.min(...transformedCoords.map(i => i[1])), // Max x coord
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+
16
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
+
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
+
20
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
+
22
+ var _core = require("@deck.gl/core");
23
+
24
+ var _layers = require("@deck.gl/layers");
25
+
26
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
27
+
28
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
29
+
30
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
31
+
32
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
33
+
34
+ var defaultProps = _objectSpread({}, _layers.PolygonLayer.defaultProps);
35
+
36
+ var GeoCellLayer = function (_CompositeLayer) {
37
+ (0, _inherits2.default)(GeoCellLayer, _CompositeLayer);
38
+
39
+ var _super = _createSuper(GeoCellLayer);
40
+
41
+ function GeoCellLayer() {
42
+ (0, _classCallCheck2.default)(this, GeoCellLayer);
43
+ return _super.apply(this, arguments);
44
+ }
45
+
46
+ (0, _createClass2.default)(GeoCellLayer, [{
47
+ key: "indexToBounds",
48
+ value: function indexToBounds() {
49
+ return null;
50
+ }
51
+ }, {
52
+ key: "renderLayers",
53
+ value: function renderLayers() {
54
+ var _this$props = this.props,
55
+ elevationScale = _this$props.elevationScale,
56
+ extruded = _this$props.extruded,
57
+ wireframe = _this$props.wireframe,
58
+ filled = _this$props.filled,
59
+ stroked = _this$props.stroked,
60
+ lineWidthUnits = _this$props.lineWidthUnits,
61
+ lineWidthScale = _this$props.lineWidthScale,
62
+ lineWidthMinPixels = _this$props.lineWidthMinPixels,
63
+ lineWidthMaxPixels = _this$props.lineWidthMaxPixels,
64
+ lineJointRounded = _this$props.lineJointRounded,
65
+ lineMiterLimit = _this$props.lineMiterLimit,
66
+ lineDashJustified = _this$props.lineDashJustified,
67
+ getElevation = _this$props.getElevation,
68
+ getFillColor = _this$props.getFillColor,
69
+ getLineColor = _this$props.getLineColor,
70
+ getLineWidth = _this$props.getLineWidth;
71
+ var _this$props2 = this.props,
72
+ updateTriggers = _this$props2.updateTriggers,
73
+ material = _this$props2.material,
74
+ transitions = _this$props2.transitions;
75
+ var CellLayer = this.getSubLayerClass('cell', _layers.PolygonLayer);
76
+ return new CellLayer({
77
+ filled: filled,
78
+ wireframe: wireframe,
79
+ extruded: extruded,
80
+ elevationScale: elevationScale,
81
+ stroked: stroked,
82
+ lineWidthUnits: lineWidthUnits,
83
+ lineWidthScale: lineWidthScale,
84
+ lineWidthMinPixels: lineWidthMinPixels,
85
+ lineWidthMaxPixels: lineWidthMaxPixels,
86
+ lineJointRounded: lineJointRounded,
87
+ lineMiterLimit: lineMiterLimit,
88
+ lineDashJustified: lineDashJustified,
89
+ material: material,
90
+ transitions: transitions,
91
+ getElevation: getElevation,
92
+ getFillColor: getFillColor,
93
+ getLineColor: getLineColor,
94
+ getLineWidth: getLineWidth
95
+ }, this.getSubLayerProps({
96
+ id: 'cell',
97
+ updateTriggers: {
98
+ getElevation: updateTriggers.getElevation,
99
+ getFillColor: updateTriggers.getFillColor,
100
+ getLineColor: updateTriggers.getLineColor,
101
+ getLineWidth: updateTriggers.getLineWidth
102
+ }
103
+ }), this.indexToBounds());
104
+ }
105
+ }]);
106
+ return GeoCellLayer;
107
+ }(_core.CompositeLayer);
108
+
109
+ exports.default = GeoCellLayer;
110
+ GeoCellLayer.layerName = 'GeoCellLayer';
111
+ GeoCellLayer.defaultProps = defaultProps;
112
+ //# sourceMappingURL=GeoCellLayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/geo-cell-layer/GeoCellLayer.js"],"names":["defaultProps","PolygonLayer","GeoCellLayer","props","elevationScale","extruded","wireframe","filled","stroked","lineWidthUnits","lineWidthScale","lineWidthMinPixels","lineWidthMaxPixels","lineJointRounded","lineMiterLimit","lineDashJustified","getElevation","getFillColor","getLineColor","getLineWidth","updateTriggers","material","transitions","CellLayer","getSubLayerClass","getSubLayerProps","id","indexToBounds","CompositeLayer","layerName"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;;;AAEA,IAAMA,YAAY,qBACbC,qBAAaD,YADA,CAAlB;;IAIqBE,Y;;;;;;;;;;;;WAEnB,yBAAgB;AACd,aAAO,IAAP;AACD;;;WAED,wBAAe;AAEb,wBAiBI,KAAKC,KAjBT;AAAA,UACEC,cADF,eACEA,cADF;AAAA,UAEEC,QAFF,eAEEA,QAFF;AAAA,UAGEC,SAHF,eAGEA,SAHF;AAAA,UAIEC,MAJF,eAIEA,MAJF;AAAA,UAKEC,OALF,eAKEA,OALF;AAAA,UAMEC,cANF,eAMEA,cANF;AAAA,UAOEC,cAPF,eAOEA,cAPF;AAAA,UAQEC,kBARF,eAQEA,kBARF;AAAA,UASEC,kBATF,eASEA,kBATF;AAAA,UAUEC,gBAVF,eAUEA,gBAVF;AAAA,UAWEC,cAXF,eAWEA,cAXF;AAAA,UAYEC,iBAZF,eAYEA,iBAZF;AAAA,UAaEC,YAbF,eAaEA,YAbF;AAAA,UAcEC,YAdF,eAcEA,YAdF;AAAA,UAeEC,YAfF,eAeEA,YAfF;AAAA,UAgBEC,YAhBF,eAgBEA,YAhBF;AAoBA,yBAAgD,KAAKhB,KAArD;AAAA,UAAOiB,cAAP,gBAAOA,cAAP;AAAA,UAAuBC,QAAvB,gBAAuBA,QAAvB;AAAA,UAAiCC,WAAjC,gBAAiCA,WAAjC;AAGA,UAAMC,SAAS,GAAG,KAAKC,gBAAL,CAAsB,MAAtB,EAA8BvB,oBAA9B,CAAlB;AACA,aAAO,IAAIsB,SAAJ,CACL;AACEhB,QAAAA,MAAM,EAANA,MADF;AAEED,QAAAA,SAAS,EAATA,SAFF;AAIED,QAAAA,QAAQ,EAARA,QAJF;AAKED,QAAAA,cAAc,EAAdA,cALF;AAOEI,QAAAA,OAAO,EAAPA,OAPF;AAQEC,QAAAA,cAAc,EAAdA,cARF;AASEC,QAAAA,cAAc,EAAdA,cATF;AAUEC,QAAAA,kBAAkB,EAAlBA,kBAVF;AAWEC,QAAAA,kBAAkB,EAAlBA,kBAXF;AAYEC,QAAAA,gBAAgB,EAAhBA,gBAZF;AAaEC,QAAAA,cAAc,EAAdA,cAbF;AAcEC,QAAAA,iBAAiB,EAAjBA,iBAdF;AAgBEM,QAAAA,QAAQ,EAARA,QAhBF;AAiBEC,QAAAA,WAAW,EAAXA,WAjBF;AAmBEN,QAAAA,YAAY,EAAZA,YAnBF;AAoBEC,QAAAA,YAAY,EAAZA,YApBF;AAqBEC,QAAAA,YAAY,EAAZA,YArBF;AAsBEC,QAAAA,YAAY,EAAZA;AAtBF,OADK,EAyBL,KAAKM,gBAAL,CAAsB;AACpBC,QAAAA,EAAE,EAAE,MADgB;AAEpBN,QAAAA,cAAc,EAAE;AACdJ,UAAAA,YAAY,EAAEI,cAAc,CAACJ,YADf;AAEdC,UAAAA,YAAY,EAAEG,cAAc,CAACH,YAFf;AAGdC,UAAAA,YAAY,EAAEE,cAAc,CAACF,YAHf;AAIdC,UAAAA,YAAY,EAAEC,cAAc,CAACD;AAJf;AAFI,OAAtB,CAzBK,EAkCL,KAAKQ,aAAL,EAlCK,CAAP;AAoCD;;;EApEuCC,oB;;;AAuE1C1B,YAAY,CAAC2B,SAAb,GAAyB,cAAzB;AACA3B,YAAY,CAACF,YAAb,GAA4BA,YAA5B","sourcesContent":["import {CompositeLayer} from '@deck.gl/core';\nimport {PolygonLayer} from '@deck.gl/layers';\n\nconst defaultProps = {\n ...PolygonLayer.defaultProps\n};\n\nexport default class GeoCellLayer extends CompositeLayer {\n // Implement to generate props to create geometry\n indexToBounds() {\n return null;\n }\n\n renderLayers() {\n // Rendering props underlying layer\n const {\n elevationScale,\n extruded,\n wireframe,\n filled,\n stroked,\n lineWidthUnits,\n lineWidthScale,\n lineWidthMinPixels,\n lineWidthMaxPixels,\n lineJointRounded,\n lineMiterLimit,\n lineDashJustified,\n getElevation,\n getFillColor,\n getLineColor,\n getLineWidth\n } = this.props;\n\n // Accessor props for underlying layers\n const {updateTriggers, material, transitions} = this.props;\n\n // Filled Polygon Layer\n const CellLayer = this.getSubLayerClass('cell', PolygonLayer);\n return new CellLayer(\n {\n filled,\n wireframe,\n\n extruded,\n elevationScale,\n\n stroked,\n lineWidthUnits,\n lineWidthScale,\n lineWidthMinPixels,\n lineWidthMaxPixels,\n lineJointRounded,\n lineMiterLimit,\n lineDashJustified,\n\n material,\n transitions,\n\n getElevation,\n getFillColor,\n getLineColor,\n getLineWidth\n },\n this.getSubLayerProps({\n id: 'cell',\n updateTriggers: {\n getElevation: updateTriggers.getElevation,\n getFillColor: updateTriggers.getFillColor,\n getLineColor: updateTriggers.getLineColor,\n getLineWidth: updateTriggers.getLineWidth\n }\n }),\n this.indexToBounds()\n );\n }\n}\n\nGeoCellLayer.layerName = 'GeoCellLayer';\nGeoCellLayer.defaultProps = defaultProps;\n"],"file":"GeoCellLayer.js"}