@deck.gl/carto 8.8.0-alpha.3 → 8.8.0-alpha.6
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 +383 -247
- package/dist/es5/api/layer-map.js +7 -5
- package/dist/es5/api/layer-map.js.map +1 -1
- package/dist/es5/layers/carto-layer.js +3 -1
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/layers/carto-tile-layer.js +17 -12
- package/dist/es5/layers/carto-tile-layer.js.map +1 -1
- package/dist/es5/layers/h3-tile-layer.js +34 -13
- package/dist/es5/layers/h3-tile-layer.js.map +1 -1
- package/dist/es5/layers/h3-tileset-2d.js +21 -11
- package/dist/es5/layers/h3-tileset-2d.js.map +1 -1
- package/dist/es5/layers/quadkey-tile-layer.js +31 -14
- package/dist/es5/layers/quadkey-tile-layer.js.map +1 -1
- package/dist/es5/layers/quadkey-tileset-2d.js.map +1 -1
- package/dist/es5/layers/schema/carto-tile.js +261 -188
- package/dist/es5/layers/schema/carto-tile.js.map +1 -1
- package/dist/es5/layers/spatial-index-tile-layer.js +92 -0
- package/dist/es5/layers/spatial-index-tile-layer.js.map +1 -0
- package/dist/esm/api/layer-map.js +8 -6
- package/dist/esm/api/layer-map.js.map +1 -1
- package/dist/esm/layers/carto-layer.js +3 -1
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist/esm/layers/carto-tile-layer.js +20 -16
- package/dist/esm/layers/carto-tile-layer.js.map +1 -1
- package/dist/esm/layers/h3-tile-layer.js +24 -10
- package/dist/esm/layers/h3-tile-layer.js.map +1 -1
- package/dist/esm/layers/h3-tileset-2d.js +27 -12
- package/dist/esm/layers/h3-tileset-2d.js.map +1 -1
- package/dist/esm/layers/quadkey-tile-layer.js +22 -13
- package/dist/esm/layers/quadkey-tile-layer.js.map +1 -1
- package/dist/esm/layers/quadkey-tileset-2d.js.map +1 -1
- package/dist/esm/layers/schema/carto-tile.js +174 -189
- package/dist/esm/layers/schema/carto-tile.js.map +1 -1
- package/dist/esm/layers/spatial-index-tile-layer.js +57 -0
- package/dist/esm/layers/spatial-index-tile-layer.js.map +1 -0
- package/dist.min.js +4 -4
- package/package.json +7 -4
- package/src/api/layer-map.ts +16 -7
- package/src/layers/carto-layer.ts +18 -5
- package/src/layers/{carto-tile-layer.js → carto-tile-layer.ts} +63 -26
- package/src/layers/h3-tile-layer.ts +78 -0
- package/src/layers/h3-tileset-2d.ts +118 -0
- package/src/layers/quadkey-tile-layer.ts +68 -0
- package/src/layers/{quadkey-tileset-2d.js → quadkey-tileset-2d.ts} +10 -5
- package/src/layers/schema/carto-tile.ts +221 -0
- package/src/layers/spatial-index-tile-layer.ts +49 -0
- package/typed/api/index.d.ts +4 -0
- package/typed/api/index.d.ts.map +1 -0
- package/typed/api/layer-map.d.ts +54 -0
- package/typed/api/layer-map.d.ts.map +1 -0
- package/typed/api/maps-api-common.d.ts +65 -0
- package/typed/api/maps-api-common.d.ts.map +1 -0
- package/typed/api/maps-client.d.ts +18 -0
- package/typed/api/maps-client.d.ts.map +1 -0
- package/typed/api/maps-v3-client.d.ts +45 -0
- package/typed/api/maps-v3-client.d.ts.map +1 -0
- package/typed/api/parseMap.d.ts +11 -0
- package/typed/api/parseMap.d.ts.map +1 -0
- package/typed/basemap.d.ts +10 -0
- package/typed/basemap.d.ts.map +1 -0
- package/typed/config.d.ts +26 -0
- package/typed/config.d.ts.map +1 -0
- package/typed/index.d.ts +12 -0
- package/typed/index.d.ts.map +1 -0
- package/typed/layers/carto-layer.d.ts +98 -0
- package/typed/layers/carto-layer.d.ts.map +1 -0
- package/typed/layers/carto-tile-layer.d.ts +63 -0
- package/typed/layers/carto-tile-layer.d.ts.map +1 -0
- package/typed/layers/h3-tile-layer.d.ts +23 -0
- package/typed/layers/h3-tile-layer.d.ts.map +1 -0
- package/typed/layers/h3-tileset-2d.d.ts +18 -0
- package/typed/layers/h3-tileset-2d.d.ts.map +1 -0
- package/typed/layers/quadkey-tile-layer.d.ts +23 -0
- package/typed/layers/quadkey-tile-layer.d.ts.map +1 -0
- package/typed/layers/quadkey-tileset-2d.d.ts +15 -0
- package/typed/layers/quadkey-tileset-2d.d.ts.map +1 -0
- package/typed/layers/schema/carto-tile.d.ts +44 -0
- package/typed/layers/schema/carto-tile.d.ts.map +1 -0
- package/typed/layers/spatial-index-tile-layer.d.ts +11 -0
- package/typed/layers/spatial-index-tile-layer.d.ts.map +1 -0
- package/typed/package.json +6 -0
- package/typed/style/color-bins-style.d.ts +9 -0
- package/typed/style/color-bins-style.d.ts.map +1 -0
- package/typed/style/color-categories-style.d.ts +10 -0
- package/typed/style/color-categories-style.d.ts.map +1 -0
- package/typed/style/color-continuous-style.d.ts +9 -0
- package/typed/style/color-continuous-style.d.ts.map +1 -0
- package/typed/style/palette.d.ts +7 -0
- package/typed/style/palette.d.ts.map +1 -0
- package/typed/style/utils.d.ts +8 -0
- package/typed/style/utils.d.ts.map +1 -0
- package/typed/utils.d.ts +2 -0
- package/typed/utils.d.ts.map +1 -0
- package/src/layers/h3-tile-layer.js +0 -44
- package/src/layers/h3-tileset-2d.js +0 -82
- package/src/layers/quadkey-tile-layer.js +0 -42
- package/src/layers/schema/carto-tile.js +0 -195
package/dist/dist.dev.js
CHANGED
|
@@ -45583,8 +45583,13 @@ const deck = globalThis.deck || {}; // Check if peer dependencies are included
|
|
|
45583
45583
|
|
|
45584
45584
|
if (!deck.LineLayer) {
|
|
45585
45585
|
throw new Error('@deck.gl/layers is not found');
|
|
45586
|
-
}
|
|
45586
|
+
} // Export carto layer library for pydeck integration
|
|
45587
|
+
// More info: https://github.com/ajduberstein/pydeck_custom_layer
|
|
45588
|
+
|
|
45587
45589
|
|
|
45590
|
+
globalThis.CartoLayerLibrary = {
|
|
45591
|
+
CartoLayer: CartoUtils.CartoLayer
|
|
45592
|
+
};
|
|
45588
45593
|
module.exports = Object.assign(deck, {
|
|
45589
45594
|
carto: CartoUtils
|
|
45590
45595
|
});
|
|
@@ -45656,7 +45661,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
45656
45661
|
/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(moment_timezone__WEBPACK_IMPORTED_MODULE_4__);
|
|
45657
45662
|
/* harmony import */ var _deck_gl_aggregation_layers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @deck.gl/aggregation-layers */ "@deck.gl/core");
|
|
45658
45663
|
/* harmony import */ var _deck_gl_aggregation_layers__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_aggregation_layers__WEBPACK_IMPORTED_MODULE_5__);
|
|
45659
|
-
/* harmony import */ var _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../layers/carto-tile-layer */ "./src/layers/carto-tile-layer.
|
|
45664
|
+
/* harmony import */ var _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../layers/carto-tile-layer */ "./src/layers/carto-tile-layer.ts");
|
|
45660
45665
|
/* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.ts");
|
|
45661
45666
|
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils */ "./src/utils.ts");
|
|
45662
45667
|
|
|
@@ -45771,7 +45776,7 @@ function getLayer(type, config, dataset) {
|
|
|
45771
45776
|
const getPosition = d => d[geoColumn].coordinates;
|
|
45772
45777
|
|
|
45773
45778
|
const hexagonId = config.columns?.hex_id;
|
|
45774
|
-
const
|
|
45779
|
+
const layerTypeDefs = {
|
|
45775
45780
|
point: {
|
|
45776
45781
|
Layer: _deck_gl_aggregation_layers__WEBPACK_IMPORTED_MODULE_5__["GeoJsonLayer"],
|
|
45777
45782
|
propMap: {
|
|
@@ -45832,13 +45837,15 @@ function getLayer(type, config, dataset) {
|
|
|
45832
45837
|
stroked: false
|
|
45833
45838
|
}
|
|
45834
45839
|
}
|
|
45835
|
-
}
|
|
45840
|
+
};
|
|
45841
|
+
const layer = layerTypeDefs[type];
|
|
45836
45842
|
Object(_utils__WEBPACK_IMPORTED_MODULE_8__["assert"])(layer, `Unsupported layer type: ${type}`);
|
|
45837
|
-
|
|
45838
|
-
|
|
45839
|
-
...
|
|
45843
|
+
return { ...layer,
|
|
45844
|
+
propMap: mergePropMaps(sharedPropMap, layer.propMap),
|
|
45845
|
+
defaultProps: { ...defaultProps,
|
|
45846
|
+
...layer.defaultProps
|
|
45847
|
+
}
|
|
45840
45848
|
};
|
|
45841
|
-
return layer;
|
|
45842
45849
|
}
|
|
45843
45850
|
|
|
45844
45851
|
function getTileLayer(dataset) {
|
|
@@ -47197,13 +47204,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
47197
47204
|
/* harmony import */ var _layers_carto_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./layers/carto-layer */ "./src/layers/carto-layer.ts");
|
|
47198
47205
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CartoLayer", function() { return _layers_carto_layer__WEBPACK_IMPORTED_MODULE_1__["default"]; });
|
|
47199
47206
|
|
|
47200
|
-
/* harmony import */ var _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./layers/carto-tile-layer */ "./src/layers/carto-tile-layer.
|
|
47207
|
+
/* harmony import */ var _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./layers/carto-tile-layer */ "./src/layers/carto-tile-layer.ts");
|
|
47201
47208
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_CartoTileLayer", function() { return _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_2__["default"]; });
|
|
47202
47209
|
|
|
47203
|
-
/* harmony import */ var _layers_h3_tile_layer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./layers/h3-tile-layer */ "./src/layers/h3-tile-layer.
|
|
47210
|
+
/* harmony import */ var _layers_h3_tile_layer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./layers/h3-tile-layer */ "./src/layers/h3-tile-layer.ts");
|
|
47204
47211
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_H3TileLayer", function() { return _layers_h3_tile_layer__WEBPACK_IMPORTED_MODULE_3__["default"]; });
|
|
47205
47212
|
|
|
47206
|
-
/* harmony import */ var _layers_quadkey_tile_layer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./layers/quadkey-tile-layer */ "./src/layers/quadkey-tile-layer.
|
|
47213
|
+
/* harmony import */ var _layers_quadkey_tile_layer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./layers/quadkey-tile-layer */ "./src/layers/quadkey-tile-layer.ts");
|
|
47207
47214
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_QuadkeyTileLayer", function() { return _layers_quadkey_tile_layer__WEBPACK_IMPORTED_MODULE_4__["default"]; });
|
|
47208
47215
|
|
|
47209
47216
|
/* harmony import */ var _basemap__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./basemap */ "./src/basemap.ts");
|
|
@@ -47262,9 +47269,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
47262
47269
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return CartoLayer; });
|
|
47263
47270
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
|
|
47264
47271
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
|
|
47265
|
-
/* harmony import */ var _carto_tile_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./carto-tile-layer */ "./src/layers/carto-tile-layer.
|
|
47266
|
-
/* harmony import */ var _h3_tile_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./h3-tile-layer */ "./src/layers/h3-tile-layer.
|
|
47267
|
-
/* harmony import */ var _quadkey_tile_layer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./quadkey-tile-layer */ "./src/layers/quadkey-tile-layer.
|
|
47272
|
+
/* harmony import */ var _carto_tile_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./carto-tile-layer */ "./src/layers/carto-tile-layer.ts");
|
|
47273
|
+
/* harmony import */ var _h3_tile_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./h3-tile-layer */ "./src/layers/h3-tile-layer.ts");
|
|
47274
|
+
/* harmony import */ var _quadkey_tile_layer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./quadkey-tile-layer */ "./src/layers/quadkey-tile-layer.ts");
|
|
47268
47275
|
/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../api */ "./src/api/index.ts");
|
|
47269
47276
|
/* harmony import */ var _api_maps_api_common__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../api/maps-api-common */ "./src/api/maps-api-common.ts");
|
|
47270
47277
|
/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../config */ "./src/config.ts");
|
|
@@ -47320,8 +47327,14 @@ const defaultProps = {
|
|
|
47320
47327
|
columns: {
|
|
47321
47328
|
type: 'array',
|
|
47322
47329
|
value: null
|
|
47323
|
-
}
|
|
47330
|
+
},
|
|
47331
|
+
// (String, optional): aggregration SQL expression. Only used for spatial index datasets
|
|
47332
|
+
aggregationExp: null,
|
|
47333
|
+
// (Number, optional): aggregration resolution level. Only used for spatial index datasets, defaults to 6 for quadkeys, 4 for h3
|
|
47334
|
+
aggregationResLevel: null
|
|
47324
47335
|
};
|
|
47336
|
+
/** All properties supported by CartoLayer. */
|
|
47337
|
+
|
|
47325
47338
|
class CartoLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLayer"] {
|
|
47326
47339
|
initializeState() {
|
|
47327
47340
|
this.state = {
|
|
@@ -47459,7 +47472,8 @@ class CartoLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLa
|
|
|
47459
47472
|
const {
|
|
47460
47473
|
data: _notUsed,
|
|
47461
47474
|
...propsNoData
|
|
47462
|
-
} = this.props;
|
|
47475
|
+
} = this.props; // @ts-expect-error 'uniqueIdProperty' is specified more than once, so this usage will be overwritten.
|
|
47476
|
+
|
|
47463
47477
|
const props = {
|
|
47464
47478
|
uniqueIdProperty,
|
|
47465
47479
|
...propsNoData
|
|
@@ -47517,9 +47531,9 @@ _defineProperty(CartoLayer, "defaultProps", defaultProps);
|
|
|
47517
47531
|
|
|
47518
47532
|
/***/ }),
|
|
47519
47533
|
|
|
47520
|
-
/***/ "./src/layers/carto-tile-layer.
|
|
47534
|
+
/***/ "./src/layers/carto-tile-layer.ts":
|
|
47521
47535
|
/*!****************************************!*\
|
|
47522
|
-
!*** ./src/layers/carto-tile-layer.
|
|
47536
|
+
!*** ./src/layers/carto-tile-layer.ts ***!
|
|
47523
47537
|
\****************************************/
|
|
47524
47538
|
/*! exports provided: default */
|
|
47525
47539
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
@@ -47532,8 +47546,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
47532
47546
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
|
|
47533
47547
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_1__);
|
|
47534
47548
|
/* harmony import */ var _loaders_gl_gis__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @loaders.gl/gis */ "../../node_modules/@loaders.gl/gis/dist/esm/index.js");
|
|
47535
|
-
/* harmony import */ var _schema_carto_tile__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./schema/carto-tile */ "./src/layers/schema/carto-tile.
|
|
47549
|
+
/* harmony import */ var _schema_carto_tile__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./schema/carto-tile */ "./src/layers/schema/carto-tile.ts");
|
|
47536
47550
|
/* harmony import */ var _api_maps_api_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../api/maps-api-common */ "./src/api/maps-api-common.ts");
|
|
47551
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
47552
|
+
|
|
47537
47553
|
/* global TextDecoder */
|
|
47538
47554
|
|
|
47539
47555
|
|
|
@@ -47550,7 +47566,7 @@ function parseJSON(arrayBuffer) {
|
|
|
47550
47566
|
|
|
47551
47567
|
function parsePbf(buffer) {
|
|
47552
47568
|
const pbf = new pbf__WEBPACK_IMPORTED_MODULE_0___default.a(buffer);
|
|
47553
|
-
const tile = _schema_carto_tile__WEBPACK_IMPORTED_MODULE_3__["
|
|
47569
|
+
const tile = _schema_carto_tile__WEBPACK_IMPORTED_MODULE_3__["TileReader"].read(pbf);
|
|
47554
47570
|
return tile;
|
|
47555
47571
|
}
|
|
47556
47572
|
|
|
@@ -47591,13 +47607,15 @@ function parseCartoTile(arrayBuffer, options) {
|
|
|
47591
47607
|
polygons: { ...polygons,
|
|
47592
47608
|
properties: unpackProperties(polygons.properties)
|
|
47593
47609
|
}
|
|
47594
|
-
};
|
|
47610
|
+
}; // Note: there is slight, difference in `numericProps` type, however geojson/mvtlayer can cope with this
|
|
47611
|
+
|
|
47595
47612
|
return data;
|
|
47596
47613
|
}
|
|
47597
47614
|
|
|
47598
47615
|
const defaultTileFormat = _api_maps_api_common__WEBPACK_IMPORTED_MODULE_4__["TILE_FORMATS"].BINARY;
|
|
47599
47616
|
const CartoTileLoader = {
|
|
47600
47617
|
name: 'CARTO Tile',
|
|
47618
|
+
version: '1',
|
|
47601
47619
|
id: 'cartoTile',
|
|
47602
47620
|
module: 'carto',
|
|
47603
47621
|
extensions: ['pbf'],
|
|
@@ -47616,6 +47634,8 @@ const defaultProps = { ..._deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["MVTLayer"]
|
|
|
47616
47634
|
formatTiles: defaultTileFormat,
|
|
47617
47635
|
loaders: [CartoTileLoader]
|
|
47618
47636
|
};
|
|
47637
|
+
/** All properties supported by CartoTileLayer. */
|
|
47638
|
+
|
|
47619
47639
|
class CartoTileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["MVTLayer"] {
|
|
47620
47640
|
getTileData(tile) {
|
|
47621
47641
|
const url = Object(_deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["_getURLFromTemplate"])(this.state.data, tile);
|
|
@@ -47656,31 +47676,33 @@ class CartoTileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["MVTLaye
|
|
|
47656
47676
|
return null;
|
|
47657
47677
|
}
|
|
47658
47678
|
|
|
47659
|
-
|
|
47679
|
+
const tileBbox = props.tile.bbox;
|
|
47660
47680
|
const {
|
|
47661
|
-
|
|
47662
|
-
|
|
47663
|
-
|
|
47664
|
-
|
|
47665
|
-
|
|
47666
|
-
|
|
47667
|
-
|
|
47668
|
-
|
|
47669
|
-
|
|
47670
|
-
|
|
47671
|
-
|
|
47681
|
+
west,
|
|
47682
|
+
south,
|
|
47683
|
+
east,
|
|
47684
|
+
north
|
|
47685
|
+
} = tileBbox;
|
|
47686
|
+
const subLayerProps = { ...props,
|
|
47687
|
+
autoHighlight: false,
|
|
47688
|
+
extensions: [new _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["ClipExtension"](), ...(props.extensions || [])],
|
|
47689
|
+
clipBounds: [west, south, east, north]
|
|
47690
|
+
};
|
|
47691
|
+
const subLayer = new _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["GeoJsonLayer"](subLayerProps);
|
|
47672
47692
|
return subLayer;
|
|
47673
47693
|
}
|
|
47674
47694
|
|
|
47675
47695
|
}
|
|
47676
|
-
|
|
47677
|
-
CartoTileLayer
|
|
47696
|
+
|
|
47697
|
+
_defineProperty(CartoTileLayer, "layerName", 'CartoTileLayer');
|
|
47698
|
+
|
|
47699
|
+
_defineProperty(CartoTileLayer, "defaultProps", defaultProps);
|
|
47678
47700
|
|
|
47679
47701
|
/***/ }),
|
|
47680
47702
|
|
|
47681
|
-
/***/ "./src/layers/h3-tile-layer.
|
|
47703
|
+
/***/ "./src/layers/h3-tile-layer.ts":
|
|
47682
47704
|
/*!*************************************!*\
|
|
47683
|
-
!*** ./src/layers/h3-tile-layer.
|
|
47705
|
+
!*** ./src/layers/h3-tile-layer.ts ***!
|
|
47684
47706
|
\*************************************/
|
|
47685
47707
|
/*! exports provided: default */
|
|
47686
47708
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
@@ -47690,7 +47712,11 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
47690
47712
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return H3TileLayer; });
|
|
47691
47713
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
|
|
47692
47714
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
|
|
47693
|
-
/* harmony import */ var _h3_tileset_2d__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./h3-tileset-2d */ "./src/layers/h3-tileset-2d.
|
|
47715
|
+
/* harmony import */ var _h3_tileset_2d__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./h3-tileset-2d */ "./src/layers/h3-tileset-2d.ts");
|
|
47716
|
+
/* harmony import */ var _spatial_index_tile_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./spatial-index-tile-layer */ "./src/layers/spatial-index-tile-layer.ts");
|
|
47717
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
47718
|
+
|
|
47719
|
+
|
|
47694
47720
|
|
|
47695
47721
|
|
|
47696
47722
|
|
|
@@ -47704,12 +47730,24 @@ const renderSubLayers = props => {
|
|
|
47704
47730
|
} = props.tile;
|
|
47705
47731
|
if (!data || !data.length) return null;
|
|
47706
47732
|
return new _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["H3HexagonLayer"](props, {
|
|
47733
|
+
getHexagon: d => d.id,
|
|
47707
47734
|
centerHexagon: index,
|
|
47708
47735
|
highPrecision: true
|
|
47709
47736
|
});
|
|
47710
47737
|
};
|
|
47711
47738
|
|
|
47739
|
+
const defaultProps = {
|
|
47740
|
+
aggregationResLevel: 4
|
|
47741
|
+
};
|
|
47742
|
+
/** All properties supported by H3TileLayer. */
|
|
47743
|
+
|
|
47712
47744
|
class H3TileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLayer"] {
|
|
47745
|
+
constructor(...args) {
|
|
47746
|
+
super(...args);
|
|
47747
|
+
|
|
47748
|
+
_defineProperty(this, "state", void 0);
|
|
47749
|
+
}
|
|
47750
|
+
|
|
47713
47751
|
initializeState() {
|
|
47714
47752
|
this.setState({
|
|
47715
47753
|
data: null,
|
|
@@ -47718,9 +47756,6 @@ class H3TileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeL
|
|
|
47718
47756
|
}
|
|
47719
47757
|
|
|
47720
47758
|
updateState({
|
|
47721
|
-
props,
|
|
47722
|
-
oldProps,
|
|
47723
|
-
context,
|
|
47724
47759
|
changeFlags
|
|
47725
47760
|
}) {
|
|
47726
47761
|
if (changeFlags.dataChanged) {
|
|
@@ -47738,33 +47773,37 @@ class H3TileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeL
|
|
|
47738
47773
|
|
|
47739
47774
|
renderLayers() {
|
|
47740
47775
|
const {
|
|
47741
|
-
data
|
|
47776
|
+
data,
|
|
47777
|
+
tileJSON
|
|
47742
47778
|
} = this.state;
|
|
47743
|
-
|
|
47744
|
-
|
|
47779
|
+
const maxZoom = parseInt(tileJSON.maxresolution);
|
|
47780
|
+
return [new _spatial_index_tile_layer__WEBPACK_IMPORTED_MODULE_2__["default"](this.props, {
|
|
47781
|
+
id: `h3-tile-layer-${this.props.id}`,
|
|
47745
47782
|
data,
|
|
47746
|
-
|
|
47783
|
+
// @ts-expect-error Tileset2D should be generic over TileIndex
|
|
47747
47784
|
TilesetClass: _h3_tileset_2d__WEBPACK_IMPORTED_MODULE_1__["default"],
|
|
47748
|
-
renderSubLayers
|
|
47785
|
+
renderSubLayers,
|
|
47786
|
+
maxZoom
|
|
47749
47787
|
})];
|
|
47750
47788
|
}
|
|
47751
47789
|
|
|
47752
47790
|
}
|
|
47753
|
-
|
|
47791
|
+
|
|
47792
|
+
_defineProperty(H3TileLayer, "layerName", 'H3TileLayer');
|
|
47793
|
+
|
|
47794
|
+
_defineProperty(H3TileLayer, "defaultProps", defaultProps);
|
|
47754
47795
|
|
|
47755
47796
|
/***/ }),
|
|
47756
47797
|
|
|
47757
|
-
/***/ "./src/layers/h3-tileset-2d.
|
|
47798
|
+
/***/ "./src/layers/h3-tileset-2d.ts":
|
|
47758
47799
|
/*!*************************************!*\
|
|
47759
|
-
!*** ./src/layers/h3-tileset-2d.
|
|
47800
|
+
!*** ./src/layers/h3-tileset-2d.ts ***!
|
|
47760
47801
|
\*************************************/
|
|
47761
|
-
/*! exports provided:
|
|
47802
|
+
/*! exports provided: default */
|
|
47762
47803
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
47763
47804
|
|
|
47764
47805
|
"use strict";
|
|
47765
47806
|
__webpack_require__.r(__webpack_exports__);
|
|
47766
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getHexagonsInBoundingBox", function() { return getHexagonsInBoundingBox; });
|
|
47767
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "tileToBoundingBox", function() { return tileToBoundingBox; });
|
|
47768
47807
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return H3Tileset2D; });
|
|
47769
47808
|
/* harmony import */ var _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/geo-layers */ "@deck.gl/core");
|
|
47770
47809
|
/* harmony import */ var _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_0__);
|
|
@@ -47772,6 +47811,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
47772
47811
|
/* harmony import */ var h3_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(h3_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
47773
47812
|
|
|
47774
47813
|
|
|
47814
|
+
|
|
47775
47815
|
function getHexagonsInBoundingBox({
|
|
47776
47816
|
west,
|
|
47777
47817
|
north,
|
|
@@ -47800,10 +47840,11 @@ function getHexagonsInBoundingBox({
|
|
|
47800
47840
|
// prematurely. Get more accurate coverage by oversampling
|
|
47801
47841
|
|
|
47802
47842
|
|
|
47803
|
-
const oversample =
|
|
47843
|
+
const oversample = 2;
|
|
47804
47844
|
const h3Indices = Object(h3_js__WEBPACK_IMPORTED_MODULE_1__["polyfill"])([[[west, north], [west, south], [east, south], [east, north], [west, north]]], resolution + oversample, true);
|
|
47805
47845
|
return oversample ? [...new Set(h3Indices.map(i => Object(h3_js__WEBPACK_IMPORTED_MODULE_1__["h3ToParent"])(i, resolution)))] : h3Indices;
|
|
47806
47846
|
}
|
|
47847
|
+
|
|
47807
47848
|
function tileToBoundingBox(index) {
|
|
47808
47849
|
const coordinates = Object(h3_js__WEBPACK_IMPORTED_MODULE_1__["h3ToGeoBoundary"])(index);
|
|
47809
47850
|
const latitudes = coordinates.map(c => c[0]);
|
|
@@ -47818,42 +47859,63 @@ function tileToBoundingBox(index) {
|
|
|
47818
47859
|
east,
|
|
47819
47860
|
north
|
|
47820
47861
|
};
|
|
47862
|
+
} // Resolution conversion function. Takes a WebMercatorViewport and returns
|
|
47863
|
+
// a H3 resolution such that the screen space size of the hexagons is
|
|
47864
|
+
// similar
|
|
47865
|
+
// Relative scale factor (0 = no biasing, 2 = a few hexagons cover view)
|
|
47866
|
+
|
|
47867
|
+
|
|
47868
|
+
const BIAS = 2;
|
|
47869
|
+
|
|
47870
|
+
function getHexagonResolution(viewport) {
|
|
47871
|
+
const hexagonScaleFactor = 2 / 3 * viewport.zoom;
|
|
47872
|
+
const latitudeScaleFactor = Math.log(1 / Math.cos(Math.PI * viewport.latitude / 180)); // Clip and bias
|
|
47873
|
+
|
|
47874
|
+
return Math.max(0, Math.floor(hexagonScaleFactor + latitudeScaleFactor - BIAS));
|
|
47821
47875
|
}
|
|
47876
|
+
|
|
47822
47877
|
class H3Tileset2D extends _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_0__["_Tileset2D"] {
|
|
47878
|
+
// @ts-expect-error Tileset2D should be generic over TileIndex
|
|
47823
47879
|
getTileIndices({
|
|
47824
47880
|
viewport,
|
|
47825
47881
|
minZoom,
|
|
47826
47882
|
maxZoom
|
|
47827
47883
|
}) {
|
|
47828
|
-
const [east, south, west, north] = viewport.getBounds();
|
|
47829
|
-
|
|
47830
|
-
let
|
|
47884
|
+
const [east, south, west, north] = viewport.getBounds();
|
|
47885
|
+
let z = getHexagonResolution(viewport);
|
|
47886
|
+
let indices;
|
|
47831
47887
|
|
|
47832
47888
|
if (typeof minZoom === 'number' && Number.isFinite(minZoom) && z < minZoom) {
|
|
47833
47889
|
z = minZoom;
|
|
47834
47890
|
}
|
|
47835
47891
|
|
|
47836
47892
|
if (typeof maxZoom === 'number' && Number.isFinite(maxZoom) && z > maxZoom) {
|
|
47837
|
-
z = maxZoom;
|
|
47838
|
-
|
|
47893
|
+
z = maxZoom; // Once we are at max zoom, getHexagonsInBoundingBox doesn't work, simply
|
|
47894
|
+
// get a ring centered on the hexagon in the viewport center
|
|
47839
47895
|
|
|
47896
|
+
const center = Object(h3_js__WEBPACK_IMPORTED_MODULE_1__["geoToH3"])(viewport.latitude, viewport.longitude, maxZoom);
|
|
47897
|
+
indices = Object(h3_js__WEBPACK_IMPORTED_MODULE_1__["kRing"])(center, 1);
|
|
47898
|
+
} else {
|
|
47899
|
+
indices = getHexagonsInBoundingBox({
|
|
47900
|
+
west,
|
|
47901
|
+
north,
|
|
47902
|
+
east,
|
|
47903
|
+
south
|
|
47904
|
+
}, z);
|
|
47905
|
+
}
|
|
47840
47906
|
|
|
47841
|
-
|
|
47842
|
-
return getHexagonsInBoundingBox({
|
|
47843
|
-
west,
|
|
47844
|
-
north,
|
|
47845
|
-
east,
|
|
47846
|
-
south
|
|
47847
|
-
}, resolution).map(i => ({
|
|
47907
|
+
return indices.map(i => ({
|
|
47848
47908
|
i
|
|
47849
47909
|
}));
|
|
47850
|
-
}
|
|
47910
|
+
} // @ts-expect-error Tileset2D should be generic over TileIndex
|
|
47911
|
+
|
|
47851
47912
|
|
|
47852
47913
|
getTileId({
|
|
47853
47914
|
i
|
|
47854
47915
|
}) {
|
|
47855
47916
|
return i;
|
|
47856
|
-
}
|
|
47917
|
+
} // @ts-expect-error Tileset2D should be generic over TileIndex
|
|
47918
|
+
|
|
47857
47919
|
|
|
47858
47920
|
getTileMetadata({
|
|
47859
47921
|
i
|
|
@@ -47861,13 +47923,15 @@ class H3Tileset2D extends _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_0__["_Til
|
|
|
47861
47923
|
return {
|
|
47862
47924
|
bbox: tileToBoundingBox(i)
|
|
47863
47925
|
};
|
|
47864
|
-
}
|
|
47926
|
+
} // @ts-expect-error Tileset2D should be generic over TileIndex
|
|
47927
|
+
|
|
47865
47928
|
|
|
47866
47929
|
getTileZoom({
|
|
47867
47930
|
i
|
|
47868
47931
|
}) {
|
|
47869
47932
|
return Object(h3_js__WEBPACK_IMPORTED_MODULE_1__["h3GetResolution"])(i);
|
|
47870
|
-
}
|
|
47933
|
+
} // @ts-expect-error Tileset2D should be generic over TileIndex
|
|
47934
|
+
|
|
47871
47935
|
|
|
47872
47936
|
getParentIndex(index) {
|
|
47873
47937
|
const resolution = Object(h3_js__WEBPACK_IMPORTED_MODULE_1__["h3GetResolution"])(index.i);
|
|
@@ -47881,9 +47945,9 @@ class H3Tileset2D extends _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_0__["_Til
|
|
|
47881
47945
|
|
|
47882
47946
|
/***/ }),
|
|
47883
47947
|
|
|
47884
|
-
/***/ "./src/layers/quadkey-tile-layer.
|
|
47948
|
+
/***/ "./src/layers/quadkey-tile-layer.ts":
|
|
47885
47949
|
/*!******************************************!*\
|
|
47886
|
-
!*** ./src/layers/quadkey-tile-layer.
|
|
47950
|
+
!*** ./src/layers/quadkey-tile-layer.ts ***!
|
|
47887
47951
|
\******************************************/
|
|
47888
47952
|
/*! exports provided: default */
|
|
47889
47953
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
@@ -47893,7 +47957,11 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
47893
47957
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return QuadkeyTileLayer; });
|
|
47894
47958
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
|
|
47895
47959
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_0__);
|
|
47896
|
-
/* harmony import */ var _quadkey_tileset_2d__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./quadkey-tileset-2d */ "./src/layers/quadkey-tileset-2d.
|
|
47960
|
+
/* harmony import */ var _quadkey_tileset_2d__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./quadkey-tileset-2d */ "./src/layers/quadkey-tileset-2d.ts");
|
|
47961
|
+
/* harmony import */ var _spatial_index_tile_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./spatial-index-tile-layer */ "./src/layers/spatial-index-tile-layer.ts");
|
|
47962
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
47963
|
+
|
|
47964
|
+
|
|
47897
47965
|
|
|
47898
47966
|
|
|
47899
47967
|
|
|
@@ -47903,10 +47971,23 @@ const renderSubLayers = props => {
|
|
|
47903
47971
|
data
|
|
47904
47972
|
} = props;
|
|
47905
47973
|
if (!data || !data.length) return null;
|
|
47906
|
-
return new _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["QuadkeyLayer"](props
|
|
47974
|
+
return new _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["QuadkeyLayer"](props, {
|
|
47975
|
+
getQuadkey: d => d.id
|
|
47976
|
+
});
|
|
47907
47977
|
};
|
|
47908
47978
|
|
|
47979
|
+
const defaultProps = {
|
|
47980
|
+
aggregationResLevel: 6
|
|
47981
|
+
};
|
|
47982
|
+
/** All properties supported by QuadkeyTileLayer. */
|
|
47983
|
+
|
|
47909
47984
|
class QuadkeyTileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeLayer"] {
|
|
47985
|
+
constructor(...args) {
|
|
47986
|
+
super(...args);
|
|
47987
|
+
|
|
47988
|
+
_defineProperty(this, "state", void 0);
|
|
47989
|
+
}
|
|
47990
|
+
|
|
47910
47991
|
initializeState() {
|
|
47911
47992
|
this.setState({
|
|
47912
47993
|
data: null,
|
|
@@ -47915,9 +47996,6 @@ class QuadkeyTileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["Compo
|
|
|
47915
47996
|
}
|
|
47916
47997
|
|
|
47917
47998
|
updateState({
|
|
47918
|
-
props,
|
|
47919
|
-
oldProps,
|
|
47920
|
-
context,
|
|
47921
47999
|
changeFlags
|
|
47922
48000
|
}) {
|
|
47923
48001
|
if (changeFlags.dataChanged) {
|
|
@@ -47938,14 +48016,11 @@ class QuadkeyTileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["Compo
|
|
|
47938
48016
|
data,
|
|
47939
48017
|
tileJSON
|
|
47940
48018
|
} = this.state;
|
|
47941
|
-
const
|
|
47942
|
-
|
|
47943
|
-
|
|
47944
|
-
const maxZoom = maxresolution - this.props.aggregationResLevel;
|
|
47945
|
-
return [new _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["TileLayer"](this.props, {
|
|
47946
|
-
id: 'quadkey-tile-layer',
|
|
48019
|
+
const maxZoom = parseInt(tileJSON?.maxresolution);
|
|
48020
|
+
return [new _spatial_index_tile_layer__WEBPACK_IMPORTED_MODULE_2__["default"](this.props, {
|
|
48021
|
+
id: `quadkey-tile-layer-${this.props.id}`,
|
|
47947
48022
|
data,
|
|
47948
|
-
|
|
48023
|
+
// TODO: Tileset2D should be generic over TileIndex type
|
|
47949
48024
|
TilesetClass: _quadkey_tileset_2d__WEBPACK_IMPORTED_MODULE_1__["default"],
|
|
47950
48025
|
renderSubLayers,
|
|
47951
48026
|
maxZoom
|
|
@@ -47953,13 +48028,16 @@ class QuadkeyTileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["Compo
|
|
|
47953
48028
|
}
|
|
47954
48029
|
|
|
47955
48030
|
}
|
|
47956
|
-
|
|
48031
|
+
|
|
48032
|
+
_defineProperty(QuadkeyTileLayer, "layerName", 'QuadkeyTileLayer');
|
|
48033
|
+
|
|
48034
|
+
_defineProperty(QuadkeyTileLayer, "defaultProps", defaultProps);
|
|
47957
48035
|
|
|
47958
48036
|
/***/ }),
|
|
47959
48037
|
|
|
47960
|
-
/***/ "./src/layers/quadkey-tileset-2d.
|
|
48038
|
+
/***/ "./src/layers/quadkey-tileset-2d.ts":
|
|
47961
48039
|
/*!******************************************!*\
|
|
47962
|
-
!*** ./src/layers/quadkey-tileset-2d.
|
|
48040
|
+
!*** ./src/layers/quadkey-tileset-2d.ts ***!
|
|
47963
48041
|
\******************************************/
|
|
47964
48042
|
/*! exports provided: default */
|
|
47965
48043
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
@@ -47988,9 +48066,11 @@ function tileToQuadkey(tile) {
|
|
|
47988
48066
|
}
|
|
47989
48067
|
|
|
47990
48068
|
class QuadkeyTileset2D extends _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_0__["_Tileset2D"] {
|
|
48069
|
+
// @ts-expect-error for spatial indices, TileSet2d should be parametrized by TileIndexT
|
|
47991
48070
|
getTileIndices(opts) {
|
|
47992
48071
|
return super.getTileIndices(opts).map(tileToQuadkey);
|
|
47993
|
-
}
|
|
48072
|
+
} // @ts-expect-error TileIndex must be generic
|
|
48073
|
+
|
|
47994
48074
|
|
|
47995
48075
|
getTileId({
|
|
47996
48076
|
i
|
|
@@ -48000,13 +48080,15 @@ class QuadkeyTileset2D extends _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_0__[
|
|
|
48000
48080
|
|
|
48001
48081
|
getTileMetadata() {
|
|
48002
48082
|
return {};
|
|
48003
|
-
}
|
|
48083
|
+
} // @ts-expect-error TileIndex must be generic
|
|
48084
|
+
|
|
48004
48085
|
|
|
48005
48086
|
getTileZoom({
|
|
48006
48087
|
i
|
|
48007
48088
|
}) {
|
|
48008
48089
|
return i.length;
|
|
48009
|
-
}
|
|
48090
|
+
} // @ts-expect-error TileIndex must be generic
|
|
48091
|
+
|
|
48010
48092
|
|
|
48011
48093
|
getParentIndex(index) {
|
|
48012
48094
|
const i = index.i.slice(0, -1);
|
|
@@ -48019,219 +48101,273 @@ class QuadkeyTileset2D extends _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_0__[
|
|
|
48019
48101
|
|
|
48020
48102
|
/***/ }),
|
|
48021
48103
|
|
|
48022
|
-
/***/ "./src/layers/schema/carto-tile.
|
|
48104
|
+
/***/ "./src/layers/schema/carto-tile.ts":
|
|
48023
48105
|
/*!*****************************************!*\
|
|
48024
|
-
!*** ./src/layers/schema/carto-tile.
|
|
48106
|
+
!*** ./src/layers/schema/carto-tile.ts ***!
|
|
48025
48107
|
\*****************************************/
|
|
48026
|
-
/*! exports provided:
|
|
48108
|
+
/*! exports provided: TileReader */
|
|
48027
48109
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
48028
48110
|
|
|
48029
48111
|
"use strict";
|
|
48030
48112
|
__webpack_require__.r(__webpack_exports__);
|
|
48031
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "
|
|
48113
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TileReader", function() { return TileReader; });
|
|
48032
48114
|
// KeyValueObject ========================================
|
|
48033
|
-
|
|
48115
|
+
class KeyValueObjectReader {
|
|
48116
|
+
static read(pbf, end) {
|
|
48117
|
+
return pbf.readFields(KeyValueObjectReader._readField, {
|
|
48118
|
+
key: '',
|
|
48119
|
+
value: ''
|
|
48120
|
+
}, end);
|
|
48121
|
+
}
|
|
48034
48122
|
|
|
48035
|
-
|
|
48036
|
-
|
|
48037
|
-
|
|
48038
|
-
value: ''
|
|
48039
|
-
}, end);
|
|
48040
|
-
};
|
|
48123
|
+
static _readField(tag, obj, pbf) {
|
|
48124
|
+
if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = pbf.readString();
|
|
48125
|
+
}
|
|
48041
48126
|
|
|
48042
|
-
|
|
48043
|
-
if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = pbf.readString();
|
|
48044
|
-
}; // Properties ========================================
|
|
48127
|
+
} // Properties ========================================
|
|
48045
48128
|
|
|
48046
48129
|
|
|
48047
|
-
|
|
48130
|
+
class PropertiesReader {
|
|
48131
|
+
static read(pbf, end) {
|
|
48132
|
+
return pbf.readFields(PropertiesReader._readField, {
|
|
48133
|
+
data: []
|
|
48134
|
+
}, end);
|
|
48135
|
+
}
|
|
48048
48136
|
|
|
48049
|
-
|
|
48050
|
-
|
|
48051
|
-
|
|
48052
|
-
}, end);
|
|
48053
|
-
};
|
|
48137
|
+
static _readField(tag, obj, pbf) {
|
|
48138
|
+
if (tag === 1) obj.data.push(KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos));
|
|
48139
|
+
}
|
|
48054
48140
|
|
|
48055
|
-
|
|
48056
|
-
if (tag === 1) obj.data.push(KeyValueObject.read(pbf, pbf.readVarint() + pbf.pos));
|
|
48057
|
-
}; // Doubles ========================================
|
|
48141
|
+
} // Doubles ========================================
|
|
48058
48142
|
|
|
48059
48143
|
|
|
48060
|
-
|
|
48144
|
+
class DoublesReader {
|
|
48145
|
+
static read(pbf, end) {
|
|
48146
|
+
// TODO perhaps we can do better and directly map from the source
|
|
48147
|
+
// ArrayBuffer using ArrayBuffer.slice()
|
|
48148
|
+
const {
|
|
48149
|
+
value,
|
|
48150
|
+
size
|
|
48151
|
+
} = pbf.readFields(DoublesReader._readField, {
|
|
48152
|
+
value: [],
|
|
48153
|
+
size: 0
|
|
48154
|
+
}, end);
|
|
48155
|
+
return {
|
|
48156
|
+
value: new Float32Array(value),
|
|
48157
|
+
size
|
|
48158
|
+
};
|
|
48159
|
+
}
|
|
48061
48160
|
|
|
48062
|
-
|
|
48063
|
-
|
|
48064
|
-
|
|
48065
|
-
const {
|
|
48066
|
-
value,
|
|
48067
|
-
size
|
|
48068
|
-
} = pbf.readFields(Doubles._readField, {
|
|
48069
|
-
value: [],
|
|
48070
|
-
size: 0
|
|
48071
|
-
}, end);
|
|
48072
|
-
return {
|
|
48073
|
-
value: new Float32Array(value),
|
|
48074
|
-
size
|
|
48075
|
-
};
|
|
48076
|
-
};
|
|
48161
|
+
static _readField(tag, obj, pbf) {
|
|
48162
|
+
if (tag === 1) pbf.readPackedDouble(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
|
|
48163
|
+
}
|
|
48077
48164
|
|
|
48078
|
-
|
|
48079
|
-
if (tag === 1) pbf.readPackedDouble(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
|
|
48080
|
-
}; // Ints ========================================
|
|
48165
|
+
} // Ints ========================================
|
|
48081
48166
|
|
|
48082
48167
|
|
|
48083
|
-
|
|
48168
|
+
class IntsReader {
|
|
48169
|
+
static read(pbf, end) {
|
|
48170
|
+
const {
|
|
48171
|
+
value,
|
|
48172
|
+
size
|
|
48173
|
+
} = pbf.readFields(IntsReader._readField, {
|
|
48174
|
+
value: [],
|
|
48175
|
+
size: 0
|
|
48176
|
+
}, end);
|
|
48177
|
+
return {
|
|
48178
|
+
value: new Uint32Array(value),
|
|
48179
|
+
size
|
|
48180
|
+
};
|
|
48181
|
+
}
|
|
48084
48182
|
|
|
48085
|
-
|
|
48086
|
-
|
|
48087
|
-
|
|
48088
|
-
size
|
|
48089
|
-
} = pbf.readFields(Ints._readField, {
|
|
48090
|
-
value: [],
|
|
48091
|
-
size: 0
|
|
48092
|
-
}, end);
|
|
48093
|
-
return {
|
|
48094
|
-
value: new Uint32Array(value),
|
|
48095
|
-
size
|
|
48096
|
-
};
|
|
48097
|
-
};
|
|
48183
|
+
static _readField(tag, obj, pbf) {
|
|
48184
|
+
if (tag === 1) pbf.readPackedVarint(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
|
|
48185
|
+
}
|
|
48098
48186
|
|
|
48099
|
-
|
|
48100
|
-
if (tag === 1) pbf.readPackedVarint(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
|
|
48101
|
-
}; // NumericProp ========================================
|
|
48187
|
+
} // NumericProp ========================================
|
|
48102
48188
|
|
|
48103
48189
|
|
|
48104
|
-
|
|
48190
|
+
class NumericPropReader {
|
|
48191
|
+
static read(pbf, end) {
|
|
48192
|
+
return pbf.readFields(NumericPropReader._readField, {
|
|
48193
|
+
value: []
|
|
48194
|
+
}, end);
|
|
48195
|
+
}
|
|
48105
48196
|
|
|
48106
|
-
|
|
48107
|
-
|
|
48108
|
-
|
|
48109
|
-
}, end);
|
|
48110
|
-
};
|
|
48197
|
+
static _readField(tag, obj, pbf) {
|
|
48198
|
+
if (tag === 1) pbf.readPackedDouble(obj.value);
|
|
48199
|
+
}
|
|
48111
48200
|
|
|
48112
|
-
|
|
48113
|
-
if (tag === 1) pbf.readPackedDouble(obj.value);
|
|
48114
|
-
}; // NumericPropKeyValue ========================================
|
|
48201
|
+
} // NumericPropKeyValue ========================================
|
|
48115
48202
|
|
|
48116
48203
|
|
|
48117
|
-
|
|
48204
|
+
class NumericPropKeyValueReader {
|
|
48205
|
+
static read(pbf, end) {
|
|
48206
|
+
return pbf.readFields(NumericPropKeyValueReader._readField, {
|
|
48207
|
+
key: '',
|
|
48208
|
+
value: null
|
|
48209
|
+
}, end);
|
|
48210
|
+
}
|
|
48118
48211
|
|
|
48119
|
-
|
|
48120
|
-
|
|
48121
|
-
|
|
48122
|
-
value: null
|
|
48123
|
-
}, end);
|
|
48124
|
-
};
|
|
48212
|
+
static _readField(tag, obj, pbf) {
|
|
48213
|
+
if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = NumericPropReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
48214
|
+
}
|
|
48125
48215
|
|
|
48126
|
-
|
|
48127
|
-
if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = NumericProp.read(pbf, pbf.readVarint() + pbf.pos);
|
|
48128
|
-
}; // NumericProp._FieldEntry1 ========================================
|
|
48216
|
+
} // Points ========================================
|
|
48129
48217
|
|
|
48130
48218
|
|
|
48131
|
-
|
|
48219
|
+
class PointsReader {
|
|
48220
|
+
static read(pbf, end) {
|
|
48221
|
+
return pbf.readFields(PointsReader._readField, {
|
|
48222
|
+
positions: null,
|
|
48223
|
+
globalFeatureIds: null,
|
|
48224
|
+
featureIds: null,
|
|
48225
|
+
properties: [],
|
|
48226
|
+
numericProps: {}
|
|
48227
|
+
}, end);
|
|
48228
|
+
}
|
|
48132
48229
|
|
|
48133
|
-
|
|
48134
|
-
|
|
48135
|
-
|
|
48136
|
-
|
|
48137
|
-
|
|
48138
|
-
}
|
|
48230
|
+
static _readField(tag, obj, pbf) {
|
|
48231
|
+
if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 5) {
|
|
48232
|
+
const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
48233
|
+
obj.numericProps[entry.key] = entry.value;
|
|
48234
|
+
}
|
|
48235
|
+
}
|
|
48139
48236
|
|
|
48140
|
-
|
|
48141
|
-
if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = pbf.readDouble();
|
|
48142
|
-
}; // StringProp ========================================
|
|
48237
|
+
}
|
|
48143
48238
|
|
|
48239
|
+
// Lines ========================================
|
|
48240
|
+
class LinesReader {
|
|
48241
|
+
static read(pbf, end) {
|
|
48242
|
+
return pbf.readFields(LinesReader._readField, {
|
|
48243
|
+
positions: null,
|
|
48244
|
+
pathIndices: null,
|
|
48245
|
+
globalFeatureIds: null,
|
|
48246
|
+
featureIds: null,
|
|
48247
|
+
properties: [],
|
|
48248
|
+
numericProps: {}
|
|
48249
|
+
}, end);
|
|
48250
|
+
}
|
|
48144
48251
|
|
|
48145
|
-
|
|
48252
|
+
static _readField(tag, obj, pbf) {
|
|
48253
|
+
if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.pathIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 6) {
|
|
48254
|
+
const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
48255
|
+
obj.numericProps[entry.key] = entry.value;
|
|
48256
|
+
}
|
|
48257
|
+
}
|
|
48146
48258
|
|
|
48147
|
-
|
|
48148
|
-
return pbf.readFields(StringProp._readField, {
|
|
48149
|
-
value: []
|
|
48150
|
-
}, end);
|
|
48151
|
-
};
|
|
48259
|
+
} // Polygons ========================================
|
|
48152
48260
|
|
|
48153
|
-
StringProp._readField = function (tag, obj, pbf) {
|
|
48154
|
-
if (tag === 1) obj.value.push(pbf.readString());
|
|
48155
|
-
}; // Points ========================================
|
|
48156
48261
|
|
|
48262
|
+
class PolygonsReader {
|
|
48263
|
+
static read(pbf, end) {
|
|
48264
|
+
return pbf.readFields(PolygonsReader._readField, {
|
|
48265
|
+
positions: null,
|
|
48266
|
+
polygonIndices: null,
|
|
48267
|
+
globalFeatureIds: null,
|
|
48268
|
+
featureIds: null,
|
|
48269
|
+
primitivePolygonIndices: null,
|
|
48270
|
+
triangles: null,
|
|
48271
|
+
properties: [],
|
|
48272
|
+
numericProps: {}
|
|
48273
|
+
}, end);
|
|
48274
|
+
}
|
|
48275
|
+
|
|
48276
|
+
static _readField(tag, obj, pbf) {
|
|
48277
|
+
if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.polygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 5) obj.primitivePolygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 6) obj.triangles = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 7) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));else if (tag === 8) {
|
|
48278
|
+
const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
48279
|
+
obj.numericProps[entry.key] = entry.value;
|
|
48280
|
+
}
|
|
48281
|
+
}
|
|
48157
48282
|
|
|
48158
|
-
|
|
48283
|
+
} // Tile ========================================
|
|
48159
48284
|
|
|
48160
|
-
Points.read = function (pbf, end) {
|
|
48161
|
-
return pbf.readFields(Points._readField, {
|
|
48162
|
-
positions: null,
|
|
48163
|
-
globalFeatureIds: null,
|
|
48164
|
-
featureIds: null,
|
|
48165
|
-
properties: [],
|
|
48166
|
-
numericProps: {}
|
|
48167
|
-
}, end);
|
|
48168
|
-
};
|
|
48169
48285
|
|
|
48170
|
-
|
|
48171
|
-
|
|
48172
|
-
|
|
48173
|
-
|
|
48286
|
+
class TileReader {
|
|
48287
|
+
static read(pbf, end) {
|
|
48288
|
+
return pbf.readFields(TileReader._readField, {
|
|
48289
|
+
points: null,
|
|
48290
|
+
lines: null,
|
|
48291
|
+
polygons: null
|
|
48292
|
+
}, end);
|
|
48174
48293
|
}
|
|
48175
|
-
}; // Lines ========================================
|
|
48176
48294
|
|
|
48295
|
+
static _readField(tag, obj, pbf) {
|
|
48296
|
+
if (tag === 1) obj.points = PointsReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.lines = LinesReader.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.polygons = PolygonsReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
48297
|
+
}
|
|
48177
48298
|
|
|
48178
|
-
|
|
48299
|
+
}
|
|
48179
48300
|
|
|
48180
|
-
|
|
48181
|
-
return pbf.readFields(Lines._readField, {
|
|
48182
|
-
positions: null,
|
|
48183
|
-
pathIndices: null,
|
|
48184
|
-
globalFeatureIds: null,
|
|
48185
|
-
featureIds: null,
|
|
48186
|
-
properties: [],
|
|
48187
|
-
numericProps: {}
|
|
48188
|
-
}, end);
|
|
48189
|
-
};
|
|
48301
|
+
/***/ }),
|
|
48190
48302
|
|
|
48191
|
-
|
|
48192
|
-
|
|
48193
|
-
|
|
48194
|
-
|
|
48195
|
-
|
|
48196
|
-
|
|
48303
|
+
/***/ "./src/layers/spatial-index-tile-layer.ts":
|
|
48304
|
+
/*!************************************************!*\
|
|
48305
|
+
!*** ./src/layers/spatial-index-tile-layer.ts ***!
|
|
48306
|
+
\************************************************/
|
|
48307
|
+
/*! exports provided: default */
|
|
48308
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
48197
48309
|
|
|
48310
|
+
"use strict";
|
|
48311
|
+
__webpack_require__.r(__webpack_exports__);
|
|
48312
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return SpatialIndexTileLayer; });
|
|
48313
|
+
/* harmony import */ var _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/geo-layers */ "@deck.gl/core");
|
|
48314
|
+
/* harmony import */ var _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_0__);
|
|
48198
48315
|
|
|
48199
|
-
const Polygons = {};
|
|
48200
48316
|
|
|
48201
|
-
|
|
48202
|
-
return
|
|
48203
|
-
|
|
48204
|
-
polygonIndices: null,
|
|
48205
|
-
globalFeatureIds: null,
|
|
48206
|
-
featureIds: null,
|
|
48207
|
-
primitivePolygonIndices: null,
|
|
48208
|
-
triangles: null,
|
|
48209
|
-
properties: [],
|
|
48210
|
-
numericProps: {}
|
|
48211
|
-
}, end);
|
|
48212
|
-
};
|
|
48317
|
+
function isFeatureIdDefined(value) {
|
|
48318
|
+
return value !== undefined && value !== null && value !== '';
|
|
48319
|
+
}
|
|
48213
48320
|
|
|
48214
|
-
|
|
48215
|
-
|
|
48216
|
-
const
|
|
48217
|
-
|
|
48321
|
+
class SpatialIndexTileLayer extends _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_0__["TileLayer"] {
|
|
48322
|
+
_updateAutoHighlight(info) {
|
|
48323
|
+
const {
|
|
48324
|
+
hoveredFeatureId
|
|
48325
|
+
} = this.state;
|
|
48326
|
+
const hoveredFeature = info.object;
|
|
48327
|
+
let newHoveredFeatureId;
|
|
48328
|
+
|
|
48329
|
+
if (hoveredFeature) {
|
|
48330
|
+
newHoveredFeatureId = hoveredFeature.id;
|
|
48331
|
+
}
|
|
48332
|
+
|
|
48333
|
+
if (hoveredFeatureId !== newHoveredFeatureId) {
|
|
48334
|
+
let {
|
|
48335
|
+
highlightColor
|
|
48336
|
+
} = this.props;
|
|
48337
|
+
|
|
48338
|
+
if (typeof highlightColor === 'function') {
|
|
48339
|
+
highlightColor = highlightColor(info);
|
|
48340
|
+
}
|
|
48341
|
+
|
|
48342
|
+
this.setState({
|
|
48343
|
+
highlightColor,
|
|
48344
|
+
hoveredFeatureId: newHoveredFeatureId
|
|
48345
|
+
});
|
|
48346
|
+
}
|
|
48218
48347
|
}
|
|
48219
|
-
}; // Tile ========================================
|
|
48220
48348
|
|
|
48349
|
+
getSubLayerPropsByTile(tile) {
|
|
48350
|
+
return {
|
|
48351
|
+
highlightedObjectIndex: this.getHighlightedObjectIndex(tile),
|
|
48352
|
+
highlightColor: this.state.highlightColor
|
|
48353
|
+
};
|
|
48354
|
+
}
|
|
48221
48355
|
|
|
48222
|
-
|
|
48356
|
+
getHighlightedObjectIndex(tile) {
|
|
48357
|
+
const {
|
|
48358
|
+
hoveredFeatureId
|
|
48359
|
+
} = this.state;
|
|
48360
|
+
const data = tile.content;
|
|
48361
|
+
const isFeatureIdPresent = isFeatureIdDefined(hoveredFeatureId);
|
|
48223
48362
|
|
|
48224
|
-
|
|
48225
|
-
|
|
48226
|
-
|
|
48227
|
-
lines: null,
|
|
48228
|
-
polygons: null
|
|
48229
|
-
}, end);
|
|
48230
|
-
};
|
|
48363
|
+
if (!isFeatureIdPresent || !Array.isArray(data)) {
|
|
48364
|
+
return -1;
|
|
48365
|
+
}
|
|
48231
48366
|
|
|
48232
|
-
|
|
48233
|
-
|
|
48234
|
-
|
|
48367
|
+
return data.findIndex(feature => feature.id === hoveredFeatureId);
|
|
48368
|
+
}
|
|
48369
|
+
|
|
48370
|
+
}
|
|
48235
48371
|
|
|
48236
48372
|
/***/ }),
|
|
48237
48373
|
|