@deck.gl/carto 8.9.7 → 8.9.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/dist/dist.dev.js +774 -114
  2. package/dist/es5/api/layer-map.js +9 -15
  3. package/dist/es5/api/layer-map.js.map +1 -1
  4. package/dist/es5/api/maps-api-common.js +2 -1
  5. package/dist/es5/api/maps-api-common.js.map +1 -1
  6. package/dist/es5/api/maps-v3-client.js +17 -6
  7. package/dist/es5/api/maps-v3-client.js.map +1 -1
  8. package/dist/es5/api/parseMap.js +1 -1
  9. package/dist/es5/api/parseMap.js.map +1 -1
  10. package/dist/es5/index.js +8 -0
  11. package/dist/es5/index.js.map +1 -1
  12. package/dist/es5/layers/carto-layer.js +1 -1
  13. package/dist/es5/layers/carto-layer.js.map +1 -1
  14. package/dist/es5/layers/h3-tile-layer.js +2 -1
  15. package/dist/es5/layers/h3-tile-layer.js.map +1 -1
  16. package/dist/es5/layers/quadbin-tile-layer.js +2 -1
  17. package/dist/es5/layers/quadbin-tile-layer.js.map +1 -1
  18. package/dist/es5/layers/quadbin-utils.js +14 -4
  19. package/dist/es5/layers/quadbin-utils.js.map +1 -1
  20. package/dist/es5/layers/raster-layer-vertex.glsl.js +9 -0
  21. package/dist/es5/layers/raster-layer-vertex.glsl.js.map +1 -0
  22. package/dist/es5/layers/raster-layer.js +176 -0
  23. package/dist/es5/layers/raster-layer.js.map +1 -0
  24. package/dist/es5/layers/raster-tile-layer.js +114 -0
  25. package/dist/es5/layers/raster-tile-layer.js.map +1 -0
  26. package/dist/es5/layers/schema/carto-raster-tile-loader.js +80 -0
  27. package/dist/es5/layers/schema/carto-raster-tile-loader.js.map +1 -0
  28. package/dist/es5/layers/schema/carto-raster-tile.js +87 -0
  29. package/dist/es5/layers/schema/carto-raster-tile.js.map +1 -0
  30. package/dist/es5/layers/schema/carto-spatial-tile.js +1 -1
  31. package/dist/es5/layers/schema/carto-spatial-tile.js.map +1 -1
  32. package/dist/es5/layers/schema/carto-tile.js +2 -2
  33. package/dist/es5/layers/schema/carto-tile.js.map +1 -1
  34. package/dist/es5/layers/schema/fast-pbf.js +3 -11
  35. package/dist/es5/layers/schema/fast-pbf.js.map +1 -1
  36. package/dist/es5/layers/spatial-index-tile-layer.js +3 -41
  37. package/dist/es5/layers/spatial-index-tile-layer.js.map +1 -1
  38. package/dist/es5/utils.js +18 -0
  39. package/dist/es5/utils.js.map +1 -1
  40. package/dist/esm/api/layer-map.js +9 -21
  41. package/dist/esm/api/layer-map.js.map +1 -1
  42. package/dist/esm/api/maps-api-common.js +2 -1
  43. package/dist/esm/api/maps-api-common.js.map +1 -1
  44. package/dist/esm/api/maps-v3-client.js +9 -1
  45. package/dist/esm/api/maps-v3-client.js.map +1 -1
  46. package/dist/esm/api/parseMap.js +1 -1
  47. package/dist/esm/api/parseMap.js.map +1 -1
  48. package/dist/esm/index.js +1 -0
  49. package/dist/esm/index.js.map +1 -1
  50. package/dist/esm/layers/carto-layer.js +1 -1
  51. package/dist/esm/layers/carto-layer.js.map +1 -1
  52. package/dist/esm/layers/h3-tile-layer.js +2 -1
  53. package/dist/esm/layers/h3-tile-layer.js.map +1 -1
  54. package/dist/esm/layers/quadbin-tile-layer.js +2 -1
  55. package/dist/esm/layers/quadbin-tile-layer.js.map +1 -1
  56. package/dist/esm/layers/quadbin-utils.js +7 -4
  57. package/dist/esm/layers/quadbin-utils.js.map +1 -1
  58. package/dist/esm/layers/raster-layer-vertex.glsl.js +2 -0
  59. package/dist/esm/layers/raster-layer-vertex.glsl.js.map +1 -0
  60. package/dist/esm/layers/raster-layer.js +111 -0
  61. package/dist/esm/layers/raster-layer.js.map +1 -0
  62. package/dist/esm/layers/raster-tile-layer.js +67 -0
  63. package/dist/esm/layers/raster-tile-layer.js.map +1 -0
  64. package/dist/esm/layers/schema/carto-raster-tile-loader.js +46 -0
  65. package/dist/esm/layers/schema/carto-raster-tile-loader.js.map +1 -0
  66. package/dist/esm/layers/schema/carto-raster-tile.js +51 -0
  67. package/dist/esm/layers/schema/carto-raster-tile.js.map +1 -0
  68. package/dist/esm/layers/schema/carto-spatial-tile.js +2 -2
  69. package/dist/esm/layers/schema/carto-spatial-tile.js.map +1 -1
  70. package/dist/esm/layers/schema/carto-tile.js +3 -3
  71. package/dist/esm/layers/schema/carto-tile.js.map +1 -1
  72. package/dist/esm/layers/schema/fast-pbf.js +2 -8
  73. package/dist/esm/layers/schema/fast-pbf.js.map +1 -1
  74. package/dist/esm/layers/spatial-index-tile-layer.js +3 -41
  75. package/dist/esm/layers/spatial-index-tile-layer.js.map +1 -1
  76. package/dist/esm/utils.js +20 -0
  77. package/dist/esm/utils.js.map +1 -1
  78. package/dist.min.js +100 -23
  79. package/package.json +8 -8
  80. package/src/api/layer-map.ts +12 -19
  81. package/src/api/maps-api-common.ts +2 -1
  82. package/src/api/maps-v3-client.ts +6 -1
  83. package/src/api/parseMap.ts +1 -1
  84. package/src/index.ts +1 -0
  85. package/src/layers/carto-layer.ts +1 -1
  86. package/src/layers/h3-tile-layer.ts +2 -3
  87. package/src/layers/quadbin-tile-layer.ts +2 -3
  88. package/src/layers/quadbin-utils.ts +9 -5
  89. package/src/layers/raster-layer-vertex.glsl.ts +98 -0
  90. package/src/layers/raster-layer.ts +146 -0
  91. package/src/layers/raster-tile-layer.ts +63 -0
  92. package/src/layers/schema/carto-raster-tile-loader.ts +42 -0
  93. package/src/layers/schema/carto-raster-tile.ts +46 -0
  94. package/src/layers/schema/carto-spatial-tile.ts +2 -2
  95. package/src/layers/schema/carto-tile.ts +3 -3
  96. package/src/layers/schema/fast-pbf.ts +3 -9
  97. package/src/layers/spatial-index-tile-layer.ts +3 -38
  98. package/src/utils.ts +22 -0
  99. package/typed/api/layer-map.d.ts +2 -1
  100. package/typed/api/layer-map.d.ts.map +1 -1
  101. package/typed/api/maps-api-common.d.ts +1 -0
  102. package/typed/api/maps-api-common.d.ts.map +1 -1
  103. package/typed/api/maps-v3-client.d.ts.map +1 -1
  104. package/typed/index.d.ts +1 -0
  105. package/typed/index.d.ts.map +1 -1
  106. package/typed/layers/h3-tile-layer.d.ts.map +1 -1
  107. package/typed/layers/quadbin-tile-layer.d.ts.map +1 -1
  108. package/typed/layers/quadbin-utils.d.ts +1 -0
  109. package/typed/layers/quadbin-utils.d.ts.map +1 -1
  110. package/typed/layers/raster-layer-vertex.glsl.d.ts +3 -0
  111. package/typed/layers/raster-layer-vertex.glsl.d.ts.map +1 -0
  112. package/typed/layers/raster-layer.d.ts +19 -0
  113. package/typed/layers/raster-layer.d.ts.map +1 -0
  114. package/typed/layers/raster-tile-layer.d.ts +24 -0
  115. package/typed/layers/raster-tile-layer.d.ts.map +1 -0
  116. package/typed/layers/schema/carto-raster-tile-loader.d.ts +13 -0
  117. package/typed/layers/schema/carto-raster-tile-loader.d.ts.map +1 -0
  118. package/typed/layers/schema/carto-raster-tile.d.ts +9 -0
  119. package/typed/layers/schema/carto-raster-tile.d.ts.map +1 -0
  120. package/typed/layers/schema/carto-spa-tile.d.ts +57 -0
  121. package/typed/layers/schema/carto-spa-tile.d.ts.map +1 -0
  122. package/typed/layers/schema/fast-pbf.d.ts +1 -2
  123. package/typed/layers/schema/fast-pbf.d.ts.map +1 -1
  124. package/typed/layers/spatial-index-tile-layer.d.ts +1 -2
  125. package/typed/layers/spatial-index-tile-layer.d.ts.map +1 -1
  126. package/typed/utils.d.ts +5 -0
  127. package/typed/utils.d.ts.map +1 -1
  128. package/typed/api/index.js +0 -3
  129. package/typed/api/layer-map.js +0 -264
  130. package/typed/api/maps-api-common.js +0 -50
  131. package/typed/api/maps-client.js +0 -125
  132. package/typed/api/maps-v3-client.js +0 -304
  133. package/typed/api/parseMap.js +0 -178
  134. package/typed/basemap.js +0 -9
  135. package/typed/config.js +0 -35
  136. package/typed/index.js +0 -10
  137. package/typed/layers/carto-layer.js +0 -173
  138. package/typed/layers/carto-tile-layer.js +0 -105
  139. package/typed/layers/h3-tile-layer.js +0 -47
  140. package/typed/layers/h3-tileset-2d.js +0 -85
  141. package/typed/layers/quadkey-tile-layer.js +0 -42
  142. package/typed/layers/quadkey-tileset-2d.js +0 -36
  143. package/typed/layers/schema/carto-tile.js +0 -161
  144. package/typed/layers/spatial-index-tile-layer.js +0 -40
  145. package/typed/style/color-bins-style.js +0 -12
  146. package/typed/style/color-categories-style.js +0 -16
  147. package/typed/style/color-continuous-style.js +0 -12
  148. package/typed/style/palette.js +0 -62
  149. package/typed/style/utils.js +0 -15
  150. 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.readPackedFixed64)(pbf, obj);
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,gCAAkBL,GAAlB,EAAuBM,GAAvB;AAChB;;;;;;;IAWGC,W;;;;;;;WACJ,cAAYP,GAAZ,EAAiBC,GAAjB,EAAsC;AACpC,aAAOD,GAAG,CAACE,UAAJ,CACLK,WAAW,CAACJ,UADP,EAEL;AAACK,QAAAA,OAAO,EAAE,IAAV;AAAgBC,QAAAA,UAAU,EAAE,EAA5B;AAAgCC,QAAAA,YAAY,EAAE;AAA9C,OAFK,EAGLT,GAHK,CAAP;AAKD;;;WACD,oBAA8BI,GAA9B,EAA2CC,GAA3C,EAAuDN,GAAvD,EAA4D;AAC1D,UAAIK,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACE,OAAJ,GAAcT,aAAa,CAACY,IAAd,CAAmBX,GAAnB,EAAwBA,GAAG,CAACY,UAAJ,KAAmBZ,GAAG,CAACa,GAA/C,CAAd,CAAf,KACK,IAAIR,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACG,UAAJ,CAAeK,IAAf,CAAoBC,4BAAiBJ,IAAjB,CAAsBX,GAAtB,EAA2BA,GAAG,CAACY,UAAJ,KAAmBZ,GAAG,CAACa,GAAlD,CAApB,EAAf,KACA,IAAIR,GAAG,KAAK,CAAZ,EAAe;AAClB,YAAMW,KAAK,GAAGC,qCAA0BN,IAA1B,CAA+BX,GAA/B,EAAoCA,GAAG,CAACY,UAAJ,KAAmBZ,GAAG,CAACa,GAA3D,CAAd;;AACAP,QAAAA,GAAG,CAACI,YAAJ,CAAiBM,KAAK,CAACE,GAAvB,IAA8BF,KAAK,CAACZ,KAApC;AACD;AACF;;;;;IAWUe,U;;;;;;;WACX,cAAYnB,GAAZ,EAAiBC,GAAjB,EAAqC;AACnC,aAAOD,GAAG,CAACE,UAAJ,CAAeiB,UAAU,CAAChB,UAA1B,EAAsC;AAACiB,QAAAA,MAAM,EAAE,CAAT;AAAYC,QAAAA,KAAK,EAAE;AAAnB,OAAtC,EAAgEpB,GAAhE,CAAP;AACD;;;WACD,oBAA8BI,GAA9B,EAA2CC,GAA3C,EAAsDN,GAAtD,EAA2D;AACzD,UAAIK,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACc,MAAJ,GAAapB,GAAG,CAACY,UAAJ,EAAb,CAAf,KACK,IAAIP,GAAG,KAAK,CAAZ,EAAeC,GAAG,CAACe,KAAJ,GAAYd,WAAW,CAACI,IAAZ,CAAiBX,GAAjB,EAAsBA,GAAG,CAACY,UAAJ,KAAmBZ,GAAG,CAACa,GAA7C,CAAZ;AACrB","sourcesContent":["import {readPackedFixed64} 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) readPackedFixed64(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"}
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.readPackedDouble)(pbf, obj);else if (tag === 2) obj.size = pbf.readVarint(true);
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.readPackedDouble)(pbf, obj);
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.readPackedDouble = readPackedDouble;
7
- exports.readPackedFixed64 = readPackedFixed64;
6
+ exports.readPackedTypedArray = readPackedTypedArray;
8
7
 
9
- function readPackedDouble(pbf, obj) {
8
+ function readPackedTypedArray(TypedArray, pbf, obj) {
10
9
  var end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;
11
- obj.value = new Float64Array(pbf.buf.buffer.slice(pbf.pos, end));
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":["readPackedDouble","pbf","obj","end","type","readVarint","pos","value","Float64Array","buf","buffer","slice","readPackedFixed64","BigUint64Array"],"mappings":";;;;;;;;AACO,SAASA,gBAAT,CAA0BC,GAA1B,EAA+BC,GAA/B,EAAoC;AACzC,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,IAAIC,YAAJ,CAAiBP,GAAG,CAACQ,GAAJ,CAAQC,MAAR,CAAeC,KAAf,CAAqBV,GAAG,CAACK,GAAzB,EAA8BH,GAA9B,CAAjB,CAAZ;AACAF,EAAAA,GAAG,CAACK,GAAJ,GAAUH,GAAV;AACA,SAAOD,GAAG,CAACK,KAAX;AACD;;AACM,SAASK,iBAAT,CAA2BX,GAA3B,EAAgCC,GAAhC,EAAqC;AAC1C,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,IAAIM,cAAJ,CAAmBZ,GAAG,CAACQ,GAAJ,CAAQC,MAAR,CAAeC,KAAf,CAAqBV,GAAG,CAACK,GAAzB,EAA8BH,GAA9B,CAAnB,CAAZ;AACAF,EAAAA,GAAG,CAACK,GAAJ,GAAUH,GAAV;AACA,SAAOD,GAAG,CAACK,KAAX;AACD","sourcesContent":["// Optimized (100X speed improvement) reading functions for binary data\nexport function readPackedDouble(pbf, obj) {\n const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;\n obj.value = new Float64Array(pbf.buf.buffer.slice(pbf.pos, end));\n pbf.pos = end;\n return obj.value;\n}\nexport function readPackedFixed64(pbf, obj) {\n const end = pbf.type === 2 ? pbf.readVarint() + pbf.pos : pbf.pos + 1;\n obj.value = new BigUint64Array(pbf.buf.buffer.slice(pbf.pos, end));\n pbf.pos = end;\n return obj.value;\n}\n"],"file":"fast-pbf.js"}
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","tile","props","data","getTileData","fetch","signal","url","Array","isArray","Promise","reject","loadOptions","getLoadOptions","formatTiles","TILE_FORMATS","BINARY","mimeType","propName","layer","params","oldProps","setState","tileset","info","hoveredFeatureId","state","hoveredFeature","object","newHoveredFeatureId","id","highlightColor","highlightedObjectIndex","getHighlightedObjectIndex","content","isFeatureIdPresent","_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 CartoSpatialTileLoader from './schema/carto-spatial-tile-loader';\nregisterLoaders([CartoSpatialTileLoader]);\n\nimport {PickingInfo} from '@deck.gl/core';\nimport {\n TileLayer,\n _getURLFromTemplate,\n _Tile2DHeader as Tile2DHeader,\n _TileLoadProps as TileLoadProps\n} from '@deck.gl/geo-layers';\nimport {TILE_FORMATS} from '../api/maps-api-common';\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 getTileData(tile: TileLoadProps) {\n const {data, getTileData, fetch} = this.props;\n const {signal} = tile;\n\n tile.url =\n typeof data === 'string' || Array.isArray(data) ? _getURLFromTemplate(data, tile) : null;\n if (!tile.url) {\n return Promise.reject('Invalid URL');\n }\n\n if (getTileData) {\n return getTileData(tile);\n }\n\n let loadOptions = this.getLoadOptions();\n // @ts-ignore\n const {formatTiles} = this.props;\n\n // The backend doesn't yet support our custom mime-type, so force it here\n // TODO remove entire `getTileData` method once backend sends the correct mime-type\n if (formatTiles === TILE_FORMATS.BINARY) {\n loadOptions = {\n ...loadOptions,\n mimeType: 'application/vnd.carto-spatial-tile'\n };\n }\n\n return fetch(tile.url, {propName: 'data', layer: this, loadOptions, signal});\n }\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"}
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
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils.ts"],"names":["assert","condition","message","log"],"mappings":";;;;;;;AAAA;;AAEO,SAASA,MAAT,CAAgBC,SAAhB,EAAoCC,OAApC,EAAyE;AAC9EC,YAAIH,MAAJ,CAAWC,SAAX,EAAsBC,OAAtB;AACD","sourcesContent":["import {log} from '@deck.gl/core';\n\nexport function assert(condition: unknown, message?: string): asserts condition {\n log.assert(condition, message);\n}\n"],"file":"utils.js"}
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"}