@deck.gl/carto 8.8.0-alpha.4 → 8.8.0-alpha.5
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 +181 -190
- 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 +1 -1
- package/dist/es5/layers/h3-tile-layer.js.map +1 -1
- package/dist/es5/layers/quadkey-tile-layer.js +1 -1
- package/dist/es5/layers/quadkey-tile-layer.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/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 +1 -1
- package/dist/esm/layers/h3-tile-layer.js.map +1 -1
- package/dist/esm/layers/quadkey-tile-layer.js +1 -1
- package/dist/esm/layers/quadkey-tile-layer.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.min.js +2 -2
- package/package.json +5 -3
- package/src/layers/{carto-tile-layer.js → carto-tile-layer.ts} +64 -27
- package/src/layers/h3-tile-layer.js +1 -1
- package/src/layers/quadkey-tile-layer.js +1 -1
- package/src/layers/schema/carto-tile.ts +221 -0
- package/src/layers/schema/carto-tile.js +0 -195
package/dist/dist.dev.js
CHANGED
|
@@ -45656,7 +45656,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
45656
45656
|
/* harmony import */ var moment_timezone__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(moment_timezone__WEBPACK_IMPORTED_MODULE_4__);
|
|
45657
45657
|
/* harmony import */ var _deck_gl_aggregation_layers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @deck.gl/aggregation-layers */ "@deck.gl/core");
|
|
45658
45658
|
/* 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.
|
|
45659
|
+
/* harmony import */ var _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../layers/carto-tile-layer */ "./src/layers/carto-tile-layer.ts");
|
|
45660
45660
|
/* harmony import */ var _maps_api_common__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./maps-api-common */ "./src/api/maps-api-common.ts");
|
|
45661
45661
|
/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils */ "./src/utils.ts");
|
|
45662
45662
|
|
|
@@ -47197,7 +47197,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
47197
47197
|
/* harmony import */ var _layers_carto_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./layers/carto-layer */ "./src/layers/carto-layer.ts");
|
|
47198
47198
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "CartoLayer", function() { return _layers_carto_layer__WEBPACK_IMPORTED_MODULE_1__["default"]; });
|
|
47199
47199
|
|
|
47200
|
-
/* harmony import */ var _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./layers/carto-tile-layer */ "./src/layers/carto-tile-layer.
|
|
47200
|
+
/* harmony import */ var _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./layers/carto-tile-layer */ "./src/layers/carto-tile-layer.ts");
|
|
47201
47201
|
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "_CartoTileLayer", function() { return _layers_carto_tile_layer__WEBPACK_IMPORTED_MODULE_2__["default"]; });
|
|
47202
47202
|
|
|
47203
47203
|
/* harmony import */ var _layers_h3_tile_layer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./layers/h3-tile-layer */ "./src/layers/h3-tile-layer.js");
|
|
@@ -47262,7 +47262,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
47262
47262
|
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return CartoLayer; });
|
|
47263
47263
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
|
|
47264
47264
|
/* 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.
|
|
47265
|
+
/* harmony import */ var _carto_tile_layer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./carto-tile-layer */ "./src/layers/carto-tile-layer.ts");
|
|
47266
47266
|
/* harmony import */ var _h3_tile_layer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./h3-tile-layer */ "./src/layers/h3-tile-layer.js");
|
|
47267
47267
|
/* harmony import */ var _quadkey_tile_layer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./quadkey-tile-layer */ "./src/layers/quadkey-tile-layer.js");
|
|
47268
47268
|
/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../api */ "./src/api/index.ts");
|
|
@@ -47521,9 +47521,9 @@ _defineProperty(CartoLayer, "defaultProps", defaultProps);
|
|
|
47521
47521
|
|
|
47522
47522
|
/***/ }),
|
|
47523
47523
|
|
|
47524
|
-
/***/ "./src/layers/carto-tile-layer.
|
|
47524
|
+
/***/ "./src/layers/carto-tile-layer.ts":
|
|
47525
47525
|
/*!****************************************!*\
|
|
47526
|
-
!*** ./src/layers/carto-tile-layer.
|
|
47526
|
+
!*** ./src/layers/carto-tile-layer.ts ***!
|
|
47527
47527
|
\****************************************/
|
|
47528
47528
|
/*! exports provided: default */
|
|
47529
47529
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
@@ -47536,8 +47536,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
47536
47536
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @deck.gl/core */ "@deck.gl/core");
|
|
47537
47537
|
/* harmony import */ var _deck_gl_core__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_deck_gl_core__WEBPACK_IMPORTED_MODULE_1__);
|
|
47538
47538
|
/* harmony import */ var _loaders_gl_gis__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @loaders.gl/gis */ "../../node_modules/@loaders.gl/gis/dist/esm/index.js");
|
|
47539
|
-
/* harmony import */ var _schema_carto_tile__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./schema/carto-tile */ "./src/layers/schema/carto-tile.
|
|
47539
|
+
/* harmony import */ var _schema_carto_tile__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./schema/carto-tile */ "./src/layers/schema/carto-tile.ts");
|
|
47540
47540
|
/* harmony import */ var _api_maps_api_common__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../api/maps-api-common */ "./src/api/maps-api-common.ts");
|
|
47541
|
+
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; }
|
|
47542
|
+
|
|
47541
47543
|
/* global TextDecoder */
|
|
47542
47544
|
|
|
47543
47545
|
|
|
@@ -47554,7 +47556,7 @@ function parseJSON(arrayBuffer) {
|
|
|
47554
47556
|
|
|
47555
47557
|
function parsePbf(buffer) {
|
|
47556
47558
|
const pbf = new pbf__WEBPACK_IMPORTED_MODULE_0___default.a(buffer);
|
|
47557
|
-
const tile = _schema_carto_tile__WEBPACK_IMPORTED_MODULE_3__["
|
|
47559
|
+
const tile = _schema_carto_tile__WEBPACK_IMPORTED_MODULE_3__["TileReader"].read(pbf);
|
|
47558
47560
|
return tile;
|
|
47559
47561
|
}
|
|
47560
47562
|
|
|
@@ -47595,13 +47597,15 @@ function parseCartoTile(arrayBuffer, options) {
|
|
|
47595
47597
|
polygons: { ...polygons,
|
|
47596
47598
|
properties: unpackProperties(polygons.properties)
|
|
47597
47599
|
}
|
|
47598
|
-
};
|
|
47600
|
+
}; // Note: there is slight, difference in `numericProps` type, however geojson/mvtlayer can cope with this
|
|
47601
|
+
|
|
47599
47602
|
return data;
|
|
47600
47603
|
}
|
|
47601
47604
|
|
|
47602
47605
|
const defaultTileFormat = _api_maps_api_common__WEBPACK_IMPORTED_MODULE_4__["TILE_FORMATS"].BINARY;
|
|
47603
47606
|
const CartoTileLoader = {
|
|
47604
47607
|
name: 'CARTO Tile',
|
|
47608
|
+
version: '1',
|
|
47605
47609
|
id: 'cartoTile',
|
|
47606
47610
|
module: 'carto',
|
|
47607
47611
|
extensions: ['pbf'],
|
|
@@ -47620,6 +47624,8 @@ const defaultProps = { ..._deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["MVTLayer"]
|
|
|
47620
47624
|
formatTiles: defaultTileFormat,
|
|
47621
47625
|
loaders: [CartoTileLoader]
|
|
47622
47626
|
};
|
|
47627
|
+
/** All properties supported by CartoTileLayer. */
|
|
47628
|
+
|
|
47623
47629
|
class CartoTileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["MVTLayer"] {
|
|
47624
47630
|
getTileData(tile) {
|
|
47625
47631
|
const url = Object(_deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["_getURLFromTemplate"])(this.state.data, tile);
|
|
@@ -47660,25 +47666,27 @@ class CartoTileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["MVTLaye
|
|
|
47660
47666
|
return null;
|
|
47661
47667
|
}
|
|
47662
47668
|
|
|
47663
|
-
|
|
47669
|
+
const tileBbox = props.tile.bbox;
|
|
47664
47670
|
const {
|
|
47665
|
-
|
|
47666
|
-
|
|
47667
|
-
|
|
47668
|
-
|
|
47669
|
-
|
|
47670
|
-
|
|
47671
|
-
|
|
47672
|
-
|
|
47673
|
-
|
|
47674
|
-
|
|
47675
|
-
|
|
47671
|
+
west,
|
|
47672
|
+
south,
|
|
47673
|
+
east,
|
|
47674
|
+
north
|
|
47675
|
+
} = tileBbox;
|
|
47676
|
+
const subLayerProps = { ...props,
|
|
47677
|
+
autoHighlight: false,
|
|
47678
|
+
extensions: [new _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["ClipExtension"](), ...(props.extensions || [])],
|
|
47679
|
+
clipBounds: [west, south, east, north]
|
|
47680
|
+
};
|
|
47681
|
+
const subLayer = new _deck_gl_core__WEBPACK_IMPORTED_MODULE_1__["GeoJsonLayer"](subLayerProps);
|
|
47676
47682
|
return subLayer;
|
|
47677
47683
|
}
|
|
47678
47684
|
|
|
47679
47685
|
}
|
|
47680
|
-
|
|
47681
|
-
CartoTileLayer
|
|
47686
|
+
|
|
47687
|
+
_defineProperty(CartoTileLayer, "layerName", 'CartoTileLayer');
|
|
47688
|
+
|
|
47689
|
+
_defineProperty(CartoTileLayer, "defaultProps", defaultProps);
|
|
47682
47690
|
|
|
47683
47691
|
/***/ }),
|
|
47684
47692
|
|
|
@@ -47752,7 +47760,7 @@ class H3TileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["CompositeL
|
|
|
47752
47760
|
} = this.state;
|
|
47753
47761
|
const maxZoom = parseInt(tileJSON.maxresolution);
|
|
47754
47762
|
return [new _spatial_index_tile_layer__WEBPACK_IMPORTED_MODULE_2__["default"](this.props, {
|
|
47755
|
-
id:
|
|
47763
|
+
id: `h3-tile-layer-${this.props.id}`,
|
|
47756
47764
|
data,
|
|
47757
47765
|
getHexagon: d => d.id,
|
|
47758
47766
|
TilesetClass: _h3_tileset_2d__WEBPACK_IMPORTED_MODULE_1__["default"],
|
|
@@ -47976,7 +47984,7 @@ class QuadkeyTileLayer extends _deck_gl_core__WEBPACK_IMPORTED_MODULE_0__["Compo
|
|
|
47976
47984
|
} = this.state;
|
|
47977
47985
|
const maxZoom = parseInt(tileJSON.maxresolution);
|
|
47978
47986
|
return [new _spatial_index_tile_layer__WEBPACK_IMPORTED_MODULE_2__["default"](this.props, {
|
|
47979
|
-
id:
|
|
47987
|
+
id: `quadkey-tile-layer-${this.props.id}`,
|
|
47980
47988
|
data,
|
|
47981
47989
|
getQuadkey: d => d.id,
|
|
47982
47990
|
TilesetClass: _quadkey_tileset_2d__WEBPACK_IMPORTED_MODULE_1__["default"],
|
|
@@ -48053,219 +48061,202 @@ class QuadkeyTileset2D extends _deck_gl_geo_layers__WEBPACK_IMPORTED_MODULE_0__[
|
|
|
48053
48061
|
|
|
48054
48062
|
/***/ }),
|
|
48055
48063
|
|
|
48056
|
-
/***/ "./src/layers/schema/carto-tile.
|
|
48064
|
+
/***/ "./src/layers/schema/carto-tile.ts":
|
|
48057
48065
|
/*!*****************************************!*\
|
|
48058
|
-
!*** ./src/layers/schema/carto-tile.
|
|
48066
|
+
!*** ./src/layers/schema/carto-tile.ts ***!
|
|
48059
48067
|
\*****************************************/
|
|
48060
|
-
/*! exports provided:
|
|
48068
|
+
/*! exports provided: TileReader */
|
|
48061
48069
|
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
48062
48070
|
|
|
48063
48071
|
"use strict";
|
|
48064
48072
|
__webpack_require__.r(__webpack_exports__);
|
|
48065
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "
|
|
48073
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TileReader", function() { return TileReader; });
|
|
48066
48074
|
// KeyValueObject ========================================
|
|
48067
|
-
|
|
48068
|
-
|
|
48069
|
-
|
|
48070
|
-
|
|
48071
|
-
|
|
48072
|
-
|
|
48073
|
-
}
|
|
48074
|
-
};
|
|
48075
|
-
|
|
48076
|
-
KeyValueObject._readField = function (tag, obj, pbf) {
|
|
48077
|
-
if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = pbf.readString();
|
|
48078
|
-
}; // Properties ========================================
|
|
48079
|
-
|
|
48080
|
-
|
|
48081
|
-
const Properties = {};
|
|
48082
|
-
|
|
48083
|
-
Properties.read = function (pbf, end) {
|
|
48084
|
-
return pbf.readFields(Properties._readField, {
|
|
48085
|
-
data: []
|
|
48086
|
-
}, end);
|
|
48087
|
-
};
|
|
48088
|
-
|
|
48089
|
-
Properties._readField = function (tag, obj, pbf) {
|
|
48090
|
-
if (tag === 1) obj.data.push(KeyValueObject.read(pbf, pbf.readVarint() + pbf.pos));
|
|
48091
|
-
}; // Doubles ========================================
|
|
48092
|
-
|
|
48075
|
+
class KeyValueObjectReader {
|
|
48076
|
+
static read(pbf, end) {
|
|
48077
|
+
return pbf.readFields(KeyValueObjectReader._readField, {
|
|
48078
|
+
key: '',
|
|
48079
|
+
value: ''
|
|
48080
|
+
}, end);
|
|
48081
|
+
}
|
|
48093
48082
|
|
|
48094
|
-
|
|
48083
|
+
static _readField(tag, obj, pbf) {
|
|
48084
|
+
if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = pbf.readString();
|
|
48085
|
+
}
|
|
48095
48086
|
|
|
48096
|
-
|
|
48097
|
-
// TODO perhaps we can do better and directly map from the source
|
|
48098
|
-
// ArrayBuffer using ArrayBuffer.slice()
|
|
48099
|
-
const {
|
|
48100
|
-
value,
|
|
48101
|
-
size
|
|
48102
|
-
} = pbf.readFields(Doubles._readField, {
|
|
48103
|
-
value: [],
|
|
48104
|
-
size: 0
|
|
48105
|
-
}, end);
|
|
48106
|
-
return {
|
|
48107
|
-
value: new Float32Array(value),
|
|
48108
|
-
size
|
|
48109
|
-
};
|
|
48110
|
-
};
|
|
48087
|
+
} // Properties ========================================
|
|
48111
48088
|
|
|
48112
|
-
Doubles._readField = function (tag, obj, pbf) {
|
|
48113
|
-
if (tag === 1) pbf.readPackedDouble(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
|
|
48114
|
-
}; // Ints ========================================
|
|
48115
48089
|
|
|
48090
|
+
class PropertiesReader {
|
|
48091
|
+
static read(pbf, end) {
|
|
48092
|
+
return pbf.readFields(PropertiesReader._readField, {
|
|
48093
|
+
data: []
|
|
48094
|
+
}, end);
|
|
48095
|
+
}
|
|
48116
48096
|
|
|
48117
|
-
|
|
48097
|
+
static _readField(tag, obj, pbf) {
|
|
48098
|
+
if (tag === 1) obj.data.push(KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos));
|
|
48099
|
+
}
|
|
48118
48100
|
|
|
48119
|
-
|
|
48120
|
-
const {
|
|
48121
|
-
value,
|
|
48122
|
-
size
|
|
48123
|
-
} = pbf.readFields(Ints._readField, {
|
|
48124
|
-
value: [],
|
|
48125
|
-
size: 0
|
|
48126
|
-
}, end);
|
|
48127
|
-
return {
|
|
48128
|
-
value: new Uint32Array(value),
|
|
48129
|
-
size
|
|
48130
|
-
};
|
|
48131
|
-
};
|
|
48101
|
+
} // Doubles ========================================
|
|
48132
48102
|
|
|
48133
|
-
Ints._readField = function (tag, obj, pbf) {
|
|
48134
|
-
if (tag === 1) pbf.readPackedVarint(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
|
|
48135
|
-
}; // NumericProp ========================================
|
|
48136
48103
|
|
|
48104
|
+
class DoublesReader {
|
|
48105
|
+
static read(pbf, end) {
|
|
48106
|
+
// TODO perhaps we can do better and directly map from the source
|
|
48107
|
+
// ArrayBuffer using ArrayBuffer.slice()
|
|
48108
|
+
const {
|
|
48109
|
+
value,
|
|
48110
|
+
size
|
|
48111
|
+
} = pbf.readFields(DoublesReader._readField, {
|
|
48112
|
+
value: [],
|
|
48113
|
+
size: 0
|
|
48114
|
+
}, end);
|
|
48115
|
+
return {
|
|
48116
|
+
value: new Float32Array(value),
|
|
48117
|
+
size
|
|
48118
|
+
};
|
|
48119
|
+
}
|
|
48137
48120
|
|
|
48138
|
-
|
|
48121
|
+
static _readField(tag, obj, pbf) {
|
|
48122
|
+
if (tag === 1) pbf.readPackedDouble(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
|
|
48123
|
+
}
|
|
48139
48124
|
|
|
48140
|
-
|
|
48141
|
-
return pbf.readFields(NumericProp._readField, {
|
|
48142
|
-
value: []
|
|
48143
|
-
}, end);
|
|
48144
|
-
};
|
|
48125
|
+
} // Ints ========================================
|
|
48145
48126
|
|
|
48146
|
-
NumericProp._readField = function (tag, obj, pbf) {
|
|
48147
|
-
if (tag === 1) pbf.readPackedDouble(obj.value);
|
|
48148
|
-
}; // NumericPropKeyValue ========================================
|
|
48149
48127
|
|
|
48128
|
+
class IntsReader {
|
|
48129
|
+
static read(pbf, end) {
|
|
48130
|
+
const {
|
|
48131
|
+
value,
|
|
48132
|
+
size
|
|
48133
|
+
} = pbf.readFields(IntsReader._readField, {
|
|
48134
|
+
value: [],
|
|
48135
|
+
size: 0
|
|
48136
|
+
}, end);
|
|
48137
|
+
return {
|
|
48138
|
+
value: new Uint32Array(value),
|
|
48139
|
+
size
|
|
48140
|
+
};
|
|
48141
|
+
}
|
|
48150
48142
|
|
|
48151
|
-
|
|
48143
|
+
static _readField(tag, obj, pbf) {
|
|
48144
|
+
if (tag === 1) pbf.readPackedVarint(obj.value);else if (tag === 2) obj.size = pbf.readVarint(true);
|
|
48145
|
+
}
|
|
48152
48146
|
|
|
48153
|
-
|
|
48154
|
-
return pbf.readFields(NumericPropKeyValue._readField, {
|
|
48155
|
-
key: '',
|
|
48156
|
-
value: null
|
|
48157
|
-
}, end);
|
|
48158
|
-
};
|
|
48147
|
+
} // NumericProp ========================================
|
|
48159
48148
|
|
|
48160
|
-
NumericPropKeyValue._readField = function (tag, obj, pbf) {
|
|
48161
|
-
if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = NumericProp.read(pbf, pbf.readVarint() + pbf.pos);
|
|
48162
|
-
}; // NumericProp._FieldEntry1 ========================================
|
|
48163
48149
|
|
|
48150
|
+
class NumericPropReader {
|
|
48151
|
+
static read(pbf, end) {
|
|
48152
|
+
return pbf.readFields(NumericPropReader._readField, {
|
|
48153
|
+
value: []
|
|
48154
|
+
}, end);
|
|
48155
|
+
}
|
|
48164
48156
|
|
|
48165
|
-
|
|
48157
|
+
static _readField(tag, obj, pbf) {
|
|
48158
|
+
if (tag === 1) pbf.readPackedDouble(obj.value);
|
|
48159
|
+
}
|
|
48166
48160
|
|
|
48167
|
-
|
|
48168
|
-
return pbf.readFields(NumericProp._FieldEntry1._readField, {
|
|
48169
|
-
key: '',
|
|
48170
|
-
value: 0
|
|
48171
|
-
}, end);
|
|
48172
|
-
};
|
|
48161
|
+
} // NumericPropKeyValue ========================================
|
|
48173
48162
|
|
|
48174
|
-
NumericProp._FieldEntry1._readField = function (tag, obj, pbf) {
|
|
48175
|
-
if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = pbf.readDouble();
|
|
48176
|
-
}; // StringProp ========================================
|
|
48177
48163
|
|
|
48164
|
+
class NumericPropKeyValueReader {
|
|
48165
|
+
static read(pbf, end) {
|
|
48166
|
+
return pbf.readFields(NumericPropKeyValueReader._readField, {
|
|
48167
|
+
key: '',
|
|
48168
|
+
value: null
|
|
48169
|
+
}, end);
|
|
48170
|
+
}
|
|
48178
48171
|
|
|
48179
|
-
|
|
48172
|
+
static _readField(tag, obj, pbf) {
|
|
48173
|
+
if (tag === 1) obj.key = pbf.readString();else if (tag === 2) obj.value = NumericPropReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
48174
|
+
}
|
|
48180
48175
|
|
|
48181
|
-
|
|
48182
|
-
return pbf.readFields(StringProp._readField, {
|
|
48183
|
-
value: []
|
|
48184
|
-
}, end);
|
|
48185
|
-
};
|
|
48176
|
+
} // Points ========================================
|
|
48186
48177
|
|
|
48187
|
-
StringProp._readField = function (tag, obj, pbf) {
|
|
48188
|
-
if (tag === 1) obj.value.push(pbf.readString());
|
|
48189
|
-
}; // Points ========================================
|
|
48190
48178
|
|
|
48179
|
+
class PointsReader {
|
|
48180
|
+
static read(pbf, end) {
|
|
48181
|
+
return pbf.readFields(PointsReader._readField, {
|
|
48182
|
+
positions: null,
|
|
48183
|
+
globalFeatureIds: null,
|
|
48184
|
+
featureIds: null,
|
|
48185
|
+
properties: [],
|
|
48186
|
+
numericProps: {}
|
|
48187
|
+
}, end);
|
|
48188
|
+
}
|
|
48191
48189
|
|
|
48192
|
-
|
|
48190
|
+
static _readField(tag, obj, pbf) {
|
|
48191
|
+
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) {
|
|
48192
|
+
const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
48193
|
+
obj.numericProps[entry.key] = entry.value;
|
|
48194
|
+
}
|
|
48195
|
+
}
|
|
48193
48196
|
|
|
48194
|
-
|
|
48195
|
-
return pbf.readFields(Points._readField, {
|
|
48196
|
-
positions: null,
|
|
48197
|
-
globalFeatureIds: null,
|
|
48198
|
-
featureIds: null,
|
|
48199
|
-
properties: [],
|
|
48200
|
-
numericProps: {}
|
|
48201
|
-
}, end);
|
|
48202
|
-
};
|
|
48197
|
+
}
|
|
48203
48198
|
|
|
48204
|
-
|
|
48205
|
-
|
|
48206
|
-
|
|
48207
|
-
|
|
48199
|
+
// Lines ========================================
|
|
48200
|
+
class LinesReader {
|
|
48201
|
+
static read(pbf, end) {
|
|
48202
|
+
return pbf.readFields(LinesReader._readField, {
|
|
48203
|
+
positions: null,
|
|
48204
|
+
pathIndices: null,
|
|
48205
|
+
globalFeatureIds: null,
|
|
48206
|
+
featureIds: null,
|
|
48207
|
+
properties: [],
|
|
48208
|
+
numericProps: {}
|
|
48209
|
+
}, end);
|
|
48208
48210
|
}
|
|
48209
|
-
}; // Lines ========================================
|
|
48210
48211
|
|
|
48212
|
+
static _readField(tag, obj, pbf) {
|
|
48213
|
+
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) {
|
|
48214
|
+
const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
48215
|
+
obj.numericProps[entry.key] = entry.value;
|
|
48216
|
+
}
|
|
48217
|
+
}
|
|
48211
48218
|
|
|
48212
|
-
|
|
48219
|
+
} // Polygons ========================================
|
|
48213
48220
|
|
|
48214
|
-
Lines.read = function (pbf, end) {
|
|
48215
|
-
return pbf.readFields(Lines._readField, {
|
|
48216
|
-
positions: null,
|
|
48217
|
-
pathIndices: null,
|
|
48218
|
-
globalFeatureIds: null,
|
|
48219
|
-
featureIds: null,
|
|
48220
|
-
properties: [],
|
|
48221
|
-
numericProps: {}
|
|
48222
|
-
}, end);
|
|
48223
|
-
};
|
|
48224
48221
|
|
|
48225
|
-
|
|
48226
|
-
|
|
48227
|
-
|
|
48228
|
-
|
|
48222
|
+
class PolygonsReader {
|
|
48223
|
+
static read(pbf, end) {
|
|
48224
|
+
return pbf.readFields(PolygonsReader._readField, {
|
|
48225
|
+
positions: null,
|
|
48226
|
+
polygonIndices: null,
|
|
48227
|
+
globalFeatureIds: null,
|
|
48228
|
+
featureIds: null,
|
|
48229
|
+
primitivePolygonIndices: null,
|
|
48230
|
+
triangles: null,
|
|
48231
|
+
properties: [],
|
|
48232
|
+
numericProps: {}
|
|
48233
|
+
}, end);
|
|
48229
48234
|
}
|
|
48230
|
-
}; // Polygons ========================================
|
|
48231
48235
|
|
|
48236
|
+
static _readField(tag, obj, pbf) {
|
|
48237
|
+
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) {
|
|
48238
|
+
const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);
|
|
48239
|
+
obj.numericProps[entry.key] = entry.value;
|
|
48240
|
+
}
|
|
48241
|
+
}
|
|
48232
48242
|
|
|
48233
|
-
|
|
48243
|
+
} // Tile ========================================
|
|
48234
48244
|
|
|
48235
|
-
Polygons.read = function (pbf, end) {
|
|
48236
|
-
return pbf.readFields(Polygons._readField, {
|
|
48237
|
-
positions: null,
|
|
48238
|
-
polygonIndices: null,
|
|
48239
|
-
globalFeatureIds: null,
|
|
48240
|
-
featureIds: null,
|
|
48241
|
-
primitivePolygonIndices: null,
|
|
48242
|
-
triangles: null,
|
|
48243
|
-
properties: [],
|
|
48244
|
-
numericProps: {}
|
|
48245
|
-
}, end);
|
|
48246
|
-
};
|
|
48247
48245
|
|
|
48248
|
-
|
|
48249
|
-
|
|
48250
|
-
|
|
48251
|
-
|
|
48246
|
+
class TileReader {
|
|
48247
|
+
static read(pbf, end) {
|
|
48248
|
+
return pbf.readFields(TileReader._readField, {
|
|
48249
|
+
points: null,
|
|
48250
|
+
lines: null,
|
|
48251
|
+
polygons: null
|
|
48252
|
+
}, end);
|
|
48252
48253
|
}
|
|
48253
|
-
}; // Tile ========================================
|
|
48254
|
-
|
|
48255
48254
|
|
|
48256
|
-
|
|
48257
|
-
|
|
48258
|
-
|
|
48259
|
-
return pbf.readFields(Tile._readField, {
|
|
48260
|
-
points: null,
|
|
48261
|
-
lines: null,
|
|
48262
|
-
polygons: null
|
|
48263
|
-
}, end);
|
|
48264
|
-
};
|
|
48255
|
+
static _readField(tag, obj, pbf) {
|
|
48256
|
+
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);
|
|
48257
|
+
}
|
|
48265
48258
|
|
|
48266
|
-
|
|
48267
|
-
if (tag === 1) obj.points = Points.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 2) obj.lines = Lines.read(pbf, pbf.readVarint() + pbf.pos);else if (tag === 3) obj.polygons = Polygons.read(pbf, pbf.readVarint() + pbf.pos);
|
|
48268
|
-
};
|
|
48259
|
+
}
|
|
48269
48260
|
|
|
48270
48261
|
/***/ }),
|
|
48271
48262
|
|
|
@@ -56,7 +56,7 @@ function parseJSON(arrayBuffer) {
|
|
|
56
56
|
function parsePbf(buffer) {
|
|
57
57
|
var pbf = new _pbf.default(buffer);
|
|
58
58
|
|
|
59
|
-
var tile = _cartoTile.
|
|
59
|
+
var tile = _cartoTile.TileReader.read(pbf);
|
|
60
60
|
|
|
61
61
|
return tile;
|
|
62
62
|
}
|
|
@@ -102,6 +102,7 @@ function parseCartoTile(arrayBuffer, options) {
|
|
|
102
102
|
var defaultTileFormat = _mapsApiCommon.TILE_FORMATS.BINARY;
|
|
103
103
|
var CartoTileLoader = {
|
|
104
104
|
name: 'CARTO Tile',
|
|
105
|
+
version: '1',
|
|
105
106
|
id: 'cartoTile',
|
|
106
107
|
module: 'carto',
|
|
107
108
|
extensions: ['pbf'],
|
|
@@ -193,15 +194,19 @@ var CartoTileLayer = function (_MVTLayer) {
|
|
|
193
194
|
return null;
|
|
194
195
|
}
|
|
195
196
|
|
|
196
|
-
|
|
197
|
-
var
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
197
|
+
var tileBbox = props.tile.bbox;
|
|
198
|
+
var west = tileBbox.west,
|
|
199
|
+
south = tileBbox.south,
|
|
200
|
+
east = tileBbox.east,
|
|
201
|
+
north = tileBbox.north;
|
|
202
|
+
|
|
203
|
+
var subLayerProps = _objectSpread(_objectSpread({}, props), {}, {
|
|
204
|
+
autoHighlight: false,
|
|
205
|
+
extensions: [new _extensions.ClipExtension()].concat((0, _toConsumableArray2.default)(props.extensions || [])),
|
|
206
|
+
clipBounds: [west, south, east, north]
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
var subLayer = new _layers.GeoJsonLayer(subLayerProps);
|
|
205
210
|
return subLayer;
|
|
206
211
|
}
|
|
207
212
|
}]);
|
|
@@ -209,6 +214,6 @@ var CartoTileLayer = function (_MVTLayer) {
|
|
|
209
214
|
}(_geoLayers.MVTLayer);
|
|
210
215
|
|
|
211
216
|
exports.default = CartoTileLayer;
|
|
212
|
-
CartoTileLayer
|
|
213
|
-
CartoTileLayer
|
|
217
|
+
(0, _defineProperty2.default)(CartoTileLayer, "layerName", 'CartoTileLayer');
|
|
218
|
+
(0, _defineProperty2.default)(CartoTileLayer, "defaultProps", defaultProps);
|
|
214
219
|
//# sourceMappingURL=carto-tile-layer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/carto-tile-layer.
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/carto-tile-layer.ts"],"names":["parseJSON","arrayBuffer","JSON","parse","TextDecoder","decode","parsePbf","buffer","pbf","Protobuf","tile","TileReader","read","unpackProperties","properties","length","map","item","currentRecord","data","forEach","key","value","parseCartoTile","options","formatTiles","cartoTile","TILE_FORMATS","GEOJSON","features","points","lines","polygons","defaultTileFormat","BINARY","CartoTileLoader","name","version","id","module","extensions","mimeTypes","category","worker","parseSync","defaultProps","MVTLayer","loaders","CartoTileLayer","url","state","Promise","reject","loadOptions","getLoadOptions","props","fetch","signal","mimeType","log","assert","Object","values","includes","propName","layer","tileBbox","bbox","west","south","east","north","subLayerProps","autoHighlight","ClipExtension","clipBounds","subLayer","GeoJsonLayer"],"mappings":"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","sourcesContent":["/* global TextDecoder */\nimport Protobuf from 'pbf';\nimport {Layer, LayersList, log} from '@deck.gl/core';\nimport {ClipExtension} from '@deck.gl/extensions';\nimport {\n MVTLayer,\n MVTLayerProps,\n TileLayer,\n _getURLFromTemplate,\n _Tile2DHeader,\n _TileLoadProps as TileLoadProps\n} from '@deck.gl/geo-layers';\nimport {GeoJsonLayer} from '@deck.gl/layers';\nimport {geojsonToBinary} from '@loaders.gl/gis';\nimport {Properties, Tile, TileReader} from './schema/carto-tile';\nimport {TileFormat, TILE_FORMATS} from '../api/maps-api-common';\nimport {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {BinaryFeatures} from '@loaders.gl/schema';\nimport type {Feature} from 'geojson';\n\nfunction parseJSON(arrayBuffer: ArrayBuffer): any {\n return JSON.parse(new TextDecoder().decode(arrayBuffer));\n}\n\nfunction parsePbf(buffer: ArrayBuffer): Tile {\n const pbf = new Protobuf(buffer);\n const tile = TileReader.read(pbf);\n return tile;\n}\n\nfunction unpackProperties(properties: Properties[]) {\n if (!properties || !properties.length) {\n return [];\n }\n return properties.map(item => {\n const currentRecord: Record<string, unknown> = {};\n item.data.forEach(({key, value}) => {\n currentRecord[key] = value;\n });\n return currentRecord;\n });\n}\n\nfunction parseCartoTile(arrayBuffer: ArrayBuffer, options?: LoaderOptions): BinaryFeatures | null {\n if (!arrayBuffer) return null;\n const formatTiles = options && options.cartoTile && options.cartoTile.formatTiles;\n if (formatTiles === TILE_FORMATS.GEOJSON) return geojsonToBinary(parseJSON(arrayBuffer).features);\n\n const tile = parsePbf(arrayBuffer);\n\n const {points, lines, polygons} = tile;\n const data = {\n points: {...points, properties: unpackProperties(points.properties)},\n lines: {...lines, properties: unpackProperties(lines.properties)},\n polygons: {...polygons, properties: unpackProperties(polygons.properties)}\n };\n\n // Note: there is slight, difference in `numericProps` type, however geojson/mvtlayer can cope with this\n return data as unknown as BinaryFeatures;\n}\n\nconst defaultTileFormat = TILE_FORMATS.BINARY;\n\nconst CartoTileLoader: LoaderWithParser = {\n name: 'CARTO Tile',\n version: '1',\n id: 'cartoTile',\n module: 'carto',\n extensions: ['pbf'],\n mimeTypes: ['application/x-protobuf'],\n category: 'geometry',\n worker: false,\n parse: async (arrayBuffer, options) => parseCartoTile(arrayBuffer, options),\n parseSync: parseCartoTile,\n options: {\n cartoTile: {\n formatTiles: defaultTileFormat\n }\n }\n};\n\nconst defaultProps = {\n ...MVTLayer.defaultProps,\n formatTiles: defaultTileFormat,\n loaders: [CartoTileLoader]\n};\n\n/** All properties supported by CartoTileLayer. */\nexport type CartoTileLayerProps<DataT extends Feature = Feature> = _CartoTileLayerProps &\n MVTLayerProps<DataT>;\n\n/** Properties added by CartoTileLayer. */\ntype _CartoTileLayerProps = {\n /** Use to override the default tile data format.\n *\n * Possible values are: `TILE_FORMATS.BINARY`, `TILE_FORMATS.GEOJSON` and `TILE_FORMATS.MVT`.\n *\n * Only supported when `apiVersion` is `API_VERSIONS.V3` and `format` is `FORMATS.TILEJSON`.\n * */\n formatTiles?: TileFormat;\n};\n\nexport default class CartoTileLayer<\n DataT extends Feature = Feature,\n ExtraProps = {}\n> extends MVTLayer<DataT, Required<_CartoTileLayerProps> & ExtraProps> {\n static layerName = 'CartoTileLayer';\n static defaultProps = defaultProps;\n\n getTileData(tile: TileLoadProps) {\n const url = _getURLFromTemplate(this.state.data, tile);\n if (!url) {\n return Promise.reject('Invalid URL');\n }\n\n let loadOptions = this.getLoadOptions();\n const {fetch, formatTiles} = this.props;\n const {signal} = tile;\n\n loadOptions = {\n ...loadOptions,\n mimeType: 'application/x-protobuf'\n };\n\n if (formatTiles) {\n log.assert(\n Object.values(TILE_FORMATS).includes(formatTiles),\n `Invalid value for formatTiles: ${formatTiles}. Use value from TILE_FORMATS`\n );\n loadOptions.cartoTile = {formatTiles};\n }\n\n return fetch(url, {propName: 'data', layer: this, loadOptions, signal});\n }\n\n renderSubLayers(\n props: TileLayer['props'] & {\n id: string;\n data: any;\n _offset: number;\n tile: _Tile2DHeader;\n }\n ): GeoJsonLayer | null {\n if (props.data === null) {\n return null;\n }\n\n const tileBbox = props.tile.bbox as any;\n const {west, south, east, north} = tileBbox;\n\n const subLayerProps = {\n ...props,\n autoHighlight: false,\n extensions: [new ClipExtension(), ...(props.extensions || [])],\n clipBounds: [west, south, east, north]\n };\n\n const subLayer = new GeoJsonLayer(subLayerProps);\n return subLayer;\n }\n}\n"],"file":"carto-tile-layer.js"}
|
|
@@ -87,7 +87,7 @@ var H3TileLayer = function (_CompositeLayer) {
|
|
|
87
87
|
tileJSON = _this$state.tileJSON;
|
|
88
88
|
var maxZoom = parseInt(tileJSON.maxresolution);
|
|
89
89
|
return [new _spatialIndexTileLayer.default(this.props, {
|
|
90
|
-
id:
|
|
90
|
+
id: "h3-tile-layer-".concat(this.props.id),
|
|
91
91
|
data: data,
|
|
92
92
|
getHexagon: function getHexagon(d) {
|
|
93
93
|
return d.id;
|