@kepler.gl/deckgl-layers 3.0.0 → 3.1.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/package.json +12 -11
  2. package/dist/3d-building-layer/3d-building-layer.d.ts +0 -16
  3. package/dist/3d-building-layer/3d-building-layer.js +0 -91
  4. package/dist/3d-building-layer/3d-building-utils.d.ts +0 -9
  5. package/dist/3d-building-layer/3d-building-utils.js +0 -199
  6. package/dist/3d-building-layer/types.d.ts +0 -51
  7. package/dist/3d-building-layer/types.js +0 -6
  8. package/dist/cluster-layer/cluster-layer.d.ts +0 -42
  9. package/dist/cluster-layer/cluster-layer.js +0 -329
  10. package/dist/column-layer/enhanced-column-layer.d.ts +0 -12
  11. package/dist/column-layer/enhanced-column-layer.js +0 -156
  12. package/dist/deckgl-extensions/filter-arrow-layer.d.ts +0 -46
  13. package/dist/deckgl-extensions/filter-arrow-layer.js +0 -97
  14. package/dist/deckgl-extensions/filter-shader-module.d.ts +0 -19
  15. package/dist/deckgl-extensions/filter-shader-module.js +0 -29
  16. package/dist/grid-layer/enhanced-cpu-grid-layer.d.ts +0 -7
  17. package/dist/grid-layer/enhanced-cpu-grid-layer.js +0 -85
  18. package/dist/hexagon-layer/enhanced-hexagon-layer.d.ts +0 -7
  19. package/dist/hexagon-layer/enhanced-hexagon-layer.js +0 -85
  20. package/dist/index.d.ts +0 -11
  21. package/dist/index.js +0 -124
  22. package/dist/layer-utils/cluster-utils.d.ts +0 -22
  23. package/dist/layer-utils/cluster-utils.js +0 -107
  24. package/dist/layer-utils/cpu-aggregator.d.ts +0 -93
  25. package/dist/layer-utils/cpu-aggregator.js +0 -653
  26. package/dist/layer-utils/shader-utils.d.ts +0 -1
  27. package/dist/layer-utils/shader-utils.js +0 -33
  28. package/dist/line-layer/line-layer.d.ts +0 -12
  29. package/dist/line-layer/line-layer.js +0 -112
  30. package/dist/svg-icon-layer/scatterplot-icon-layer.d.ts +0 -9
  31. package/dist/svg-icon-layer/scatterplot-icon-layer.js +0 -79
  32. package/dist/svg-icon-layer/svg-icon-layer.d.ts +0 -22
  33. package/dist/svg-icon-layer/svg-icon-layer.js +0 -127
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kepler.gl/deckgl-layers",
3
3
  "author": "Shan He <shan@uber.com>",
4
- "version": "3.0.0",
4
+ "version": "3.1.0-alpha.0",
5
5
  "description": "kepler.gl constants used by kepler.gl components, actions and reducers",
6
6
  "license": "MIT",
7
7
  "main": "dist/index.js",
@@ -35,15 +35,15 @@
35
35
  "@deck.gl/core": "^8.9.27",
36
36
  "@deck.gl/geo-layers": "^8.9.27",
37
37
  "@deck.gl/layers": "^8.9.27",
38
- "@kepler.gl/constants": "3.0.0",
39
- "@kepler.gl/types": "3.0.0",
40
- "@kepler.gl/utils": "3.0.0",
38
+ "@kepler.gl/constants": "3.1.0-alpha.0",
39
+ "@kepler.gl/types": "3.1.0-alpha.0",
40
+ "@kepler.gl/utils": "3.1.0-alpha.0",
41
41
  "@luma.gl/constants": "^8.5.20",
42
42
  "@luma.gl/core": "^8.5.20",
43
43
  "@mapbox/geo-viewport": "^0.4.1",
44
44
  "@mapbox/vector-tile": "^1.3.1",
45
- "@types/d3-array": "^2.0.0",
46
- "@types/geojson": "^7946.0.7",
45
+ "@types/d3-array": "^2.8.0",
46
+ "@types/geojson": "^7946.0.8",
47
47
  "@types/lodash.memoize": "^4.1.7",
48
48
  "@types/supercluster": "^7.1.0",
49
49
  "d3-array": "^2.8.0",
@@ -57,15 +57,16 @@
57
57
  "sourceMap": false,
58
58
  "instrument": false
59
59
  },
60
- "engines": {
61
- "node": ">=18.18.2"
62
- },
63
60
  "maintainers": [
64
61
  "Shan He <heshan0131@gmail.com>",
65
62
  "Giuseppe Macri <gmacri@uber.com>"
66
63
  ],
64
+ "engines": {
65
+ "node": ">=18"
66
+ },
67
67
  "volta": {
68
68
  "node": "18.18.2",
69
- "yarn": "1.22.17"
70
- }
69
+ "yarn": "4.4.0"
70
+ },
71
+ "packageManager": "yarn@4.4.0"
71
72
  }
@@ -1,16 +0,0 @@
1
- import { CompositeLayer } from '@deck.gl/core/typed';
2
- import { TileLayer as DeckGLTileLayer } from '@deck.gl/geo-layers/typed';
3
- import { SolidPolygonLayer, SolidPolygonLayerProps } from '@deck.gl/layers/typed';
4
- import { ThreeDBuildingLayerProps, TileDataItem, TileLoadProps } from './types';
5
- export default class ThreeDBuildingLayer extends CompositeLayer<ThreeDBuildingLayerProps> {
6
- renderSubLayers(props: SolidPolygonLayerProps<any>): SolidPolygonLayer<TileDataItem, {}>;
7
- renderLayers(): DeckGLTileLayer<any, {
8
- id: string;
9
- getTileData: (tile: TileLoadProps) => Promise<TileDataItem[]>;
10
- minZoom: 13;
11
- renderSubLayers: (props: SolidPolygonLayerProps<any>) => SolidPolygonLayer<TileDataItem, {}>;
12
- updateTriggers: {
13
- getFillColor: import("@kepler.gl/types").RGBColor;
14
- } & Record<string, any>;
15
- }>[];
16
- }
@@ -1,91 +0,0 @@
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
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 _constants = _interopRequireDefault(require("@luma.gl/constants"));
23
-
24
- var _typed = require("@deck.gl/core/typed");
25
-
26
- var _typed2 = require("@deck.gl/geo-layers/typed");
27
-
28
- var _typed3 = require("@deck.gl/layers/typed");
29
-
30
- var _dBuildingUtils = require("./3d-building-utils");
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
- 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
-
38
- 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
-
40
- var ThreeDBuildingLayer = /*#__PURE__*/function (_CompositeLayer) {
41
- (0, _inherits2["default"])(ThreeDBuildingLayer, _CompositeLayer);
42
-
43
- var _super = _createSuper(ThreeDBuildingLayer);
44
-
45
- function ThreeDBuildingLayer() {
46
- (0, _classCallCheck2["default"])(this, ThreeDBuildingLayer);
47
- return _super.apply(this, arguments);
48
- }
49
-
50
- (0, _createClass2["default"])(ThreeDBuildingLayer, [{
51
- key: "renderSubLayers",
52
- value: // this layer add its subLayers to the redux store, and push sample data
53
- function renderSubLayers(props) {
54
- return new _typed3.SolidPolygonLayer(_objectSpread(_objectSpread({}, props), {}, {
55
- parameters: {
56
- blendFunc: [_constants["default"].SRC_ALPHA, _constants["default"].ONE_MINUS_SRC_ALPHA, _constants["default"].ONE, _constants["default"].ONE_MINUS_SRC_ALPHA],
57
- blendEquation: [_constants["default"].FUNC_ADD, _constants["default"].FUNC_ADD]
58
- },
59
- extruded: true,
60
- opacity: 1,
61
- filled: true,
62
- getElevation: function getElevation(feature) {
63
- return feature.properties.height || 0;
64
- },
65
- getPolygon: function getPolygon(feature) {
66
- return feature.coordinates;
67
- },
68
- getFillColor: this.props.threeDBuildingColor
69
- }));
70
- }
71
- }, {
72
- key: "renderLayers",
73
- value: function renderLayers() {
74
- var _this = this;
75
-
76
- return [new _typed2.TileLayer({
77
- id: "".concat(this.id, "-deck-3d-building"),
78
- getTileData: function getTileData(tile) {
79
- return (0, _dBuildingUtils.getTileData)(_this.props.mapboxApiUrl, _this.props.mapboxApiAccessToken, tile);
80
- },
81
- minZoom: 13,
82
- renderSubLayers: this.renderSubLayers.bind(this),
83
- updateTriggers: this.props.updateTriggers
84
- })];
85
- }
86
- }]);
87
- return ThreeDBuildingLayer;
88
- }(_typed.CompositeLayer);
89
-
90
- exports["default"] = ThreeDBuildingLayer;
91
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy8zZC1idWlsZGluZy1sYXllci8zZC1idWlsZGluZy1sYXllci50cyJdLCJuYW1lcyI6WyJUaHJlZURCdWlsZGluZ0xheWVyIiwicHJvcHMiLCJTb2xpZFBvbHlnb25MYXllciIsInBhcmFtZXRlcnMiLCJibGVuZEZ1bmMiLCJHTCIsIlNSQ19BTFBIQSIsIk9ORV9NSU5VU19TUkNfQUxQSEEiLCJPTkUiLCJibGVuZEVxdWF0aW9uIiwiRlVOQ19BREQiLCJleHRydWRlZCIsIm9wYWNpdHkiLCJmaWxsZWQiLCJnZXRFbGV2YXRpb24iLCJmZWF0dXJlIiwicHJvcGVydGllcyIsImhlaWdodCIsImdldFBvbHlnb24iLCJjb29yZGluYXRlcyIsImdldEZpbGxDb2xvciIsInRocmVlREJ1aWxkaW5nQ29sb3IiLCJEZWNrR0xUaWxlTGF5ZXIiLCJpZCIsImdldFRpbGVEYXRhIiwidGlsZSIsIm1hcGJveEFwaVVybCIsIm1hcGJveEFwaUFjY2Vzc1Rva2VuIiwibWluWm9vbSIsInJlbmRlclN1YkxheWVycyIsImJpbmQiLCJ1cGRhdGVUcmlnZ2VycyIsIkNvbXBvc2l0ZUxheWVyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7OztJQUdxQkEsbUI7Ozs7Ozs7Ozs7OztXQUNuQjtBQUVBLDZCQUFnQkMsS0FBaEIsRUFBb0Q7QUFDbEQsYUFBTyxJQUFJQyx5QkFBSixpQ0FDRkQsS0FERTtBQUVMRSxRQUFBQSxVQUFVLEVBQUU7QUFDVkMsVUFBQUEsU0FBUyxFQUFFLENBQUNDLHNCQUFHQyxTQUFKLEVBQWVELHNCQUFHRSxtQkFBbEIsRUFBdUNGLHNCQUFHRyxHQUExQyxFQUErQ0gsc0JBQUdFLG1CQUFsRCxDQUREO0FBRVZFLFVBQUFBLGFBQWEsRUFBRSxDQUFDSixzQkFBR0ssUUFBSixFQUFjTCxzQkFBR0ssUUFBakI7QUFGTCxTQUZQO0FBTUxDLFFBQUFBLFFBQVEsRUFBRSxJQU5MO0FBT0xDLFFBQUFBLE9BQU8sRUFBRSxDQVBKO0FBUUxDLFFBQUFBLE1BQU0sRUFBRSxJQVJIO0FBU0xDLFFBQUFBLFlBQVksRUFBRSxzQkFBQ0MsT0FBRDtBQUFBLGlCQUEyQkEsT0FBTyxDQUFDQyxVQUFSLENBQW1CQyxNQUFuQixJQUE2QixDQUF4RDtBQUFBLFNBVFQ7QUFVTEMsUUFBQUEsVUFBVSxFQUFFLG9CQUFDSCxPQUFEO0FBQUEsaUJBQTJCQSxPQUFPLENBQUNJLFdBQW5DO0FBQUEsU0FWUDtBQVdMQyxRQUFBQSxZQUFZLEVBQUUsS0FBS25CLEtBQUwsQ0FBV29CO0FBWHBCLFNBQVA7QUFhRDs7O1dBRUQsd0JBQWU7QUFBQTs7QUFDYixhQUFPLENBQ0wsSUFBSUMsaUJBQUosQ0FBb0I7QUFDbEJDLFFBQUFBLEVBQUUsWUFBSyxLQUFLQSxFQUFWLHNCQURnQjtBQUVsQkMsUUFBQUEsV0FBVyxFQUFFLHFCQUFDQyxJQUFEO0FBQUEsaUJBQ1gsaUNBQVksS0FBSSxDQUFDeEIsS0FBTCxDQUFXeUIsWUFBdkIsRUFBcUMsS0FBSSxDQUFDekIsS0FBTCxDQUFXMEIsb0JBQWhELEVBQXNFRixJQUF0RSxDQURXO0FBQUEsU0FGSztBQUlsQkcsUUFBQUEsT0FBTyxFQUFFLEVBSlM7QUFLbEJDLFFBQUFBLGVBQWUsRUFBRSxLQUFLQSxlQUFMLENBQXFCQyxJQUFyQixDQUEwQixJQUExQixDQUxDO0FBTWxCQyxRQUFBQSxjQUFjLEVBQUUsS0FBSzlCLEtBQUwsQ0FBVzhCO0FBTlQsT0FBcEIsQ0FESyxDQUFQO0FBVUQ7OztFQTlCOENDLHFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IEdMIGZyb20gJ0BsdW1hLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0NvbXBvc2l0ZUxheWVyfSBmcm9tICdAZGVjay5nbC9jb3JlL3R5cGVkJztcbmltcG9ydCB7VGlsZUxheWVyIGFzIERlY2tHTFRpbGVMYXllcn0gZnJvbSAnQGRlY2suZ2wvZ2VvLWxheWVycy90eXBlZCc7XG5pbXBvcnQge1NvbGlkUG9seWdvbkxheWVyLCBTb2xpZFBvbHlnb25MYXllclByb3BzfSBmcm9tICdAZGVjay5nbC9sYXllcnMvdHlwZWQnO1xuXG5pbXBvcnQge2dldFRpbGVEYXRhfSBmcm9tICcuLzNkLWJ1aWxkaW5nLXV0aWxzJztcbmltcG9ydCB7VGhyZWVEQnVpbGRpbmdMYXllclByb3BzLCBUaWxlRGF0YUl0ZW0sIFRpbGVMb2FkUHJvcHN9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBUaHJlZURCdWlsZGluZ0xheWVyIGV4dGVuZHMgQ29tcG9zaXRlTGF5ZXI8VGhyZWVEQnVpbGRpbmdMYXllclByb3BzPiB7XG4gIC8vIHRoaXMgbGF5ZXIgYWRkIGl0cyBzdWJMYXllcnMgdG8gdGhlIHJlZHV4IHN0b3JlLCBhbmQgcHVzaCBzYW1wbGUgZGF0YVxuXG4gIHJlbmRlclN1YkxheWVycyhwcm9wczogU29saWRQb2x5Z29uTGF5ZXJQcm9wczxhbnk+KSB7XG4gICAgcmV0dXJuIG5ldyBTb2xpZFBvbHlnb25MYXllcjxUaWxlRGF0YUl0ZW0+KHtcbiAgICAgIC4uLnByb3BzLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICBibGVuZEZ1bmM6IFtHTC5TUkNfQUxQSEEsIEdMLk9ORV9NSU5VU19TUkNfQUxQSEEsIEdMLk9ORSwgR0wuT05FX01JTlVTX1NSQ19BTFBIQV0sXG4gICAgICAgIGJsZW5kRXF1YXRpb246IFtHTC5GVU5DX0FERCwgR0wuRlVOQ19BRERdXG4gICAgICB9LFxuICAgICAgZXh0cnVkZWQ6IHRydWUsXG4gICAgICBvcGFjaXR5OiAxLFxuICAgICAgZmlsbGVkOiB0cnVlLFxuICAgICAgZ2V0RWxldmF0aW9uOiAoZmVhdHVyZTogVGlsZURhdGFJdGVtKSA9PiBmZWF0dXJlLnByb3BlcnRpZXMuaGVpZ2h0IHx8IDAsXG4gICAgICBnZXRQb2x5Z29uOiAoZmVhdHVyZTogVGlsZURhdGFJdGVtKSA9PiBmZWF0dXJlLmNvb3JkaW5hdGVzLFxuICAgICAgZ2V0RmlsbENvbG9yOiB0aGlzLnByb3BzLnRocmVlREJ1aWxkaW5nQ29sb3JcbiAgICB9KTtcbiAgfVxuXG4gIHJlbmRlckxheWVycygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgbmV3IERlY2tHTFRpbGVMYXllcih7XG4gICAgICAgIGlkOiBgJHt0aGlzLmlkfS1kZWNrLTNkLWJ1aWxkaW5nYCBhcyBzdHJpbmcsXG4gICAgICAgIGdldFRpbGVEYXRhOiAodGlsZTogVGlsZUxvYWRQcm9wcykgPT5cbiAgICAgICAgICBnZXRUaWxlRGF0YSh0aGlzLnByb3BzLm1hcGJveEFwaVVybCwgdGhpcy5wcm9wcy5tYXBib3hBcGlBY2Nlc3NUb2tlbiwgdGlsZSksXG4gICAgICAgIG1pblpvb206IDEzLFxuICAgICAgICByZW5kZXJTdWJMYXllcnM6IHRoaXMucmVuZGVyU3ViTGF5ZXJzLmJpbmQodGhpcyksXG4gICAgICAgIHVwZGF0ZVRyaWdnZXJzOiB0aGlzLnByb3BzLnVwZGF0ZVRyaWdnZXJzXG4gICAgICB9KVxuICAgIF07XG4gIH1cbn1cbiJdfQ==
@@ -1,9 +0,0 @@
1
- import { Coordinates, FlatFigure, TileDataItem, VectorTileFeature, VectorTileFeatureProperties } from './types';
2
- export declare function getTileData(host: string, token: string, { index: { x, y, z } }: {
3
- index: Coordinates;
4
- }): Promise<TileDataItem[]>;
5
- export declare function decodeTile(x: number, y: number, z: number, arrayBuffer: ArrayBuffer): TileDataItem[];
6
- export declare function vectorTileFeatureToProp(vectorTileFeature: VectorTileFeature, project: (r: FlatFigure, n: number) => void): {
7
- coordinates: FlatFigure[];
8
- properties: VectorTileFeatureProperties;
9
- }[];
@@ -1,199 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.getTileData = getTileData;
9
- exports.decodeTile = decodeTile;
10
- exports.vectorTileFeatureToProp = vectorTileFeatureToProp;
11
-
12
- var _pbf = _interopRequireDefault(require("pbf"));
13
-
14
- var _vectorTile = require("@mapbox/vector-tile");
15
-
16
- var _viewportMercatorProject = require("viewport-mercator-project");
17
-
18
- // SPDX-License-Identifier: MIT
19
- // Copyright contributors to the kepler.gl project
20
-
21
- /* global fetch */
22
- var TILE_SIZE = 512;
23
- var MAPBOX_HOST = 'https://a.tiles.mapbox.com';
24
- var MAP_SOURCE = '/v4/mapbox.mapbox-streets-v7';
25
-
26
- function getTileData(host, token, _ref) {
27
- var _ref$index = _ref.index,
28
- x = _ref$index.x,
29
- y = _ref$index.y,
30
- z = _ref$index.z;
31
- var mapSource = "".concat(host || MAPBOX_HOST).concat(MAP_SOURCE, "/").concat(z, "/").concat(x, "/").concat(y, ".vector.pbf?access_token=").concat(token);
32
- return fetch(mapSource).then(function (response) {
33
- return response.arrayBuffer();
34
- }).then(function (buffer) {
35
- return decodeTile(x, y, z, buffer);
36
- });
37
- }
38
-
39
- function decodeTile(x, y, z, arrayBuffer) {
40
- var tile = new _vectorTile.VectorTile(new _pbf["default"](arrayBuffer));
41
- var result = [];
42
- var xProj = x * TILE_SIZE;
43
- var yProj = y * TILE_SIZE;
44
- var scale = Math.pow(2, z);
45
- var projectFunc = project.bind(null, xProj, yProj, scale);
46
- /* eslint-disable guard-for-in */
47
-
48
- var layerName = 'building';
49
- var vectorTileLayer = tile.layers[layerName];
50
-
51
- if (!vectorTileLayer) {
52
- return [];
53
- }
54
-
55
- for (var i = 0; i < vectorTileLayer.length; i++) {
56
- var vectorTileFeature = vectorTileLayer.feature(i); // @ts-ignore
57
-
58
- var features = vectorTileFeatureToProp(vectorTileFeature, projectFunc);
59
- features.forEach(function (f) {
60
- f.properties.layer = layerName;
61
-
62
- if (f.properties.height) {
63
- result.push(f);
64
- }
65
- });
66
- }
67
-
68
- return result;
69
- }
70
-
71
- function project(x, y, scale, line, extent) {
72
- var sizeToPixel = extent / TILE_SIZE;
73
-
74
- for (var ii = 0; ii < line.length; ii++) {
75
- var p = line[ii]; // LNGLAT
76
-
77
- line[ii] = (0, _viewportMercatorProject.worldToLngLat)([x + p[0] / sizeToPixel, y + p[1] / sizeToPixel], scale);
78
- }
79
- }
80
- /* adapted from @mapbox/vector-tile/lib/vectortilefeature.js for better perf */
81
-
82
- /* eslint-disable */
83
-
84
-
85
- function vectorTileFeatureToProp(vectorTileFeature, project) {
86
- var coords = getCoordinates(vectorTileFeature);
87
- var extent = vectorTileFeature.extent;
88
- var i;
89
- var j;
90
- coords = classifyRings(coords);
91
-
92
- for (i = 0; i < coords.length; i++) {
93
- for (j = 0; j < coords[i].length; j++) {
94
- project(coords[i][j], extent);
95
- }
96
- }
97
-
98
- return coords.map(function (coordinates) {
99
- return {
100
- coordinates: coordinates,
101
- properties: vectorTileFeature.properties
102
- };
103
- });
104
- }
105
-
106
- function getCoordinates(vectorTileFeature) {
107
- var pbf = vectorTileFeature._pbf;
108
- pbf.pos = vectorTileFeature._geometry;
109
- var end = pbf.readVarint() + pbf.pos;
110
- var cmd = 1;
111
- var length = 0;
112
- var x = 0;
113
- var y = 0;
114
- var lines = [];
115
- var line;
116
-
117
- while (pbf.pos < end) {
118
- if (length <= 0) {
119
- var cmdLen = pbf.readVarint();
120
- cmd = cmdLen & 0x7;
121
- length = cmdLen >> 3;
122
- }
123
-
124
- length--;
125
-
126
- if (cmd === 1 || cmd === 2) {
127
- x += pbf.readSVarint();
128
- y += pbf.readSVarint();
129
-
130
- if (cmd === 1) {
131
- // moveTo
132
- if (line) lines.push(line);
133
- line = [];
134
- }
135
-
136
- if (line) line.push([x, y]);
137
- } else if (cmd === 7) {
138
- // Workaround for https://github.com/mapbox/mapnik-vector-tile/issues/90
139
- if (line) {
140
- line.push(line[0].slice()); // closePolygon
141
- }
142
- } else {
143
- throw new Error("unknown command ".concat(cmd));
144
- }
145
- }
146
-
147
- if (line) lines.push(line);
148
- return lines;
149
- } // classifies an array of rings into polygons with outer rings and holes
150
-
151
-
152
- function classifyRings(rings) {
153
- var len = rings.length;
154
- if (len <= 1) return [rings];
155
- var polygons = [];
156
- var polygon;
157
- var ccw;
158
-
159
- for (var i = 0; i < len; i++) {
160
- var area = signedArea(rings[i]);
161
-
162
- if (area === 0) {
163
- continue;
164
- }
165
-
166
- if (ccw === undefined) {
167
- ccw = area < 0;
168
- }
169
-
170
- if (ccw === area < 0) {
171
- if (polygon) {
172
- polygons.push(polygon);
173
- }
174
-
175
- polygon = [rings[i]];
176
- } else if (polygon) {
177
- polygon.push(rings[i]);
178
- }
179
- }
180
-
181
- if (polygon) {
182
- polygons.push(polygon);
183
- }
184
-
185
- return polygons;
186
- }
187
-
188
- function signedArea(ring) {
189
- var sum = 0;
190
-
191
- for (var i = 0, len = ring.length, j = len - 1, p1, p2; i < len; j = i++) {
192
- p1 = ring[i];
193
- p2 = ring[j];
194
- sum += (p2[0] - p1[0]) * (p1[1] + p2[1]);
195
- }
196
-
197
- return sum;
198
- }
199
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy8zZC1idWlsZGluZy1sYXllci8zZC1idWlsZGluZy11dGlscy50cyJdLCJuYW1lcyI6WyJUSUxFX1NJWkUiLCJNQVBCT1hfSE9TVCIsIk1BUF9TT1VSQ0UiLCJnZXRUaWxlRGF0YSIsImhvc3QiLCJ0b2tlbiIsImluZGV4IiwieCIsInkiLCJ6IiwibWFwU291cmNlIiwiZmV0Y2giLCJ0aGVuIiwicmVzcG9uc2UiLCJhcnJheUJ1ZmZlciIsImJ1ZmZlciIsImRlY29kZVRpbGUiLCJ0aWxlIiwiVmVjdG9yVGlsZSIsIlByb3RvYnVmIiwicmVzdWx0IiwieFByb2oiLCJ5UHJvaiIsInNjYWxlIiwiTWF0aCIsInBvdyIsInByb2plY3RGdW5jIiwicHJvamVjdCIsImJpbmQiLCJsYXllck5hbWUiLCJ2ZWN0b3JUaWxlTGF5ZXIiLCJsYXllcnMiLCJpIiwibGVuZ3RoIiwidmVjdG9yVGlsZUZlYXR1cmUiLCJmZWF0dXJlIiwiZmVhdHVyZXMiLCJ2ZWN0b3JUaWxlRmVhdHVyZVRvUHJvcCIsImZvckVhY2giLCJmIiwicHJvcGVydGllcyIsImxheWVyIiwiaGVpZ2h0IiwicHVzaCIsImxpbmUiLCJleHRlbnQiLCJzaXplVG9QaXhlbCIsImlpIiwicCIsImNvb3JkcyIsImdldENvb3JkaW5hdGVzIiwiaiIsImNsYXNzaWZ5UmluZ3MiLCJtYXAiLCJjb29yZGluYXRlcyIsInBiZiIsIl9wYmYiLCJwb3MiLCJfZ2VvbWV0cnkiLCJlbmQiLCJyZWFkVmFyaW50IiwiY21kIiwibGluZXMiLCJjbWRMZW4iLCJyZWFkU1ZhcmludCIsInNsaWNlIiwiRXJyb3IiLCJyaW5ncyIsImxlbiIsInBvbHlnb25zIiwicG9seWdvbiIsImNjdyIsImFyZWEiLCJzaWduZWRBcmVhIiwidW5kZWZpbmVkIiwicmluZyIsInN1bSIsInAxIiwicDIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBTEE7QUFDQTs7QUFhQTtBQUNBLElBQU1BLFNB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Q0FBRCxDQUFOLENBQVY7QUFDRCxLQUxELE1BS08sSUFBSXNDLE9BQUosRUFBYTtBQUNsQkEsTUFBQUEsT0FBTyxDQUFDM0IsSUFBUixDQUFhd0IsS0FBSyxDQUFDbkMsQ0FBRCxDQUFsQjtBQUNEO0FBQ0Y7O0FBQ0QsTUFBSXNDLE9BQUosRUFBYTtBQUNYRCxJQUFBQSxRQUFRLENBQUMxQixJQUFULENBQWMyQixPQUFkO0FBQ0Q7O0FBRUQsU0FBT0QsUUFBUDtBQUNEOztBQUVELFNBQVNJLFVBQVQsQ0FBb0JFLElBQXBCLEVBQThDO0FBQzVDLE1BQUlDLEdBQUcsR0FBRyxDQUFWOztBQUNBLE9BQUssSUFBSTVDLENBQUMsR0FBRyxDQUFSLEVBQVdvQyxHQUFHLEdBQUdPLElBQUksQ0FBQzFDLE1BQXRCLEVBQThCa0IsQ0FBQyxHQUFHaUIsR0FBRyxHQUFHLENBQXhDLEVBQTJDUyxFQUEzQyxFQUF5REMsRUFBOUQsRUFBNEU5QyxDQUFDLEdBQUdvQyxHQUFoRixFQUFxRmpCLENBQUMsR0FBR25CLENBQUMsRUFBMUYsRUFBOEY7QUFDNUY2QyxJQUFBQSxFQUFFLEdBQUdGLElBQUksQ0FBQzNDLENBQUQsQ0FBVDtBQUNBOEMsSUFBQUEsRUFBRSxHQUFHSCxJQUFJLENBQUN4QixDQUFELENBQVQ7QUFDQXlCLElBQUFBLEdBQUcsSUFBSSxDQUFDRSxFQUFFLENBQUMsQ0FBRCxDQUFGLEdBQVFELEVBQUUsQ0FBQyxDQUFELENBQVgsS0FBbUJBLEVBQUUsQ0FBQyxDQUFELENBQUYsR0FBUUMsRUFBRSxDQUFDLENBQUQsQ0FBN0IsQ0FBUDtBQUNEOztBQUNELFNBQU9GLEdBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBQcm90b2J1ZiBmcm9tICdwYmYnO1xuaW1wb3J0IHtWZWN0b3JUaWxlfSBmcm9tICdAbWFwYm94L3ZlY3Rvci10aWxlJztcbmltcG9ydCB7d29ybGRUb0xuZ0xhdH0gZnJvbSAndmlld3BvcnQtbWVyY2F0b3ItcHJvamVjdCc7XG5pbXBvcnQge1xuICBDb29yZGluYXRlcyxcbiAgRmxhdEZpZ3VyZSxcbiAgVGlsZURhdGFJdGVtLFxuICBWZWN0b3JUaWxlRmVhdHVyZSxcbiAgVmVjdG9yVGlsZUZlYXR1cmVQcm9wZXJ0aWVzXG59IGZyb20gJy4vdHlwZXMnO1xuXG4vKiBnbG9iYWwgZmV0Y2ggKi9cbmNvbnN0IFRJTEVfU0laRSA9IDUxMjtcbmNvbnN0IE1BUEJPWF9IT1NUID0gJ2h0dHBzOi8vYS50aWxlcy5tYXBib3guY29tJztcbmNvbnN0IE1BUF9TT1VSQ0UgPSAnL3Y0L21hcGJveC5tYXBib3gtc3RyZWV0cy12Nyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUaWxlRGF0YShcbiAgaG9zdDogc3RyaW5nLFxuICB0b2tlbjogc3RyaW5nLFxuICB7aW5kZXg6IHt4LCB5LCB6fX06IHtpbmRleDogQ29vcmRpbmF0ZXN9XG4pOiBQcm9taXNlPFRpbGVEYXRhSXRlbVtdPiB7XG4gIGNvbnN0IG1hcFNvdXJjZSA9IGAke2hvc3QgfHxcbiAgICBNQVBCT1hfSE9TVH0ke01BUF9TT1VSQ0V9LyR7en0vJHt4fS8ke3l9LnZlY3Rvci5wYmY/YWNjZXNzX3Rva2VuPSR7dG9rZW59YDtcblxuICByZXR1cm4gZmV0Y2gobWFwU291cmNlKVxuICAgIC50aGVuKHJlc3BvbnNlID0+IHJlc3BvbnNlLmFycmF5QnVmZmVyKCkpXG4gICAgLnRoZW4oYnVmZmVyID0+IGRlY29kZVRpbGUoeCwgeSwgeiwgYnVmZmVyKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVUaWxlKFxuICB4OiBudW1iZXIsXG4gIHk6IG51bWJlcixcbiAgejogbnVtYmVyLFxuICBhcnJheUJ1ZmZlcjogQXJyYXlCdWZmZXJcbik6IFRpbGVEYXRhSXRlbVtdIHtcbiAgY29uc3QgdGlsZSA9IG5ldyBWZWN0b3JUaWxlKG5ldyBQcm90b2J1ZihhcnJheUJ1ZmZlcikpO1xuXG4gIGNvbnN0IHJlc3VsdDogVGlsZURhdGFJdGVtW10gPSBbXTtcbiAgY29uc3QgeFByb2ogPSB4ICogVElMRV9TSVpFO1xuICBjb25zdCB5UHJvaiA9IHkgKiBUSUxFX1NJWkU7XG4gIGNvbnN0IHNjYWxlID0gTWF0aC5wb3coMiwgeik7XG5cbiAgY29uc3QgcHJvamVjdEZ1bmMgPSBwcm9qZWN0LmJpbmQobnVsbCwgeFByb2osIHlQcm9qLCBzY2FsZSk7XG5cbiAgLyogZXNsaW50LWRpc2FibGUgZ3VhcmQtZm9yLWluICovXG4gIGNvbnN0IGxheWVyTmFtZSA9ICdidWlsZGluZyc7XG4gIGNvbnN0IHZlY3RvclRpbGVMYXllciA9IHRpbGUubGF5ZXJzW2xheWVyTmFtZV07XG4gIGlmICghdmVjdG9yVGlsZUxheWVyKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdmVjdG9yVGlsZUxheWVyLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgdmVjdG9yVGlsZUZlYXR1cmUgPSB2ZWN0b3JUaWxlTGF5ZXIuZmVhdHVyZShpKTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgZmVhdHVyZXMgPSB2ZWN0b3JUaWxlRmVhdHVyZVRvUHJvcCh2ZWN0b3JUaWxlRmVhdHVyZSwgcHJvamVjdEZ1bmMpO1xuICAgIGZlYXR1cmVzLmZvckVhY2goZiA9PiB7XG4gICAgICBmLnByb3BlcnRpZXMubGF5ZXIgPSBsYXllck5hbWU7XG4gICAgICBpZiAoZi5wcm9wZXJ0aWVzLmhlaWdodCkge1xuICAgICAgICByZXN1bHQucHVzaChmKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiBwcm9qZWN0KHg6IG51bWJlciwgeTogbnVtYmVyLCBzY2FsZTogbnVtYmVyLCBsaW5lOiBGbGF0RmlndXJlLCBleHRlbnQ6IG51bWJlcik6IHZvaWQge1xuICBjb25zdCBzaXplVG9QaXhlbCA9IGV4dGVudCAvIFRJTEVfU0laRTtcblxuICBmb3IgKGxldCBpaSA9IDA7IGlpIDwgbGluZS5sZW5ndGg7IGlpKyspIHtcbiAgICBjb25zdCBwID0gbGluZVtpaV07XG4gICAgLy8gTE5HTEFUXG4gICAgbGluZVtpaV0gPSB3b3JsZFRvTG5nTGF0KFt4ICsgcFswXSAvIHNpemVUb1BpeGVsLCB5ICsgcFsxXSAvIHNpemVUb1BpeGVsXSwgc2NhbGUpO1xuICB9XG59XG5cbi8qIGFkYXB0ZWQgZnJvbSBAbWFwYm94L3ZlY3Rvci10aWxlL2xpYi92ZWN0b3J0aWxlZmVhdHVyZS5qcyBmb3IgYmV0dGVyIHBlcmYgKi9cbi8qIGVzbGludC1kaXNhYmxlICovXG5leHBvcnQgZnVuY3Rpb24gdmVjdG9yVGlsZUZlYXR1cmVUb1Byb3AoXG4gIHZlY3RvclRpbGVGZWF0dXJlOiBWZWN0b3JUaWxlRmVhdHVyZSxcbiAgcHJvamVjdDogKHI6IEZsYXRGaWd1cmUsIG46IG51bWJlcikgPT4gdm9pZFxuKToge2Nvb3JkaW5hdGVzOiBGbGF0RmlndXJlW107IHByb3BlcnRpZXM6IFZlY3RvclRpbGVGZWF0dXJlUHJvcGVydGllc31bXSB7XG4gIGxldCBjb29yZHM6IEZsYXRGaWd1cmVbXVtdIHwgRmxhdEZpZ3VyZVtdID0gZ2V0Q29vcmRpbmF0ZXModmVjdG9yVGlsZUZlYXR1cmUpO1xuICBjb25zdCBleHRlbnQgPSB2ZWN0b3JUaWxlRmVhdHVyZS5leHRlbnQ7XG4gIGxldCBpOiBudW1iZXI7XG4gIGxldCBqOiBudW1iZXI7XG5cbiAgY29vcmRzID0gY2xhc3NpZnlSaW5ncyhjb29yZHMpO1xuICBmb3IgKGkgPSAwOyBpIDwgY29vcmRzLmxlbmd0aDsgaSsrKSB7XG4gICAgZm9yIChqID0gMDsgaiA8IGNvb3Jkc1tpXS5sZW5ndGg7IGorKykge1xuICAgICAgcHJvamVjdChjb29yZHNbaV1bal0sIGV4dGVudCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvb3Jkcy5tYXAoY29vcmRpbmF0ZXMgPT4gKHtcbiAgICBjb29yZGluYXRlcyxcbiAgICBwcm9wZXJ0aWVzOiB2ZWN0b3JUaWxlRmVhdHVyZS5wcm9wZXJ0aWVzXG4gIH0pKTtcbn1cblxuZnVuY3Rpb24gZ2V0Q29vcmRpbmF0ZXModmVjdG9yVGlsZUZlYXR1cmU6IFZlY3RvclRpbGVGZWF0dXJlKTogRmxhdEZpZ3VyZVtdIHtcbiAgY29uc3QgcGJmID0gdmVjdG9yVGlsZUZlYXR1cmUuX3BiZjtcbiAgcGJmLnBvcyA9IHZlY3RvclRpbGVGZWF0dXJlLl9nZW9tZXRyeTtcblxuICBjb25zdCBlbmQgPSBwYmYucmVhZFZhcmludCgpICsgcGJmLnBvcztcbiAgbGV0IGNtZCA9IDE7XG4gIGxldCBsZW5ndGggPSAwO1xuICBsZXQgeCA9IDA7XG4gIGxldCB5ID0gMDtcblxuICBjb25zdCBsaW5lczogRmxhdEZpZ3VyZVtdID0gW107XG4gIGxldCBsaW5lOiBGbGF0RmlndXJlIHwgdW5kZWZpbmVkO1xuXG4gIHdoaWxlIChwYmYucG9zIDwgZW5kKSB7XG4gICAgaWYgKGxlbmd0aCA8PSAwKSB7XG4gICAgICBjb25zdCBjbWRMZW4gPSBwYmYucmVhZFZhcmludCgpO1xuICAgICAgY21kID0gY21kTGVuICYgMHg3O1xuICAgICAgbGVuZ3RoID0gY21kTGVuID4+IDM7XG4gICAgfVxuXG4gICAgbGVuZ3RoLS07XG5cbiAgICBpZiAoY21kID09PSAxIHx8IGNtZCA9PT0gMikge1xuICAgICAgeCArPSBwYmYucmVhZFNWYXJpbnQoKTtcbiAgICAgIHkgKz0gcGJmLnJlYWRTVmFyaW50KCk7XG5cbiAgICAgIGlmIChjbWQgPT09IDEpIHtcbiAgICAgICAgLy8gbW92ZVRvXG4gICAgICAgIGlmIChsaW5lKSBsaW5lcy5wdXNoKGxpbmUpO1xuICAgICAgICBsaW5lID0gW107XG4gICAgICB9XG5cbiAgICAgIGlmIChsaW5lKSBsaW5lLnB1c2goW3gsIHldKTtcbiAgICB9IGVsc2UgaWYgKGNtZCA9PT0gNykge1xuICAgICAgLy8gV29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL21hcGJveC9tYXBuaWstdmVjdG9yLXRpbGUvaXNzdWVzLzkwXG4gICAgICBpZiAobGluZSkge1xuICAgICAgICBsaW5lLnB1c2gobGluZVswXS5zbGljZSgpIGFzIFtudW1iZXIsIG51bWJlcl0gfCBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0pOyAvLyBjbG9zZVBvbHlnb25cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB1bmtub3duIGNvbW1hbmQgJHtjbWR9YCk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGxpbmUpIGxpbmVzLnB1c2gobGluZSk7XG5cbiAgcmV0dXJuIGxpbmVzO1xufVxuXG4vLyBjbGFzc2lmaWVzIGFuIGFycmF5IG9mIHJpbmdzIGludG8gcG9seWdvbnMgd2l0aCBvdXRlciByaW5ncyBhbmQgaG9sZXNcblxuZnVuY3Rpb24gY2xhc3NpZnlSaW5ncyhyaW5nczogRmxhdEZpZ3VyZVtdKTogRmxhdEZpZ3VyZVtdW10ge1xuICBjb25zdCBsZW4gPSByaW5ncy5sZW5ndGg7XG5cbiAgaWYgKGxlbiA8PSAxKSByZXR1cm4gW3JpbmdzXTtcblxuICBjb25zdCBwb2x5Z29uczogRmxhdEZpZ3VyZVtdW10gPSBbXTtcbiAgbGV0IHBvbHlnb246IEZsYXRGaWd1cmVbXSB8IHVuZGVmaW5lZDtcbiAgbGV0IGNjdzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgY29uc3QgYXJlYSA9IHNpZ25lZEFyZWEocmluZ3NbaV0pO1xuICAgIGlmIChhcmVhID09PSAwKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAoY2N3ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNjdyA9IGFyZWEgPCAwO1xuICAgIH1cblxuICAgIGlmIChjY3cgPT09IGFyZWEgPCAwKSB7XG4gICAgICBpZiAocG9seWdvbikge1xuICAgICAgICBwb2x5Z29ucy5wdXNoKHBvbHlnb24pO1xuICAgICAgfVxuICAgICAgcG9seWdvbiA9IFtyaW5nc1tpXV07XG4gICAgfSBlbHNlIGlmIChwb2x5Z29uKSB7XG4gICAgICBwb2x5Z29uLnB1c2gocmluZ3NbaV0pO1xuICAgIH1cbiAgfVxuICBpZiAocG9seWdvbikge1xuICAgIHBvbHlnb25zLnB1c2gocG9seWdvbik7XG4gIH1cblxuICByZXR1cm4gcG9seWdvbnM7XG59XG5cbmZ1bmN0aW9uIHNpZ25lZEFyZWEocmluZzogRmxhdEZpZ3VyZSk6IG51bWJlciB7XG4gIGxldCBzdW0gPSAwO1xuICBmb3IgKGxldCBpID0gMCwgbGVuID0gcmluZy5sZW5ndGgsIGogPSBsZW4gLSAxLCBwMTogbnVtYmVyW10sIHAyOiBudW1iZXJbXTsgaSA8IGxlbjsgaiA9IGkrKykge1xuICAgIHAxID0gcmluZ1tpXTtcbiAgICBwMiA9IHJpbmdbal07XG4gICAgc3VtICs9IChwMlswXSAtIHAxWzBdKSAqIChwMVsxXSArIHAyWzFdKTtcbiAgfVxuICByZXR1cm4gc3VtO1xufVxuIl19
@@ -1,51 +0,0 @@
1
- import { RGBColor } from '@kepler.gl/types';
2
- export declare type TileIndex = {
3
- x: number;
4
- y: number;
5
- z: number;
6
- };
7
- export declare type TileLoadProps = {
8
- id: string;
9
- index: TileIndex;
10
- bbox: any;
11
- url?: string | null;
12
- signal?: AbortSignal;
13
- userData?: Record<string, any>;
14
- zoom?: number;
15
- };
16
- export declare type ThreeDBuildingLayerProps = {
17
- id: string;
18
- mapboxApiAccessToken: string;
19
- mapboxApiUrl: string;
20
- threeDBuildingColor: RGBColor;
21
- updateTriggers: {
22
- getFillColor: RGBColor;
23
- };
24
- };
25
- export declare type Coordinates = {
26
- x: number;
27
- y: number;
28
- z: number;
29
- };
30
- export declare type FlatFigure = ([number, number] | [number, number, number])[];
31
- export declare type TileDataItem = {
32
- coordinates: FlatFigure[];
33
- properties: VectorTileFeatureProperties;
34
- };
35
- export declare type VectorTileFeatureProperties = {
36
- layer: string;
37
- height?: number;
38
- };
39
- export declare type VectorTileFeature = {
40
- extent: number;
41
- properties: VectorTileFeatureProperties;
42
- _pbf: {
43
- buf: ArrayBuffer;
44
- pos: number;
45
- type: number;
46
- length: number;
47
- readVarint: (b?: boolean) => number;
48
- readSVarint: () => number;
49
- };
50
- _geometry: number;
51
- };
@@ -1,6 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbXX0=
@@ -1,42 +0,0 @@
1
- /// <reference types="deck.gl" />
2
- /// <reference types="@deck.gl/core" />
3
- /// <reference types="@danmarshall/deckgl-typings/deck.gl__core" />
4
- import { ScatterplotLayer } from '@deck.gl/layers';
5
- import { _AggregationLayer as AggregationLayer } from '@deck.gl/aggregation-layers';
6
- import { AggregationType } from '../layer-utils/cpu-aggregator';
7
- import { AggregationLayerProps } from '@deck.gl/aggregation-layers/aggregation-layer';
8
- export declare const clusterAggregation: AggregationType;
9
- export default class ClusterLayer extends AggregationLayer<any, AggregationLayerProps<any> & {
10
- radiusScale: number;
11
- }> {
12
- initializeState(): void;
13
- updateState({ oldProps, props, changeFlags }: {
14
- oldProps: any;
15
- props: any;
16
- changeFlags: any;
17
- }): void;
18
- getPickingInfo({ info }: {
19
- info: any;
20
- }): any;
21
- _getSublayerUpdateTriggers(): any;
22
- _getSubLayerAccessors(): {
23
- getRadius: any;
24
- getFillColor: any;
25
- };
26
- renderLayers(): ScatterplotLayer<unknown, {
27
- getRadius: any;
28
- getFillColor: any;
29
- id: string;
30
- data: any;
31
- radiusScale: number;
32
- visible: boolean | undefined;
33
- opacity: number | undefined;
34
- pickable: boolean | undefined;
35
- autoHighlight: boolean | undefined;
36
- highlightColor: import("@deck.gl/core/utils/color").RGBAColor | ((pickInfo: import("@deck.gl/core/lib/deck").PickInfo<any>) => import("@deck.gl/core/utils/color").RGBAColor) | undefined;
37
- updateTriggers: any;
38
- parameters: {
39
- depthMask: boolean;
40
- };
41
- }>;
42
- }