@deck.gl/carto 8.9.7 → 8.9.8
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 +774 -114
- package/dist/es5/api/layer-map.js +9 -15
- package/dist/es5/api/layer-map.js.map +1 -1
- package/dist/es5/api/maps-api-common.js +2 -1
- package/dist/es5/api/maps-api-common.js.map +1 -1
- package/dist/es5/api/maps-v3-client.js +17 -6
- package/dist/es5/api/maps-v3-client.js.map +1 -1
- package/dist/es5/api/parseMap.js +1 -1
- package/dist/es5/api/parseMap.js.map +1 -1
- package/dist/es5/index.js +8 -0
- package/dist/es5/index.js.map +1 -1
- package/dist/es5/layers/carto-layer.js +1 -1
- package/dist/es5/layers/carto-layer.js.map +1 -1
- package/dist/es5/layers/h3-tile-layer.js +2 -1
- package/dist/es5/layers/h3-tile-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-tile-layer.js +2 -1
- package/dist/es5/layers/quadbin-tile-layer.js.map +1 -1
- package/dist/es5/layers/quadbin-utils.js +14 -4
- package/dist/es5/layers/quadbin-utils.js.map +1 -1
- package/dist/es5/layers/raster-layer-vertex.glsl.js +9 -0
- package/dist/es5/layers/raster-layer-vertex.glsl.js.map +1 -0
- package/dist/es5/layers/raster-layer.js +176 -0
- package/dist/es5/layers/raster-layer.js.map +1 -0
- package/dist/es5/layers/raster-tile-layer.js +114 -0
- package/dist/es5/layers/raster-tile-layer.js.map +1 -0
- package/dist/es5/layers/schema/carto-raster-tile-loader.js +80 -0
- package/dist/es5/layers/schema/carto-raster-tile-loader.js.map +1 -0
- package/dist/es5/layers/schema/carto-raster-tile.js +87 -0
- package/dist/es5/layers/schema/carto-raster-tile.js.map +1 -0
- package/dist/es5/layers/schema/carto-spatial-tile.js +1 -1
- package/dist/es5/layers/schema/carto-spatial-tile.js.map +1 -1
- package/dist/es5/layers/schema/carto-tile.js +2 -2
- package/dist/es5/layers/schema/carto-tile.js.map +1 -1
- package/dist/es5/layers/schema/fast-pbf.js +3 -11
- package/dist/es5/layers/schema/fast-pbf.js.map +1 -1
- package/dist/es5/layers/spatial-index-tile-layer.js +3 -41
- package/dist/es5/layers/spatial-index-tile-layer.js.map +1 -1
- package/dist/es5/utils.js +18 -0
- package/dist/es5/utils.js.map +1 -1
- package/dist/esm/api/layer-map.js +9 -21
- package/dist/esm/api/layer-map.js.map +1 -1
- package/dist/esm/api/maps-api-common.js +2 -1
- package/dist/esm/api/maps-api-common.js.map +1 -1
- package/dist/esm/api/maps-v3-client.js +9 -1
- package/dist/esm/api/maps-v3-client.js.map +1 -1
- package/dist/esm/api/parseMap.js +1 -1
- package/dist/esm/api/parseMap.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layers/carto-layer.js +1 -1
- package/dist/esm/layers/carto-layer.js.map +1 -1
- package/dist/esm/layers/h3-tile-layer.js +2 -1
- package/dist/esm/layers/h3-tile-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-tile-layer.js +2 -1
- package/dist/esm/layers/quadbin-tile-layer.js.map +1 -1
- package/dist/esm/layers/quadbin-utils.js +7 -4
- package/dist/esm/layers/quadbin-utils.js.map +1 -1
- package/dist/esm/layers/raster-layer-vertex.glsl.js +2 -0
- package/dist/esm/layers/raster-layer-vertex.glsl.js.map +1 -0
- package/dist/esm/layers/raster-layer.js +111 -0
- package/dist/esm/layers/raster-layer.js.map +1 -0
- package/dist/esm/layers/raster-tile-layer.js +67 -0
- package/dist/esm/layers/raster-tile-layer.js.map +1 -0
- package/dist/esm/layers/schema/carto-raster-tile-loader.js +46 -0
- package/dist/esm/layers/schema/carto-raster-tile-loader.js.map +1 -0
- package/dist/esm/layers/schema/carto-raster-tile.js +51 -0
- package/dist/esm/layers/schema/carto-raster-tile.js.map +1 -0
- package/dist/esm/layers/schema/carto-spatial-tile.js +2 -2
- package/dist/esm/layers/schema/carto-spatial-tile.js.map +1 -1
- package/dist/esm/layers/schema/carto-tile.js +3 -3
- package/dist/esm/layers/schema/carto-tile.js.map +1 -1
- package/dist/esm/layers/schema/fast-pbf.js +2 -8
- package/dist/esm/layers/schema/fast-pbf.js.map +1 -1
- package/dist/esm/layers/spatial-index-tile-layer.js +3 -41
- package/dist/esm/layers/spatial-index-tile-layer.js.map +1 -1
- package/dist/esm/utils.js +20 -0
- package/dist/esm/utils.js.map +1 -1
- package/dist.min.js +100 -23
- package/package.json +3 -3
- package/src/api/layer-map.ts +12 -19
- package/src/api/maps-api-common.ts +2 -1
- package/src/api/maps-v3-client.ts +6 -1
- package/src/api/parseMap.ts +1 -1
- package/src/index.ts +1 -0
- package/src/layers/carto-layer.ts +1 -1
- package/src/layers/h3-tile-layer.ts +2 -3
- package/src/layers/quadbin-tile-layer.ts +2 -3
- package/src/layers/quadbin-utils.ts +9 -5
- package/src/layers/raster-layer-vertex.glsl.ts +98 -0
- package/src/layers/raster-layer.ts +146 -0
- package/src/layers/raster-tile-layer.ts +63 -0
- package/src/layers/schema/carto-raster-tile-loader.ts +42 -0
- package/src/layers/schema/carto-raster-tile.ts +46 -0
- package/src/layers/schema/carto-spatial-tile.ts +2 -2
- package/src/layers/schema/carto-tile.ts +3 -3
- package/src/layers/schema/fast-pbf.ts +3 -9
- package/src/layers/spatial-index-tile-layer.ts +3 -38
- package/src/utils.ts +22 -0
- package/typed/api/layer-map.d.ts +2 -1
- package/typed/api/layer-map.d.ts.map +1 -1
- package/typed/api/maps-api-common.d.ts +1 -0
- package/typed/api/maps-api-common.d.ts.map +1 -1
- package/typed/api/maps-v3-client.d.ts.map +1 -1
- package/typed/index.d.ts +1 -0
- package/typed/index.d.ts.map +1 -1
- package/typed/layers/h3-tile-layer.d.ts.map +1 -1
- package/typed/layers/quadbin-tile-layer.d.ts.map +1 -1
- package/typed/layers/quadbin-utils.d.ts +1 -0
- package/typed/layers/quadbin-utils.d.ts.map +1 -1
- package/typed/layers/raster-layer-vertex.glsl.d.ts +3 -0
- package/typed/layers/raster-layer-vertex.glsl.d.ts.map +1 -0
- package/typed/layers/raster-layer.d.ts +19 -0
- package/typed/layers/raster-layer.d.ts.map +1 -0
- package/typed/layers/raster-tile-layer.d.ts +24 -0
- package/typed/layers/raster-tile-layer.d.ts.map +1 -0
- package/typed/layers/schema/carto-raster-tile-loader.d.ts +13 -0
- package/typed/layers/schema/carto-raster-tile-loader.d.ts.map +1 -0
- package/typed/layers/schema/carto-raster-tile.d.ts +9 -0
- package/typed/layers/schema/carto-raster-tile.d.ts.map +1 -0
- package/typed/layers/schema/carto-spa-tile.d.ts +57 -0
- package/typed/layers/schema/carto-spa-tile.d.ts.map +1 -0
- package/typed/layers/schema/fast-pbf.d.ts +1 -2
- package/typed/layers/schema/fast-pbf.d.ts.map +1 -1
- package/typed/layers/spatial-index-tile-layer.d.ts +1 -2
- package/typed/layers/spatial-index-tile-layer.d.ts.map +1 -1
- package/typed/utils.d.ts +5 -0
- package/typed/utils.d.ts.map +1 -1
- package/typed/api/index.js +0 -3
- package/typed/api/layer-map.js +0 -264
- package/typed/api/maps-api-common.js +0 -50
- package/typed/api/maps-client.js +0 -125
- package/typed/api/maps-v3-client.js +0 -304
- package/typed/api/parseMap.js +0 -178
- package/typed/basemap.js +0 -9
- package/typed/config.js +0 -35
- package/typed/index.js +0 -10
- package/typed/layers/carto-layer.js +0 -173
- package/typed/layers/carto-tile-layer.js +0 -105
- package/typed/layers/h3-tile-layer.js +0 -47
- package/typed/layers/h3-tileset-2d.js +0 -85
- package/typed/layers/quadkey-tile-layer.js +0 -42
- package/typed/layers/quadkey-tileset-2d.js +0 -36
- package/typed/layers/schema/carto-tile.js +0 -161
- package/typed/layers/spatial-index-tile-layer.js +0 -40
- package/typed/style/color-bins-style.js +0 -12
- package/typed/style/color-categories-style.js +0 -16
- package/typed/style/color-continuous-style.js +0 -12
- package/typed/style/palette.js +0 -62
- package/typed/style/utils.js +0 -15
- package/typed/utils.js +0 -4
|
@@ -0,0 +1,114 @@
|
|
|
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 = exports.renderSubLayers = 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 _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
+
|
|
24
|
+
var _core = require("@deck.gl/core");
|
|
25
|
+
|
|
26
|
+
var _rasterLayer = _interopRequireDefault(require("./raster-layer"));
|
|
27
|
+
|
|
28
|
+
var _quadbinTileset2d = _interopRequireDefault(require("./quadbin-tileset-2d"));
|
|
29
|
+
|
|
30
|
+
var _spatialIndexTileLayer = _interopRequireDefault(require("./spatial-index-tile-layer"));
|
|
31
|
+
|
|
32
|
+
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); }; }
|
|
33
|
+
|
|
34
|
+
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; } }
|
|
35
|
+
|
|
36
|
+
var renderSubLayers = function renderSubLayers(props) {
|
|
37
|
+
var _props$tile, _props$tile$index;
|
|
38
|
+
|
|
39
|
+
var tileIndex = (_props$tile = props.tile) === null || _props$tile === void 0 ? void 0 : (_props$tile$index = _props$tile.index) === null || _props$tile$index === void 0 ? void 0 : _props$tile$index.q;
|
|
40
|
+
if (!tileIndex) return null;
|
|
41
|
+
return new _rasterLayer.default(props, {
|
|
42
|
+
tileIndex: tileIndex
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
exports.renderSubLayers = renderSubLayers;
|
|
47
|
+
|
|
48
|
+
var RasterTileLayer = function (_CompositeLayer) {
|
|
49
|
+
(0, _inherits2.default)(RasterTileLayer, _CompositeLayer);
|
|
50
|
+
|
|
51
|
+
var _super = _createSuper(RasterTileLayer);
|
|
52
|
+
|
|
53
|
+
function RasterTileLayer() {
|
|
54
|
+
var _this;
|
|
55
|
+
|
|
56
|
+
(0, _classCallCheck2.default)(this, RasterTileLayer);
|
|
57
|
+
|
|
58
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
59
|
+
args[_key] = arguments[_key];
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
63
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", void 0);
|
|
64
|
+
return _this;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
(0, _createClass2.default)(RasterTileLayer, [{
|
|
68
|
+
key: "initializeState",
|
|
69
|
+
value: function initializeState() {
|
|
70
|
+
this.setState({
|
|
71
|
+
data: null,
|
|
72
|
+
tileJSON: null
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}, {
|
|
76
|
+
key: "updateState",
|
|
77
|
+
value: function updateState(_ref) {
|
|
78
|
+
var changeFlags = _ref.changeFlags;
|
|
79
|
+
|
|
80
|
+
if (changeFlags.dataChanged) {
|
|
81
|
+
var data = this.props.data;
|
|
82
|
+
var tileJSON = data;
|
|
83
|
+
data = tileJSON.tiles;
|
|
84
|
+
this.setState({
|
|
85
|
+
data: data,
|
|
86
|
+
tileJSON: tileJSON
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}, {
|
|
91
|
+
key: "renderLayers",
|
|
92
|
+
value: function renderLayers() {
|
|
93
|
+
var _this$state = this.state,
|
|
94
|
+
data = _this$state.data,
|
|
95
|
+
tileJSON = _this$state.tileJSON;
|
|
96
|
+
var minZoom = parseInt(tileJSON === null || tileJSON === void 0 ? void 0 : tileJSON.minzoom);
|
|
97
|
+
var maxZoom = parseInt(tileJSON === null || tileJSON === void 0 ? void 0 : tileJSON.maxzoom);
|
|
98
|
+
return [new _spatialIndexTileLayer.default(this.props, {
|
|
99
|
+
id: "raster-tile-layer-".concat(this.props.id),
|
|
100
|
+
data: data,
|
|
101
|
+
TilesetClass: _quadbinTileset2d.default,
|
|
102
|
+
renderSubLayers: renderSubLayers,
|
|
103
|
+
minZoom: minZoom,
|
|
104
|
+
maxZoom: maxZoom
|
|
105
|
+
})];
|
|
106
|
+
}
|
|
107
|
+
}]);
|
|
108
|
+
return RasterTileLayer;
|
|
109
|
+
}(_core.CompositeLayer);
|
|
110
|
+
|
|
111
|
+
exports.default = RasterTileLayer;
|
|
112
|
+
(0, _defineProperty2.default)(RasterTileLayer, "layerName", 'RasterTileLayer');
|
|
113
|
+
(0, _defineProperty2.default)(RasterTileLayer, "defaultProps", {});
|
|
114
|
+
//# sourceMappingURL=raster-tile-layer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/raster-tile-layer.ts"],"names":["renderSubLayers","props","tileIndex","tile","index","q","RasterLayer","RasterTileLayer","setState","data","tileJSON","changeFlags","dataChanged","tiles","state","minZoom","parseInt","minzoom","maxZoom","maxzoom","SpatialIndexTileLayer","id","TilesetClass","QuadbinTileset2D","CompositeLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAOA;;AACA;;AACA;;;;;;AAEO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,KAAK,EAAI;AAAA;;AACtC,MAAMC,SAAS,kBAAGD,KAAK,CAACE,IAAT,qEAAG,YAAYC,KAAf,sDAAG,kBAAmBC,CAArC;AACA,MAAI,CAACH,SAAL,EAAgB,OAAO,IAAP;AAChB,SAAO,IAAII,oBAAJ,CAAgBL,KAAhB,EAAuB;AAACC,IAAAA,SAAS,EAATA;AAAD,GAAvB,CAAP;AACD,CAJM;;;;IAccK,e;;;;;;;;;;;;;;;;;;;;;WAQnB,2BAAwB;AACtB,WAAKC,QAAL,CAAc;AAACC,QAAAA,IAAI,EAAE,IAAP;AAAaC,QAAAA,QAAQ,EAAE;AAAvB,OAAd;AACD;;;WAED,2BAAyD;AAAA,UAA5CC,WAA4C,QAA5CA,WAA4C;;AACvD,UAAIA,WAAW,CAACC,WAAhB,EAA6B;AAC3B,YAAKH,IAAL,GAAa,KAAKR,KAAlB,CAAKQ,IAAL;AACA,YAAMC,QAAQ,GAAGD,IAAjB;AACAA,QAAAA,IAAI,GAAIC,QAAD,CAAkBG,KAAzB;AACA,aAAKL,QAAL,CAAc;AAACC,UAAAA,IAAI,EAAJA,IAAD;AAAOC,UAAAA,QAAQ,EAARA;AAAP,SAAd;AACD;AACF;;;WAED,wBAA0C;AACxC,wBAAyB,KAAKI,KAA9B;AAAA,UAAOL,IAAP,eAAOA,IAAP;AAAA,UAAaC,QAAb,eAAaA,QAAb;AACA,UAAMK,OAAO,GAAGC,QAAQ,CAACN,QAAD,aAACA,QAAD,uBAACA,QAAQ,CAAEO,OAAX,CAAxB;AACA,UAAMC,OAAO,GAAGF,QAAQ,CAACN,QAAD,aAACA,QAAD,uBAACA,QAAQ,CAAES,OAAX,CAAxB;AACA,aAAO,CACL,IAAIC,8BAAJ,CAA0B,KAAKnB,KAA/B,EAAsC;AACpCoB,QAAAA,EAAE,8BAAuB,KAAKpB,KAAL,CAAWoB,EAAlC,CADkC;AAEpCZ,QAAAA,IAAI,EAAJA,IAFoC;AAIpCa,QAAAA,YAAY,EAAEC,yBAJsB;AAKpCvB,QAAAA,eAAe,EAAfA,eALoC;AAMpCe,QAAAA,OAAO,EAAPA,OANoC;AAOpCG,QAAAA,OAAO,EAAPA;AAPoC,OAAtC,CADK,CAAP;AAWD;;;EAjCOM,oB;;;8BAHWjB,e,eAIA,iB;8BAJAA,e,kBAKG,E","sourcesContent":["import {\n CompositeLayer,\n CompositeLayerProps,\n Layer,\n LayersList,\n UpdateParameters\n} from '@deck.gl/core';\nimport RasterLayer, {RasterLayerProps} from './raster-layer';\nimport QuadbinTileset2D from './quadbin-tileset-2d';\nimport SpatialIndexTileLayer from './spatial-index-tile-layer';\n\nexport const renderSubLayers = props => {\n const tileIndex = props.tile?.index?.q;\n if (!tileIndex) return null;\n return new RasterLayer(props, {tileIndex});\n};\n\n/** All properties supported by RasterTileLayer. */\nexport type RasterTileLayerProps<DataT = any> = _RasterTileLayerProps<DataT> & CompositeLayerProps;\n\n/** Properties added by RasterTileLayer. */\ntype _RasterTileLayerProps<DataT> = RasterLayerProps<DataT> & {\n data: string;\n};\n\nexport default class RasterTileLayer<\n DataT = any,\n ExtraProps extends {} = {}\n> extends CompositeLayer<ExtraProps & Required<_RasterTileLayerProps<DataT>>> {\n static layerName = 'RasterTileLayer';\n static defaultProps = {};\n\n state!: {tileJSON: any; data: any};\n initializeState(): void {\n this.setState({data: null, tileJSON: null});\n }\n\n updateState({changeFlags}: UpdateParameters<this>): void {\n if (changeFlags.dataChanged) {\n let {data} = this.props;\n const tileJSON = data;\n data = (tileJSON as any).tiles;\n this.setState({data, tileJSON});\n }\n }\n\n renderLayers(): Layer | null | LayersList {\n const {data, tileJSON} = this.state;\n const minZoom = parseInt(tileJSON?.minzoom);\n const maxZoom = parseInt(tileJSON?.maxzoom);\n return [\n new SpatialIndexTileLayer(this.props, {\n id: `raster-tile-layer-${this.props.id}`,\n data,\n // TODO: Tileset2D should be generic over TileIndex type\n TilesetClass: QuadbinTileset2D as any,\n renderSubLayers,\n minZoom,\n maxZoom\n })\n ];\n }\n}\n"],"file":"raster-tile-layer.js"}
|
|
@@ -0,0 +1,80 @@
|
|
|
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 _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _cartoRasterTile = require("./carto-raster-tile");
|
|
15
|
+
|
|
16
|
+
var _tileLoaderUtils = require("./tile-loader-utils");
|
|
17
|
+
|
|
18
|
+
var CartoRasterTileLoader = {
|
|
19
|
+
name: 'CARTO Raster Tile',
|
|
20
|
+
version: '1',
|
|
21
|
+
id: 'cartoRasterTile',
|
|
22
|
+
module: 'carto',
|
|
23
|
+
extensions: ['pbf'],
|
|
24
|
+
mimeTypes: ['application/vnd.carto-raster-tile'],
|
|
25
|
+
category: 'geometry',
|
|
26
|
+
worker: false,
|
|
27
|
+
parse: function () {
|
|
28
|
+
var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
|
|
29
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
30
|
+
while (1) {
|
|
31
|
+
switch (_context.prev = _context.next) {
|
|
32
|
+
case 0:
|
|
33
|
+
return _context.abrupt("return", parseCartoRasterTile(arrayBuffer, options));
|
|
34
|
+
|
|
35
|
+
case 1:
|
|
36
|
+
case "end":
|
|
37
|
+
return _context.stop();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}, _callee);
|
|
41
|
+
}));
|
|
42
|
+
|
|
43
|
+
function parse(_x, _x2) {
|
|
44
|
+
return _parse.apply(this, arguments);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return parse;
|
|
48
|
+
}(),
|
|
49
|
+
parseSync: parseCartoRasterTile,
|
|
50
|
+
options: {}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
function parseCartoRasterTile(arrayBuffer, options) {
|
|
54
|
+
if (!arrayBuffer) return null;
|
|
55
|
+
var tile = (0, _tileLoaderUtils.parsePbf)(arrayBuffer, _cartoRasterTile.TileReader);
|
|
56
|
+
var bands = tile.bands,
|
|
57
|
+
blockHeight = tile.blockHeight,
|
|
58
|
+
blockWidth = tile.blockWidth;
|
|
59
|
+
var numericProps = {};
|
|
60
|
+
|
|
61
|
+
for (var i = 0; i < bands.length; i++) {
|
|
62
|
+
var _bands$i = bands[i],
|
|
63
|
+
name = _bands$i.name,
|
|
64
|
+
data = _bands$i.data;
|
|
65
|
+
numericProps[name] = data;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return {
|
|
69
|
+
blockWidth: blockWidth,
|
|
70
|
+
blockHeight: blockHeight,
|
|
71
|
+
cells: {
|
|
72
|
+
numericProps: numericProps,
|
|
73
|
+
properties: []
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
var _default = CartoRasterTileLoader;
|
|
79
|
+
exports.default = _default;
|
|
80
|
+
//# sourceMappingURL=carto-raster-tile-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/carto-raster-tile-loader.ts"],"names":["CartoRasterTileLoader","name","version","id","module","extensions","mimeTypes","category","worker","parse","arrayBuffer","options","parseCartoRasterTile","parseSync","tile","TileReader","bands","blockHeight","blockWidth","numericProps","i","length","data","cells","properties"],"mappings":";;;;;;;;;;;;;AAEA;;AACA;;AAGA,IAAMA,qBAAuC,GAAG;AAC9CC,EAAAA,IAAI,EAAE,mBADwC;AAE9CC,EAAAA,OAAO,EAAE,GAFqC;AAG9CC,EAAAA,EAAE,EAAE,iBAH0C;AAI9CC,EAAAA,MAAM,EAAE,OAJsC;AAK9CC,EAAAA,UAAU,EAAE,CAAC,KAAD,CALkC;AAM9CC,EAAAA,SAAS,EAAE,CAAC,mCAAD,CANmC;AAO9CC,EAAAA,QAAQ,EAAE,UAPoC;AAQ9CC,EAAAA,MAAM,EAAE,KARsC;AAS9CC,EAAAA,KAAK;AAAA,2EAAE,iBAAOC,WAAP,EAAoBC,OAApB;AAAA;AAAA;AAAA;AAAA;AAAA,+CAAgCC,oBAAoB,CAACF,WAAD,EAAcC,OAAd,CAApD;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAF;;AAAA;AAAA;AAAA;;AAAA;AAAA,KATyC;AAU9CE,EAAAA,SAAS,EAAED,oBAVmC;AAW9CD,EAAAA,OAAO,EAAE;AAXqC,CAAhD;;AAuBA,SAASC,oBAAT,CAA8BF,WAA9B,EAAwDC,OAAxD,EAAgG;AAC9F,MAAI,CAACD,WAAL,EAAkB,OAAO,IAAP;AAClB,MAAMI,IAAI,GAAG,+BAASJ,WAAT,EAAsBK,2BAAtB,CAAb;AACA,MAAOC,KAAP,GAAyCF,IAAzC,CAAOE,KAAP;AAAA,MAAcC,WAAd,GAAyCH,IAAzC,CAAcG,WAAd;AAAA,MAA2BC,UAA3B,GAAyCJ,IAAzC,CAA2BI,UAA3B;AACA,MAAMC,YAAY,GAAG,EAArB;;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,KAAK,CAACK,MAA1B,EAAkCD,CAAC,EAAnC,EAAuC;AACrC,mBAAqBJ,KAAK,CAACI,CAAD,CAA1B;AAAA,QAAOnB,IAAP,YAAOA,IAAP;AAAA,QAAaqB,IAAb,YAAaA,IAAb;AACAH,IAAAA,YAAY,CAAClB,IAAD,CAAZ,GAAqBqB,IAArB;AACD;;AACD,SAAO;AAACJ,IAAAA,UAAU,EAAVA,UAAD;AAAaD,IAAAA,WAAW,EAAXA,WAAb;AAA0BM,IAAAA,KAAK,EAAE;AAACJ,MAAAA,YAAY,EAAZA,YAAD;AAAeK,MAAAA,UAAU,EAAE;AAA3B;AAAjC,GAAP;AACD;;eAEcxB,qB","sourcesContent":["import {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';\n\nimport {TileReader} from './carto-raster-tile';\nimport {parsePbf} from './tile-loader-utils';\nimport {NumericProps, Properties} from './spatialjson-utils';\n\nconst CartoRasterTileLoader: LoaderWithParser = {\n name: 'CARTO Raster Tile',\n version: '1',\n id: 'cartoRasterTile',\n module: 'carto',\n extensions: ['pbf'],\n mimeTypes: ['application/vnd.carto-raster-tile'],\n category: 'geometry',\n worker: false,\n parse: async (arrayBuffer, options) => parseCartoRasterTile(arrayBuffer, options),\n parseSync: parseCartoRasterTile,\n options: {}\n};\n\nexport type Raster = {\n blockWidth: number;\n blockHeight: number;\n cells: {\n numericProps: NumericProps;\n properties: Properties[];\n };\n};\n\nfunction parseCartoRasterTile(arrayBuffer: ArrayBuffer, options?: LoaderOptions): Raster | null {\n if (!arrayBuffer) return null;\n const tile = parsePbf(arrayBuffer, TileReader);\n const {bands, blockHeight, blockWidth} = tile;\n const numericProps = {};\n for (let i = 0; i < bands.length; i++) {\n const {name, data} = bands[i];\n numericProps[name] = data;\n }\n return {blockWidth, blockHeight, cells: {numericProps, properties: []}};\n}\n\nexport default CartoRasterTileLoader;\n"],"file":"carto-raster-tile-loader.js"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.TileReader = exports.BandReader = 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 _fastPbf = require("./fast-pbf");
|
|
15
|
+
|
|
16
|
+
var ARRAY_TYPES = {
|
|
17
|
+
uint8: Uint8Array,
|
|
18
|
+
uint16: Uint16Array,
|
|
19
|
+
uint32: Uint32Array,
|
|
20
|
+
uint64: BigUint64Array,
|
|
21
|
+
int8: Int8Array,
|
|
22
|
+
int16: Int16Array,
|
|
23
|
+
int32: Int32Array,
|
|
24
|
+
int64: BigInt64Array,
|
|
25
|
+
float32: Float32Array,
|
|
26
|
+
float64: Float64Array
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
var BandReader = function () {
|
|
30
|
+
function BandReader() {
|
|
31
|
+
(0, _classCallCheck2.default)(this, BandReader);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
(0, _createClass2.default)(BandReader, null, [{
|
|
35
|
+
key: "read",
|
|
36
|
+
value: function read(pbf, end) {
|
|
37
|
+
return pbf.readFields(BandReader._readField, {
|
|
38
|
+
name: '',
|
|
39
|
+
type: '',
|
|
40
|
+
data: null
|
|
41
|
+
}, end);
|
|
42
|
+
}
|
|
43
|
+
}, {
|
|
44
|
+
key: "_readField",
|
|
45
|
+
value: function _readField(tag, obj, pbf) {
|
|
46
|
+
if (tag === 1) obj.name = pbf.readString();else if (tag === 2) obj.type = pbf.readString();else if (tag === 3) {
|
|
47
|
+
var TypedArray = ARRAY_TYPES[obj.type];
|
|
48
|
+
|
|
49
|
+
if (!TypedArray) {
|
|
50
|
+
throw Error("Invalid data type: ".concat(obj.type));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
obj.data = {};
|
|
54
|
+
(0, _fastPbf.readPackedTypedArray)(TypedArray, pbf, obj.data);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}]);
|
|
58
|
+
return BandReader;
|
|
59
|
+
}();
|
|
60
|
+
|
|
61
|
+
exports.BandReader = BandReader;
|
|
62
|
+
|
|
63
|
+
var TileReader = function () {
|
|
64
|
+
function TileReader() {
|
|
65
|
+
(0, _classCallCheck2.default)(this, TileReader);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
(0, _createClass2.default)(TileReader, null, [{
|
|
69
|
+
key: "read",
|
|
70
|
+
value: function read(pbf, end) {
|
|
71
|
+
return pbf.readFields(TileReader._readField, {
|
|
72
|
+
blockWidth: 0,
|
|
73
|
+
blockHeight: 0,
|
|
74
|
+
bands: []
|
|
75
|
+
}, end);
|
|
76
|
+
}
|
|
77
|
+
}, {
|
|
78
|
+
key: "_readField",
|
|
79
|
+
value: function _readField(tag, obj, pbf) {
|
|
80
|
+
if (tag === 1) obj.blockWidth = pbf.readVarint();else if (tag === 2) obj.blockHeight = pbf.readVarint();else if (tag === 3) obj.bands.push(BandReader.read(pbf, pbf.readVarint() + pbf.pos));
|
|
81
|
+
}
|
|
82
|
+
}]);
|
|
83
|
+
return TileReader;
|
|
84
|
+
}();
|
|
85
|
+
|
|
86
|
+
exports.TileReader = TileReader;
|
|
87
|
+
//# sourceMappingURL=carto-raster-tile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/carto-raster-tile.ts"],"names":["ARRAY_TYPES","uint8","Uint8Array","uint16","Uint16Array","uint32","Uint32Array","uint64","BigUint64Array","int8","Int8Array","int16","Int16Array","int32","Int32Array","int64","BigInt64Array","float32","Float32Array","float64","Float64Array","BandReader","pbf","end","readFields","_readField","name","type","data","tag","obj","readString","TypedArray","Error","TileReader","blockWidth","blockHeight","bands","readVarint","push","read","pos"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA,IAAMA,WAAW,GAAG;AAClBC,EAAAA,KAAK,EAAEC,UADW;AAElBC,EAAAA,MAAM,EAAEC,WAFU;AAGlBC,EAAAA,MAAM,EAAEC,WAHU;AAIlBC,EAAAA,MAAM,EAAEC,cAJU;AAKlBC,EAAAA,IAAI,EAAEC,SALY;AAMlBC,EAAAA,KAAK,EAAEC,UANW;AAOlBC,EAAAA,KAAK,EAAEC,UAPW;AAQlBC,EAAAA,KAAK,EAAEC,aARW;AASlBC,EAAAA,OAAO,EAAEC,YATS;AAUlBC,EAAAA,OAAO,EAAEC;AAVS,CAApB;;IAeaC,U;;;;;;;WACX,cAAYC,GAAZ,EAAiBC,GAAjB,EAA+B;AAC7B,aAAOD,GAAG,CAACE,UAAJ,CAAeH,UAAU,CAACI,UAA1B,EAAsC;AAACC,QAAAA,IAAI,EAAE,EAAP;AAAWC,QAAAA,IAAI,EAAE,EAAjB;AAAqBC,QAAAA,IAAI,EAAE;AAA3B,OAAtC,EAAwEL,GAAxE,CAAP;AACD;;;WAED,oBAA8BM,GAA9B,EAAmCC,GAAnC,EAAwCR,GAAxC,EAA6C;AAC3C,UAAIO,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACJ,IAAJ,GAAWJ,GAAG,CAACS,UAAJ,EAAX,CAAf,KACK,IAAIF,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACH,IAAJ,GAAWL,GAAG,CAACS,UAAJ,EAAX,CAAf,KACA,IAAIF,GAAG,KAAK,CAAZ,EAAe;AAClB,YAAMG,UAAU,GAAGhC,WAAW,CAAC8B,GAAG,CAACH,IAAL,CAA9B;;AACA,YAAI,CAACK,UAAL,EAAiB;AACf,gBAAMC,KAAK,8BAAuBH,GAAG,CAACH,IAA3B,EAAX;AACD;;AACDG,QAAAA,GAAG,CAACF,IAAJ,GAAW,EAAX;AACA,2CAAqBI,UAArB,EAAiCV,GAAjC,EAAsCQ,GAAG,CAACF,IAA1C;AACD;AACF;;;;;;;IAGUM,U;;;;;;;WACX,cAAYZ,GAAZ,EAAiBC,GAAjB,EAAsB;AACpB,aAAOD,GAAG,CAACE,UAAJ,CAAeU,UAAU,CAACT,UAA1B,EAAsC;AAACU,QAAAA,UAAU,EAAE,CAAb;AAAgBC,QAAAA,WAAW,EAAE,CAA7B;AAAgCC,QAAAA,KAAK,EAAE;AAAvC,OAAtC,EAAkFd,GAAlF,CAAP;AACD;;;WACD,oBAA8BM,GAA9B,EAAmCC,GAAnC,EAAwCR,GAAxC,EAA6C;AAC3C,UAAIO,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACK,UAAJ,GAAiBb,GAAG,CAACgB,UAAJ,EAAjB,CAAf,KACK,IAAIT,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACM,WAAJ,GAAkBd,GAAG,CAACgB,UAAJ,EAAlB,CAAf,KACA,IAAIT,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACO,KAAJ,CAAUE,IAAV,CAAelB,UAAU,CAACmB,IAAX,CAAgBlB,GAAhB,EAAqBA,GAAG,CAACgB,UAAJ,KAAmBhB,GAAG,CAACmB,GAA5C,CAAf;AACrB","sourcesContent":["import {readPackedTypedArray} from './fast-pbf';\n\nconst ARRAY_TYPES = {\n uint8: Uint8Array,\n uint16: Uint16Array,\n uint32: Uint32Array,\n uint64: BigUint64Array,\n int8: Int8Array,\n int16: Int16Array,\n int32: Int32Array,\n int64: BigInt64Array,\n float32: Float32Array,\n float64: Float64Array\n};\n\n// Band ========================================\n\nexport class BandReader {\n static read(pbf, end?: number) {\n return pbf.readFields(BandReader._readField, {name: '', type: '', data: null}, end);\n }\n\n static _readField(this: void, tag, obj, pbf) {\n if (tag === 1) obj.name = pbf.readString();\n else if (tag === 2) obj.type = pbf.readString();\n else if (tag === 3) {\n const TypedArray = ARRAY_TYPES[obj.type];\n if (!TypedArray) {\n throw Error(`Invalid data type: ${obj.type}`);\n }\n obj.data = {};\n readPackedTypedArray(TypedArray, pbf, obj.data);\n }\n }\n}\n\nexport class TileReader {\n static read(pbf, end) {\n return pbf.readFields(TileReader._readField, {blockWidth: 0, blockHeight: 0, bands: []}, end);\n }\n static _readField(this: void, tag, obj, pbf) {\n if (tag === 1) obj.blockWidth = pbf.readVarint();\n else if (tag === 2) obj.blockHeight = pbf.readVarint();\n else if (tag === 3) obj.bands.push(BandReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n"],"file":"carto-raster-tile.js"}
|
|
@@ -30,7 +30,7 @@ var IndicesReader = function () {
|
|
|
30
30
|
}, {
|
|
31
31
|
key: "_readField",
|
|
32
32
|
value: function _readField(tag, obj, pbf) {
|
|
33
|
-
if (tag === 1) (0, _fastPbf.
|
|
33
|
+
if (tag === 1) (0, _fastPbf.readPackedTypedArray)(BigUint64Array, pbf, obj);
|
|
34
34
|
}
|
|
35
35
|
}]);
|
|
36
36
|
return IndicesReader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/layers/schema/carto-spatial-tile.ts"],"names":["IndicesReader","pbf","end","readFields","_readField","value","tag","obj","CellsReader","indices","properties","numericProps","read","readVarint","pos","push","PropertiesReader","entry","NumericPropKeyValueReader","key","TileReader","scheme","cells"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;IAIaA,a;;;;;;;WACX,cAAYC,GAAZ,EAAiBC,GAAjB,EAAwC;AACtC,aAAOD,GAAG,CAACE,UAAJ,CAAeH,aAAa,CAACI,UAA7B,EAAyC;AAACC,QAAAA,KAAK,EAAE;AAAR,OAAzC,EAAsDH,GAAtD,CAAP;AACD;;;WACD,oBAA8BI,GAA9B,EAA2CC,GAA3C,EAAgDN,GAAhD,EAAqD;AACnD,UAAIK,GAAG,KAAK,CAAZ,EAAe,
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/carto-spatial-tile.ts"],"names":["IndicesReader","pbf","end","readFields","_readField","value","tag","obj","BigUint64Array","CellsReader","indices","properties","numericProps","read","readVarint","pos","push","PropertiesReader","entry","NumericPropKeyValueReader","key","TileReader","scheme","cells"],"mappings":";;;;;;;;;;;;;AAAA;;AAEA;;IAIaA,a;;;;;;;WACX,cAAYC,GAAZ,EAAiBC,GAAjB,EAAwC;AACtC,aAAOD,GAAG,CAACE,UAAJ,CAAeH,aAAa,CAACI,UAA7B,EAAyC;AAACC,QAAAA,KAAK,EAAE;AAAR,OAAzC,EAAsDH,GAAtD,CAAP;AACD;;;WACD,oBAA8BI,GAA9B,EAA2CC,GAA3C,EAAgDN,GAAhD,EAAqD;AACnD,UAAIK,GAAG,KAAK,CAAZ,EAAe,mCAAqBE,cAArB,EAAqCP,GAArC,EAA0CM,GAA1C;AAChB;;;;;;;IAWGE,W;;;;;;;WACJ,cAAYR,GAAZ,EAAiBC,GAAjB,EAAsC;AACpC,aAAOD,GAAG,CAACE,UAAJ,CACLM,WAAW,CAACL,UADP,EAEL;AAACM,QAAAA,OAAO,EAAE,IAAV;AAAgBC,QAAAA,UAAU,EAAE,EAA5B;AAAgCC,QAAAA,YAAY,EAAE;AAA9C,OAFK,EAGLV,GAHK,CAAP;AAKD;;;WACD,oBAA8BI,GAA9B,EAA2CC,GAA3C,EAAuDN,GAAvD,EAA4D;AAC1D,UAAIK,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACG,OAAJ,GAAcV,aAAa,CAACa,IAAd,CAAmBZ,GAAnB,EAAwBA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA/C,CAAd,CAAf,KACK,IAAIT,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACI,UAAJ,CAAeK,IAAf,CAAoBC,4BAAiBJ,IAAjB,CAAsBZ,GAAtB,EAA2BA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAAlD,CAApB,EAAf,KACA,IAAIT,GAAG,KAAK,CAAZ,EAAe;AAClB,YAAMY,KAAK,GAAGC,qCAA0BN,IAA1B,CAA+BZ,GAA/B,EAAoCA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA3D,CAAd;;AACAR,QAAAA,GAAG,CAACK,YAAJ,CAAiBM,KAAK,CAACE,GAAvB,IAA8BF,KAAK,CAACb,KAApC;AACD;AACF;;;;;IAWUgB,U;;;;;;;WACX,cAAYpB,GAAZ,EAAiBC,GAAjB,EAAqC;AACnC,aAAOD,GAAG,CAACE,UAAJ,CAAekB,UAAU,CAACjB,UAA1B,EAAsC;AAACkB,QAAAA,MAAM,EAAE,CAAT;AAAYC,QAAAA,KAAK,EAAE;AAAnB,OAAtC,EAAgErB,GAAhE,CAAP;AACD;;;WACD,oBAA8BI,GAA9B,EAA2CC,GAA3C,EAAsDN,GAAtD,EAA2D;AACzD,UAAIK,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACe,MAAJ,GAAarB,GAAG,CAACa,UAAJ,EAAb,CAAf,KACK,IAAIR,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACgB,KAAJ,GAAYd,WAAW,CAACI,IAAZ,CAAiBZ,GAAjB,EAAsBA,GAAG,CAACa,UAAJ,KAAmBb,GAAG,CAACc,GAA7C,CAAZ;AACrB","sourcesContent":["import {readPackedTypedArray} from './fast-pbf';\nimport {Indices, IndexScheme} from './spatialjson-utils';\nimport {NumericProp, NumericPropKeyValueReader, PropertiesReader} from './carto-tile';\n\n// Indices =====================================\n\nexport class IndicesReader {\n static read(pbf, end?: number): Indices {\n return pbf.readFields(IndicesReader._readField, {value: []}, end);\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) readPackedTypedArray(BigUint64Array, pbf, obj);\n }\n}\n\n// Cells =========================================\n\ninterface Cells {\n indices: Indices;\n properties: Record<string, string>[];\n numericProps: Record<string, NumericProp>;\n}\n\nclass CellsReader {\n static read(pbf, end?: number): Cells {\n return pbf.readFields(\n CellsReader._readField,\n {indices: null, properties: [], numericProps: {}},\n end\n );\n }\n static _readField(this: void, tag: number, obj: Cells, pbf) {\n if (tag === 1) obj.indices = IndicesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 3) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n }\n }\n}\n\n// Tile ========================================\n\n// TODO this type is very similar to SpatialBinary, should align\nexport interface Tile {\n scheme: IndexScheme;\n cells: Cells;\n}\n\nexport class TileReader {\n static read(pbf, end?: number): Tile {\n return pbf.readFields(TileReader._readField, {scheme: 0, cells: null}, end);\n }\n static _readField(this: void, tag: number, obj: Tile, pbf) {\n if (tag === 1) obj.scheme = pbf.readVarint();\n else if (tag === 2) obj.cells = CellsReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n"],"file":"carto-spatial-tile.js"}
|
|
@@ -85,7 +85,7 @@ var DoublesReader = function () {
|
|
|
85
85
|
}, {
|
|
86
86
|
key: "_readField",
|
|
87
87
|
value: function _readField(tag, obj, pbf) {
|
|
88
|
-
if (tag === 1) (0, _fastPbf.
|
|
88
|
+
if (tag === 1) (0, _fastPbf.readPackedTypedArray)(Float64Array, pbf, obj);else if (tag === 2) obj.size = pbf.readVarint(true);
|
|
89
89
|
}
|
|
90
90
|
}]);
|
|
91
91
|
return DoublesReader;
|
|
@@ -156,7 +156,7 @@ var NumericPropReader = function () {
|
|
|
156
156
|
}, {
|
|
157
157
|
key: "_readField",
|
|
158
158
|
value: function _readField(tag, obj, pbf) {
|
|
159
|
-
if (tag === 1) (0, _fastPbf.
|
|
159
|
+
if (tag === 1) (0, _fastPbf.readPackedTypedArray)(Float64Array, pbf, obj);
|
|
160
160
|
}
|
|
161
161
|
}]);
|
|
162
162
|
return NumericPropReader;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/layers/schema/carto-tile.ts"],"names":["KeyValueObjectReader","pbf","end","readFields","_readField","key","value","tag","obj","readString","PropertiesReader","read","readVarint","pos","DoublesReader","size","Float32Array","IntsReader","Uint32Array","readPackedVarint","FieldsReader","id","NumericPropReader","NumericPropKeyValueReader","PointsReader","positions","globalFeatureIds","featureIds","properties","numericProps","fields","push","entry","LinesReader","pathIndices","PolygonsReader","polygonIndices","primitivePolygonIndices","triangles","TileReader","points","lines","polygons"],"mappings":"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","sourcesContent":["import {readPackedDouble} from './fast-pbf';\n\n// KeyValueObject ========================================\ninterface KeyValueObject {\n key: string;\n value: string;\n}\n\nclass KeyValueObjectReader {\n static read(pbf, end?: number): KeyValueObject {\n return pbf.readFields(KeyValueObjectReader._readField, {key: '', value: ''}, end);\n }\n static _readField(this: void, tag: number, obj: KeyValueObject, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = pbf.readString();\n }\n}\n\n// Properties ========================================\n\nexport class PropertiesReader {\n static read(pbf, end?: number) {\n return pbf.readFields(PropertiesReader._readField, {}, end);\n }\n static _readField(this: void, tag: number, obj: Record<string, string>, pbf) {\n if (tag === 1) {\n const {key, value} = KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj[key] = value;\n }\n }\n}\n\n// Doubles ========================================\n\ninterface Doubles {\n value: Float32Array;\n size: number;\n}\n\nclass DoublesReader {\n static read(pbf, end?: number): Doubles {\n const {value, size} = pbf.readFields(DoublesReader._readField, {value: [], size: 0}, end);\n return {value: new Float32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) readPackedDouble(pbf, obj);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Ints ========================================\n\ninterface Ints {\n value: Uint32Array;\n size: number;\n}\n\nclass IntsReader {\n static read(pbf, end?: number): Ints {\n const {value, size} = pbf.readFields(IntsReader._readField, {value: [], size: 0}, end);\n return {value: new Uint32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) pbf.readPackedVarint(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Fields ========================================\n\ninterface Fields {\n id: number;\n}\n\nclass FieldsReader {\n static read(pbf, end?: number): Fields {\n return pbf.readFields(FieldsReader._readField, {id: 0}, end);\n }\n static _readField(this: void, tag: number, obj: Fields, pbf) {\n if (tag === 1) obj.id = pbf.readVarint();\n }\n}\n\n// NumericProp ========================================\n\nexport interface NumericProp {\n value: number[];\n}\n\nclass NumericPropReader {\n static read(pbf, end?: number): NumericProp {\n return pbf.readFields(NumericPropReader._readField, {value: []}, end);\n }\n static _readField(this: void, tag: number, obj: NumericProp, pbf) {\n if (tag === 1) readPackedDouble(pbf, obj);\n }\n}\n\n// NumericPropKeyValue ========================================\ninterface NumbericPropKeyValue {\n key: string;\n value: NumericProp;\n}\n\nexport class NumericPropKeyValueReader {\n static read(pbf, end?: number): NumbericPropKeyValue {\n return pbf.readFields(NumericPropKeyValueReader._readField, {key: '', value: null}, end);\n }\n static _readField(this: void, tag: number, obj: NumbericPropKeyValue, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = NumericPropReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n\n// Points ========================================\n\ninterface Points {\n positions: Doubles;\n globalFeatureIds: Ints;\n featureIds: Ints;\n properties: Record<string, string>[];\n numericProps: Record<string, NumericProp>;\n fields: Fields[];\n}\n\nclass PointsReader {\n static read(pbf, end?: number): Points {\n return pbf.readFields(\n PointsReader._readField,\n {\n positions: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Points, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 5) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 6) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\ninterface Lines extends Points {\n pathIndices: Ints;\n}\n// Lines ========================================\n\nclass LinesReader {\n static read(pbf, end?: number): Lines {\n return pbf.readFields(\n LinesReader._readField,\n {\n positions: null,\n pathIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Lines, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.pathIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 6) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 7) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n// Polygons ========================================\n\ninterface Polygons extends Points {\n polygonIndices: Ints;\n primitivePolygonIndices: Ints;\n triangles: Ints;\n}\n\nclass PolygonsReader {\n static read(pbf, end?: number): Polygons {\n return pbf.readFields(\n PolygonsReader._readField,\n {\n positions: null,\n polygonIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n primitivePolygonIndices: null,\n triangles: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Polygons, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.polygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5)\n obj.primitivePolygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 6) obj.triangles = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 7) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 8) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 9) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\n// Tile ========================================\n\nexport interface Tile {\n points: Points;\n lines: Lines;\n polygons: Polygons;\n}\n\nexport class TileReader {\n static read(pbf, end?: number): Tile {\n return pbf.readFields(TileReader._readField, {points: null, lines: null, polygons: null}, end);\n }\n static _readField(this: void, tag: number, obj: Tile, pbf) {\n if (tag === 1) obj.points = PointsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.lines = LinesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.polygons = PolygonsReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n"],"file":"carto-tile.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/carto-tile.ts"],"names":["KeyValueObjectReader","pbf","end","readFields","_readField","key","value","tag","obj","readString","PropertiesReader","read","readVarint","pos","DoublesReader","size","Float32Array","Float64Array","IntsReader","Uint32Array","readPackedVarint","FieldsReader","id","NumericPropReader","NumericPropKeyValueReader","PointsReader","positions","globalFeatureIds","featureIds","properties","numericProps","fields","push","entry","LinesReader","pathIndices","PolygonsReader","polygonIndices","primitivePolygonIndices","triangles","TileReader","points","lines","polygons"],"mappings":"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","sourcesContent":["import {readPackedTypedArray} from './fast-pbf';\n\n// KeyValueObject ========================================\ninterface KeyValueObject {\n key: string;\n value: string;\n}\n\nclass KeyValueObjectReader {\n static read(pbf, end?: number): KeyValueObject {\n return pbf.readFields(KeyValueObjectReader._readField, {key: '', value: ''}, end);\n }\n static _readField(this: void, tag: number, obj: KeyValueObject, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = pbf.readString();\n }\n}\n\n// Properties ========================================\n\nexport class PropertiesReader {\n static read(pbf, end?: number) {\n return pbf.readFields(PropertiesReader._readField, {}, end);\n }\n static _readField(this: void, tag: number, obj: Record<string, string>, pbf) {\n if (tag === 1) {\n const {key, value} = KeyValueObjectReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj[key] = value;\n }\n }\n}\n\n// Doubles ========================================\n\ninterface Doubles {\n value: Float32Array;\n size: number;\n}\n\nclass DoublesReader {\n static read(pbf, end?: number): Doubles {\n const {value, size} = pbf.readFields(DoublesReader._readField, {value: [], size: 0}, end);\n return {value: new Float32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) readPackedTypedArray(Float64Array, pbf, obj);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Ints ========================================\n\ninterface Ints {\n value: Uint32Array;\n size: number;\n}\n\nclass IntsReader {\n static read(pbf, end?: number): Ints {\n const {value, size} = pbf.readFields(IntsReader._readField, {value: [], size: 0}, end);\n return {value: new Uint32Array(value), size};\n }\n static _readField(this: void, tag: number, obj, pbf) {\n if (tag === 1) pbf.readPackedVarint(obj.value);\n else if (tag === 2) obj.size = pbf.readVarint(true);\n }\n}\n\n// Fields ========================================\n\ninterface Fields {\n id: number;\n}\n\nclass FieldsReader {\n static read(pbf, end?: number): Fields {\n return pbf.readFields(FieldsReader._readField, {id: 0}, end);\n }\n static _readField(this: void, tag: number, obj: Fields, pbf) {\n if (tag === 1) obj.id = pbf.readVarint();\n }\n}\n\n// NumericProp ========================================\n\nexport interface NumericProp {\n value: number[];\n}\n\nclass NumericPropReader {\n static read(pbf, end?: number): NumericProp {\n return pbf.readFields(NumericPropReader._readField, {value: []}, end);\n }\n static _readField(this: void, tag: number, obj: NumericProp, pbf) {\n if (tag === 1) readPackedTypedArray(Float64Array, pbf, obj);\n }\n}\n\n// NumericPropKeyValue ========================================\ninterface NumbericPropKeyValue {\n key: string;\n value: NumericProp;\n}\n\nexport class NumericPropKeyValueReader {\n static read(pbf, end?: number): NumbericPropKeyValue {\n return pbf.readFields(NumericPropKeyValueReader._readField, {key: '', value: null}, end);\n }\n static _readField(this: void, tag: number, obj: NumbericPropKeyValue, pbf) {\n if (tag === 1) obj.key = pbf.readString();\n else if (tag === 2) obj.value = NumericPropReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n\n// Points ========================================\n\ninterface Points {\n positions: Doubles;\n globalFeatureIds: Ints;\n featureIds: Ints;\n properties: Record<string, string>[];\n numericProps: Record<string, NumericProp>;\n fields: Fields[];\n}\n\nclass PointsReader {\n static read(pbf, end?: number): Points {\n return pbf.readFields(\n PointsReader._readField,\n {\n positions: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Points, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 5) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 6) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\ninterface Lines extends Points {\n pathIndices: Ints;\n}\n// Lines ========================================\n\nclass LinesReader {\n static read(pbf, end?: number): Lines {\n return pbf.readFields(\n LinesReader._readField,\n {\n positions: null,\n pathIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Lines, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.pathIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 6) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 7) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n// Polygons ========================================\n\ninterface Polygons extends Points {\n polygonIndices: Ints;\n primitivePolygonIndices: Ints;\n triangles: Ints;\n}\n\nclass PolygonsReader {\n static read(pbf, end?: number): Polygons {\n return pbf.readFields(\n PolygonsReader._readField,\n {\n positions: null,\n polygonIndices: null,\n globalFeatureIds: null,\n featureIds: null,\n primitivePolygonIndices: null,\n triangles: null,\n properties: [],\n numericProps: {},\n fields: []\n },\n end\n );\n }\n static _readField(this: void, tag: number, obj: Polygons, pbf) {\n if (tag === 1) obj.positions = DoublesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.polygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.globalFeatureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 4) obj.featureIds = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 5)\n obj.primitivePolygonIndices = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 6) obj.triangles = IntsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 7) obj.properties.push(PropertiesReader.read(pbf, pbf.readVarint() + pbf.pos));\n else if (tag === 8) {\n const entry = NumericPropKeyValueReader.read(pbf, pbf.readVarint() + pbf.pos);\n obj.numericProps[entry.key] = entry.value;\n } else if (tag === 9) obj.fields.push(FieldsReader.read(pbf, pbf.readVarint() + pbf.pos));\n }\n}\n\n// Tile ========================================\n\nexport interface Tile {\n points: Points;\n lines: Lines;\n polygons: Polygons;\n}\n\nexport class TileReader {\n static read(pbf, end?: number): Tile {\n return pbf.readFields(TileReader._readField, {points: null, lines: null, polygons: null}, end);\n }\n static _readField(this: void, tag: number, obj: Tile, pbf) {\n if (tag === 1) obj.points = PointsReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 2) obj.lines = LinesReader.read(pbf, pbf.readVarint() + pbf.pos);\n else if (tag === 3) obj.polygons = PolygonsReader.read(pbf, pbf.readVarint() + pbf.pos);\n }\n}\n"],"file":"carto-tile.js"}
|
|
@@ -3,19 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
7
|
-
exports.readPackedFixed64 = readPackedFixed64;
|
|
6
|
+
exports.readPackedTypedArray = readPackedTypedArray;
|
|
8
7
|
|
|
9
|
-
function
|
|
8
|
+
function readPackedTypedArray(TypedArray, pbf, obj) {
|
|
10
9
|
var end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
|
|
11
|
-
obj.value = new
|
|
12
|
-
pbf.pos = end;
|
|
13
|
-
return obj.value;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function readPackedFixed64(pbf, obj) {
|
|
17
|
-
var end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
|
|
18
|
-
obj.value = new BigUint64Array(pbf.buf.buffer.slice(pbf.pos, end));
|
|
10
|
+
obj.value = new TypedArray(pbf.buf.buffer.slice(pbf.pos, end));
|
|
19
11
|
pbf.pos = end;
|
|
20
12
|
return obj.value;
|
|
21
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/layers/schema/fast-pbf.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../src/layers/schema/fast-pbf.ts"],"names":["readPackedTypedArray","TypedArray","pbf","obj","end","type","readVarint","pos","value","buf","buffer","slice"],"mappings":";;;;;;;AACO,SAASA,oBAAT,CAA8BC,UAA9B,EAA0CC,GAA1C,EAA+CC,GAA/C,EAAoD;AACzD,MAAMC,GAAG,GAAGF,GAAG,CAACG,IAAJ,KAAa,CAAb,GAAiBH,GAAG,CAACI,UAAJ,KAAmBJ,GAAG,CAACK,GAAxC,GAA8CL,GAAG,CAACK,GAAJ,GAAU,CAApE;AACAJ,EAAAA,GAAG,CAACK,KAAJ,GAAY,IAAIP,UAAJ,CAAeC,GAAG,CAACO,GAAJ,CAAQC,MAAR,CAAeC,KAAf,CAAqBT,GAAG,CAACK,GAAzB,EAA8BH,GAA9B,CAAf,CAAZ;AACAF,EAAAA,GAAG,CAACK,GAAJ,GAAUH,GAAV;AACA,SAAOD,GAAG,CAACK,KAAX;AACD","sourcesContent":["// Optimized (100X speed improvement) reading function for binary data\nexport function readPackedTypedArray(TypedArray, pbf, obj) {\n const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;\n obj.value = new TypedArray(pbf.buf.buffer.slice(pbf.pos, end));\n pbf.pos = end;\n return obj.value;\n}\n"],"file":"fast-pbf.js"}
|
|
@@ -23,21 +23,17 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
23
23
|
|
|
24
24
|
var _core = require("@loaders.gl/core");
|
|
25
25
|
|
|
26
|
+
var _cartoRasterTileLoader = _interopRequireDefault(require("./schema/carto-raster-tile-loader"));
|
|
27
|
+
|
|
26
28
|
var _cartoSpatialTileLoader = _interopRequireDefault(require("./schema/carto-spatial-tile-loader"));
|
|
27
29
|
|
|
28
30
|
var _geoLayers = require("@deck.gl/geo-layers");
|
|
29
31
|
|
|
30
|
-
var _mapsApiCommon = require("../api/maps-api-common");
|
|
31
|
-
|
|
32
|
-
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; }
|
|
33
|
-
|
|
34
|
-
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; }
|
|
35
|
-
|
|
36
32
|
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); }; }
|
|
37
33
|
|
|
38
34
|
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; } }
|
|
39
35
|
|
|
40
|
-
(0, _core.registerLoaders)([_cartoSpatialTileLoader.default]);
|
|
36
|
+
(0, _core.registerLoaders)([_cartoRasterTileLoader.default, _cartoSpatialTileLoader.default]);
|
|
41
37
|
|
|
42
38
|
function isFeatureIdDefined(value) {
|
|
43
39
|
return value !== undefined && value !== null && value !== '';
|
|
@@ -58,40 +54,6 @@ var SpatialIndexTileLayer = function (_TileLayer) {
|
|
|
58
54
|
}
|
|
59
55
|
|
|
60
56
|
(0, _createClass2.default)(SpatialIndexTileLayer, [{
|
|
61
|
-
key: "getTileData",
|
|
62
|
-
value: function getTileData(tile) {
|
|
63
|
-
var _this$props = this.props,
|
|
64
|
-
data = _this$props.data,
|
|
65
|
-
getTileData = _this$props.getTileData,
|
|
66
|
-
fetch = _this$props.fetch;
|
|
67
|
-
var signal = tile.signal;
|
|
68
|
-
tile.url = typeof data === 'string' || Array.isArray(data) ? (0, _geoLayers._getURLFromTemplate)(data, tile) : null;
|
|
69
|
-
|
|
70
|
-
if (!tile.url) {
|
|
71
|
-
return Promise.reject('Invalid URL');
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
if (getTileData) {
|
|
75
|
-
return getTileData(tile);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
var loadOptions = this.getLoadOptions();
|
|
79
|
-
var formatTiles = this.props.formatTiles;
|
|
80
|
-
|
|
81
|
-
if (formatTiles === _mapsApiCommon.TILE_FORMATS.BINARY) {
|
|
82
|
-
loadOptions = _objectSpread(_objectSpread({}, loadOptions), {}, {
|
|
83
|
-
mimeType: 'application/vnd.carto-spatial-tile'
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
return fetch(tile.url, {
|
|
88
|
-
propName: 'data',
|
|
89
|
-
layer: this,
|
|
90
|
-
loadOptions: loadOptions,
|
|
91
|
-
signal: signal
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
}, {
|
|
95
57
|
key: "updateState",
|
|
96
58
|
value: function updateState(params) {
|
|
97
59
|
var props = params.props,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/layers/spatial-index-tile-layer.ts"],"names":["CartoSpatialTileLoader","isFeatureIdDefined","value","undefined","defaultProps","aggregationResLevel","SpatialIndexTileLayer","
|
|
1
|
+
{"version":3,"sources":["../../../src/layers/spatial-index-tile-layer.ts"],"names":["CartoRasterTileLoader","CartoSpatialTileLoader","isFeatureIdDefined","value","undefined","defaultProps","aggregationResLevel","SpatialIndexTileLayer","params","props","oldProps","setState","tileset","info","hoveredFeatureId","state","hoveredFeature","object","newHoveredFeatureId","id","highlightColor","tile","highlightedObjectIndex","getHighlightedObjectIndex","data","content","isFeatureIdPresent","Array","isArray","_featureInTile","findIndex","feature","featureId","getTileZoom","getParentIndex","tileZoom","index","KEY","q","featureIndex","featureZoom","TileLayer"],"mappings":"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","sourcesContent":["import {registerLoaders} from '@loaders.gl/core';\nimport {DefaultProps, UpdateParameters} from '@deck.gl/core';\nimport CartoRasterTileLoader from './schema/carto-raster-tile-loader';\nimport CartoSpatialTileLoader from './schema/carto-spatial-tile-loader';\nregisterLoaders([CartoRasterTileLoader, CartoSpatialTileLoader]);\n\nimport {PickingInfo} from '@deck.gl/core';\nimport {TileLayer, _Tile2DHeader as Tile2DHeader} from '@deck.gl/geo-layers';\n\nfunction isFeatureIdDefined(value: unknown): boolean {\n return value !== undefined && value !== null && value !== '';\n}\n\nconst defaultProps: DefaultProps<SpatialIndexTileLayerProps> = {\n aggregationResLevel: 4\n};\n\n/** All properties supported by SpatialIndexTileLayer. */\nexport type SpatialIndexTileLayerProps<DataT = any> = _SpatialIndexTileLayerProps<DataT> &\n TileLayer<DataT>;\n\n/** Properties added by SpatialIndexTileLayer. */\ntype _SpatialIndexTileLayerProps<DataT = any> = {\n aggregationResLevel?: number;\n};\n\nexport default class SpatialIndexTileLayer<\n DataT = any,\n ExtraProps extends {} = {}\n> extends TileLayer<DataT, ExtraProps & Required<_SpatialIndexTileLayerProps<DataT>>> {\n static layerName = 'SpatialIndexTileLayer';\n static defaultProps = defaultProps;\n\n updateState(params: UpdateParameters<this>) {\n const {props, oldProps} = params;\n if (props.aggregationResLevel !== oldProps.aggregationResLevel) {\n // Tileset cache is invalid when resLevel changes\n this.setState({tileset: null});\n }\n\n super.updateState(params);\n }\n\n protected _updateAutoHighlight(info: PickingInfo): void {\n const {hoveredFeatureId} = this.state;\n const hoveredFeature = info.object;\n let newHoveredFeatureId;\n\n if (hoveredFeature) {\n newHoveredFeatureId = hoveredFeature.id;\n }\n\n if (hoveredFeatureId !== newHoveredFeatureId) {\n let {highlightColor} = this.props;\n if (typeof highlightColor === 'function') {\n highlightColor = highlightColor(info);\n }\n\n this.setState({\n highlightColor,\n hoveredFeatureId: newHoveredFeatureId\n });\n }\n }\n\n getSubLayerPropsByTile(tile: Tile2DHeader) {\n return {\n highlightedObjectIndex: this.getHighlightedObjectIndex(tile),\n highlightColor: this.state.highlightColor\n };\n }\n\n getHighlightedObjectIndex(tile: Tile2DHeader) {\n const {hoveredFeatureId} = this.state;\n const data = tile.content;\n\n const isFeatureIdPresent = isFeatureIdDefined(hoveredFeatureId);\n if (\n !isFeatureIdPresent ||\n !Array.isArray(data) ||\n // Quick check for whether id is within tile. data.findIndex is expensive\n !this._featureInTile(tile, hoveredFeatureId)\n ) {\n return -1;\n }\n\n return data.findIndex(feature => feature.id === hoveredFeatureId);\n }\n\n _featureInTile(tile: Tile2DHeader, featureId: BigInt | number) {\n const {getTileZoom, getParentIndex} = this.state.tileset;\n const tileZoom = getTileZoom(tile.index);\n // @ts-ignore\n const KEY = tile.index.q ? 'q' : 'i';\n let featureIndex = {[KEY]: featureId};\n let featureZoom = getTileZoom(featureIndex);\n while (!(featureZoom <= tileZoom)) {\n featureIndex = getParentIndex(featureIndex);\n featureZoom = getTileZoom(featureIndex);\n }\n\n return featureIndex[KEY] === tile.index[KEY];\n }\n}\n"],"file":"spatial-index-tile-layer.js"}
|
package/dist/es5/utils.js
CHANGED
|
@@ -4,10 +4,28 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.assert = assert;
|
|
7
|
+
exports.createBinaryProxy = createBinaryProxy;
|
|
7
8
|
|
|
8
9
|
var _core = require("@deck.gl/core");
|
|
9
10
|
|
|
10
11
|
function assert(condition, message) {
|
|
11
12
|
_core.log.assert(condition, message);
|
|
12
13
|
}
|
|
14
|
+
|
|
15
|
+
function createBinaryProxy(data, index) {
|
|
16
|
+
var properties = data.properties,
|
|
17
|
+
numericProps = data.numericProps;
|
|
18
|
+
return new Proxy(properties[index] || {}, {
|
|
19
|
+
get: function get(target, property, receiver) {
|
|
20
|
+
if (property in numericProps) {
|
|
21
|
+
return numericProps[property].value[index];
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return target[property];
|
|
25
|
+
},
|
|
26
|
+
has: function has(target, property) {
|
|
27
|
+
return property in numericProps || property in target;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
13
31
|
//# sourceMappingURL=utils.js.map
|
package/dist/es5/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils.ts"],"names":["assert","condition","message","log"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../src/utils.ts"],"names":["assert","condition","message","log","createBinaryProxy","data","index","properties","numericProps","Proxy","get","target","property","receiver","value","has"],"mappings":";;;;;;;;AAAA;;AAGO,SAASA,MAAT,CAAgBC,SAAhB,EAAoCC,OAApC,EAAyE;AAC9EC,YAAIH,MAAJ,CAAWC,SAAX,EAAsBC,OAAtB;AACD;;AAIM,SAASE,iBAAT,CACLC,IADK,EAELC,KAFK,EAGL;AACA,MAAOC,UAAP,GAAmCF,IAAnC,CAAOE,UAAP;AAAA,MAAmBC,YAAnB,GAAmCH,IAAnC,CAAmBG,YAAnB;AACA,SAAO,IAAIC,KAAJ,CAAUF,UAAU,CAACD,KAAD,CAAV,IAAqB,EAA/B,EAAmC;AACxCI,IAAAA,GADwC,eACpCC,MADoC,EAC5BC,QAD4B,EAClBC,QADkB,EACR;AAC9B,UAAID,QAAQ,IAAIJ,YAAhB,EAA8B;AAC5B,eAAOA,YAAY,CAACI,QAAD,CAAZ,CAAiCE,KAAjC,CAAuCR,KAAvC,CAAP;AACD;;AACD,aAAOK,MAAM,CAACC,QAAD,CAAb;AACD,KANuC;AAQxCG,IAAAA,GARwC,eAQpCJ,MARoC,EAQ5BC,QAR4B,EAQlB;AACpB,aAAOA,QAAQ,IAAIJ,YAAZ,IAA4BI,QAAQ,IAAID,MAA/C;AACD;AAVuC,GAAnC,CAAP;AAYD","sourcesContent":["import {log} from '@deck.gl/core';\nimport type {Properties, NumericProps} from './layers/schema/spatialjson-utils';\n\nexport function assert(condition: unknown, message?: string): asserts condition {\n log.assert(condition, message);\n}\n\n// Returns a Proxy object that allows accessing binary data\n// as if it were JSON properties\nexport function createBinaryProxy(\n data: {numericProps: NumericProps; properties: Properties[]},\n index: number\n) {\n const {properties, numericProps} = data;\n return new Proxy(properties[index] || {}, {\n get(target, property, receiver) {\n if (property in numericProps) {\n return numericProps[property as string].value[index];\n }\n return target[property as string];\n },\n\n has(target, property) {\n return property in numericProps || property in target;\n }\n });\n}\n"],"file":"utils.js"}
|