@kepler.gl/deckgl-layers 3.0.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.
- package/dist/3d-building-layer/3d-building-layer.d.ts +11 -0
- package/dist/3d-building-layer/3d-building-layer.js +109 -0
- package/dist/3d-building-layer/3d-building-utils.d.ts +7 -0
- package/dist/3d-building-layer/3d-building-utils.js +212 -0
- package/dist/3d-building-layer/types.d.ts +37 -0
- package/dist/3d-building-layer/types.js +26 -0
- package/dist/cluster-layer/cluster-layer.d.ts +42 -0
- package/dist/cluster-layer/cluster-layer.js +349 -0
- package/dist/column-layer/enhanced-column-layer.d.ts +7 -0
- package/dist/column-layer/enhanced-column-layer.js +98 -0
- package/dist/grid-layer/enhanced-cpu-grid-layer.d.ts +7 -0
- package/dist/grid-layer/enhanced-cpu-grid-layer.js +105 -0
- package/dist/hexagon-layer/enhanced-hexagon-layer.d.ts +7 -0
- package/dist/hexagon-layer/enhanced-hexagon-layer.js +105 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +135 -0
- package/dist/layer-utils/cluster-utils.d.ts +22 -0
- package/dist/layer-utils/cluster-utils.js +120 -0
- package/dist/layer-utils/cpu-aggregator.d.ts +93 -0
- package/dist/layer-utils/cpu-aggregator.js +669 -0
- package/dist/layer-utils/shader-utils.d.ts +1 -0
- package/dist/layer-utils/shader-utils.js +48 -0
- package/dist/line-layer/line-layer.d.ts +12 -0
- package/dist/line-layer/line-layer.js +132 -0
- package/dist/svg-icon-layer/scatterplot-icon-layer.d.ts +9 -0
- package/dist/svg-icon-layer/scatterplot-icon-layer.js +99 -0
- package/dist/svg-icon-layer/svg-icon-layer.d.ts +22 -0
- package/dist/svg-icon-layer/svg-icon-layer.js +147 -0
- package/package.json +71 -0
@@ -0,0 +1,105 @@
|
|
1
|
+
// Copyright (c) 2022 Uber Technologies, Inc.
|
2
|
+
//
|
3
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
// of this software and associated documentation files (the "Software"), to deal
|
5
|
+
// in the Software without restriction, including without limitation the rights
|
6
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
// copies of the Software, and to permit persons to whom the Software is
|
8
|
+
// furnished to do so, subject to the following conditions:
|
9
|
+
//
|
10
|
+
// The above copyright notice and this permission notice shall be included in
|
11
|
+
// all copies or substantial portions of the Software.
|
12
|
+
//
|
13
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
// THE SOFTWARE.
|
20
|
+
|
21
|
+
"use strict";
|
22
|
+
|
23
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
24
|
+
|
25
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
26
|
+
|
27
|
+
Object.defineProperty(exports, "__esModule", {
|
28
|
+
value: true
|
29
|
+
});
|
30
|
+
exports["default"] = exports.hexagonAggregation = void 0;
|
31
|
+
|
32
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
33
|
+
|
34
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
35
|
+
|
36
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
37
|
+
|
38
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
39
|
+
|
40
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
41
|
+
|
42
|
+
var _aggregationLayers = require("@deck.gl/aggregation-layers");
|
43
|
+
|
44
|
+
var _cpuAggregator = _interopRequireWildcard(require("../layer-utils/cpu-aggregator"));
|
45
|
+
|
46
|
+
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); }; }
|
47
|
+
|
48
|
+
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; } }
|
49
|
+
|
50
|
+
var hexagonAggregation = {
|
51
|
+
key: 'position',
|
52
|
+
updateSteps: [{
|
53
|
+
key: 'aggregate',
|
54
|
+
triggers: {
|
55
|
+
cellSize: {
|
56
|
+
prop: 'radius'
|
57
|
+
},
|
58
|
+
position: {
|
59
|
+
prop: 'getPosition',
|
60
|
+
updateTrigger: 'getPosition'
|
61
|
+
},
|
62
|
+
aggregator: {
|
63
|
+
prop: 'hexagonAggregator'
|
64
|
+
}
|
65
|
+
},
|
66
|
+
updater: _cpuAggregator.getAggregatedData
|
67
|
+
}]
|
68
|
+
};
|
69
|
+
exports.hexagonAggregation = hexagonAggregation;
|
70
|
+
|
71
|
+
var ScaleEnhancedHexagonLayer = /*#__PURE__*/function (_HexagonLayer) {
|
72
|
+
(0, _inherits2["default"])(ScaleEnhancedHexagonLayer, _HexagonLayer);
|
73
|
+
|
74
|
+
var _super = _createSuper(ScaleEnhancedHexagonLayer);
|
75
|
+
|
76
|
+
function ScaleEnhancedHexagonLayer() {
|
77
|
+
(0, _classCallCheck2["default"])(this, ScaleEnhancedHexagonLayer);
|
78
|
+
return _super.apply(this, arguments);
|
79
|
+
}
|
80
|
+
|
81
|
+
(0, _createClass2["default"])(ScaleEnhancedHexagonLayer, [{
|
82
|
+
key: "initializeState",
|
83
|
+
value: function initializeState() {
|
84
|
+
var cpuAggregator = new _cpuAggregator["default"]({
|
85
|
+
aggregation: hexagonAggregation
|
86
|
+
});
|
87
|
+
this.state = {
|
88
|
+
cpuAggregator: cpuAggregator,
|
89
|
+
aggregatorState: cpuAggregator.state
|
90
|
+
};
|
91
|
+
var attributeManager = this.getAttributeManager();
|
92
|
+
attributeManager.add({
|
93
|
+
positions: {
|
94
|
+
size: 3,
|
95
|
+
accessor: 'getPosition'
|
96
|
+
}
|
97
|
+
});
|
98
|
+
}
|
99
|
+
}]);
|
100
|
+
return ScaleEnhancedHexagonLayer;
|
101
|
+
}(_aggregationLayers.HexagonLayer);
|
102
|
+
|
103
|
+
exports["default"] = ScaleEnhancedHexagonLayer;
|
104
|
+
ScaleEnhancedHexagonLayer.layerName = 'ScaleEnhancedHexagonLayer';
|
105
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZXhhZ29uLWxheWVyL2VuaGFuY2VkLWhleGFnb24tbGF5ZXIudHMiXSwibmFtZXMiOlsiaGV4YWdvbkFnZ3JlZ2F0aW9uIiwia2V5IiwidXBkYXRlU3RlcHMiLCJ0cmlnZ2VycyIsImNlbGxTaXplIiwicHJvcCIsInBvc2l0aW9uIiwidXBkYXRlVHJpZ2dlciIsImFnZ3JlZ2F0b3IiLCJ1cGRhdGVyIiwiZ2V0QWdncmVnYXRlZERhdGEiLCJTY2FsZUVuaGFuY2VkSGV4YWdvbkxheWVyIiwiY3B1QWdncmVnYXRvciIsIkNQVUFnZ3JlZ2F0b3IiLCJhZ2dyZWdhdGlvbiIsInN0YXRlIiwiYWdncmVnYXRvclN0YXRlIiwiYXR0cmlidXRlTWFuYWdlciIsImdldEF0dHJpYnV0ZU1hbmFnZXIiLCJhZGQiLCJwb3NpdGlvbnMiLCJzaXplIiwiYWNjZXNzb3IiLCJIZXhhZ29uTGF5ZXIiLCJsYXllck5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7Ozs7O0FBRU8sSUFBTUEsa0JBQW1DLEdBQUc7QUFDakRDLEVBQUFBLEdBQUcsRUFBRSxVQUQ0QztBQUVqREMsRUFBQUEsV0FBVyxFQUFFLENBQ1g7QUFDRUQsSUFBQUEsR0FBRyxFQUFFLFdBRFA7QUFFRUUsSUFBQUEsUUFBUSxFQUFFO0FBQ1JDLE1BQUFBLFFBQVEsRUFBRTtBQUNSQyxRQUFBQSxJQUFJLEVBQUU7QUFERSxPQURGO0FBSVJDLE1BQUFBLFFBQVEsRUFBRTtBQUNSRCxRQUFBQSxJQUFJLEVBQUUsYUFERTtBQUVSRSxRQUFBQSxhQUFhLEVBQUU7QUFGUCxPQUpGO0FBUVJDLE1BQUFBLFVBQVUsRUFBRTtBQUNWSCxRQUFBQSxJQUFJLEVBQUU7QUFESTtBQVJKLEtBRlo7QUFjRUksSUFBQUEsT0FBTyxFQUFFQztBQWRYLEdBRFc7QUFGb0MsQ0FBNUM7OztJQXNCY0MseUI7Ozs7Ozs7Ozs7OztXQUNuQiwyQkFBa0I7QUFDaEIsVUFBTUMsYUFBYSxHQUFHLElBQUlDLHlCQUFKLENBQWtCO0FBQ3RDQyxRQUFBQSxXQUFXLEVBQUVkO0FBRHlCLE9BQWxCLENBQXRCO0FBSUEsV0FBS2UsS0FBTCxHQUFhO0FBQ1hILFFBQUFBLGFBQWEsRUFBYkEsYUFEVztBQUVYSSxRQUFBQSxlQUFlLEVBQUVKLGFBQWEsQ0FBQ0c7QUFGcEIsT0FBYjtBQUlBLFVBQU1FLGdCQUFnQixHQUFHLEtBQUtDLG1CQUFMLEVBQXpCO0FBQ0FELE1BQUFBLGdCQUFnQixDQUFDRSxHQUFqQixDQUFxQjtBQUNuQkMsUUFBQUEsU0FBUyxFQUFFO0FBQUNDLFVBQUFBLElBQUksRUFBRSxDQUFQO0FBQVVDLFVBQUFBLFFBQVEsRUFBRTtBQUFwQjtBQURRLE9BQXJCO0FBR0Q7OztFQWRvREMsK0I7OztBQWlCdkRaLHlCQUF5QixDQUFDYSxTQUExQixHQUFzQywyQkFBdEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge0hleGFnb25MYXllcn0gZnJvbSAnQGRlY2suZ2wvYWdncmVnYXRpb24tbGF5ZXJzJztcbmltcG9ydCBDUFVBZ2dyZWdhdG9yLCB7QWdncmVnYXRpb25UeXBlLCBnZXRBZ2dyZWdhdGVkRGF0YX0gZnJvbSAnLi4vbGF5ZXItdXRpbHMvY3B1LWFnZ3JlZ2F0b3InO1xuXG5leHBvcnQgY29uc3QgaGV4YWdvbkFnZ3JlZ2F0aW9uOiBBZ2dyZWdhdGlvblR5cGUgPSB7XG4gIGtleTogJ3Bvc2l0aW9uJyxcbiAgdXBkYXRlU3RlcHM6IFtcbiAgICB7XG4gICAgICBrZXk6ICdhZ2dyZWdhdGUnLFxuICAgICAgdHJpZ2dlcnM6IHtcbiAgICAgICAgY2VsbFNpemU6IHtcbiAgICAgICAgICBwcm9wOiAncmFkaXVzJ1xuICAgICAgICB9LFxuICAgICAgICBwb3NpdGlvbjoge1xuICAgICAgICAgIHByb3A6ICdnZXRQb3NpdGlvbicsXG4gICAgICAgICAgdXBkYXRlVHJpZ2dlcjogJ2dldFBvc2l0aW9uJ1xuICAgICAgICB9LFxuICAgICAgICBhZ2dyZWdhdG9yOiB7XG4gICAgICAgICAgcHJvcDogJ2hleGFnb25BZ2dyZWdhdG9yJ1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdXBkYXRlcjogZ2V0QWdncmVnYXRlZERhdGFcbiAgICB9XG4gIF1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNjYWxlRW5oYW5jZWRIZXhhZ29uTGF5ZXIgZXh0ZW5kcyBIZXhhZ29uTGF5ZXI8YW55PiB7XG4gIGluaXRpYWxpemVTdGF0ZSgpIHtcbiAgICBjb25zdCBjcHVBZ2dyZWdhdG9yID0gbmV3IENQVUFnZ3JlZ2F0b3Ioe1xuICAgICAgYWdncmVnYXRpb246IGhleGFnb25BZ2dyZWdhdGlvblxuICAgIH0pO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGNwdUFnZ3JlZ2F0b3IsXG4gICAgICBhZ2dyZWdhdG9yU3RhdGU6IGNwdUFnZ3JlZ2F0b3Iuc3RhdGVcbiAgICB9O1xuICAgIGNvbnN0IGF0dHJpYnV0ZU1hbmFnZXIgPSB0aGlzLmdldEF0dHJpYnV0ZU1hbmFnZXIoKTtcbiAgICBhdHRyaWJ1dGVNYW5hZ2VyLmFkZCh7XG4gICAgICBwb3NpdGlvbnM6IHtzaXplOiAzLCBhY2Nlc3NvcjogJ2dldFBvc2l0aW9uJ31cbiAgICB9KTtcbiAgfVxufVxuXG5TY2FsZUVuaGFuY2VkSGV4YWdvbkxheWVyLmxheWVyTmFtZSA9ICdTY2FsZUVuaGFuY2VkSGV4YWdvbkxheWVyJztcbiJdfQ==
|
package/dist/index.d.ts
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
export { default as ThreeDBuildingLayer } from './3d-building-layer/3d-building-layer';
|
2
|
+
export { default as DeckGLClusterLayer } from './cluster-layer/cluster-layer';
|
3
|
+
export { default as EnhancedColumnLayer } from './column-layer/enhanced-column-layer';
|
4
|
+
export { default as EnhancedGridLayer } from './grid-layer/enhanced-cpu-grid-layer';
|
5
|
+
export { default as EnhancedHexagonLayer } from './hexagon-layer/enhanced-hexagon-layer';
|
6
|
+
export { default as EnhancedLineLayer } from './line-layer/line-layer';
|
7
|
+
export { default as SvgIconLayer } from './svg-icon-layer/svg-icon-layer';
|
8
|
+
export * from './layer-utils/shader-utils';
|
9
|
+
export * from './3d-building-layer/types';
|
10
|
+
export * from './3d-building-layer/3d-building-utils';
|
package/dist/index.js
ADDED
@@ -0,0 +1,135 @@
|
|
1
|
+
// Copyright (c) 2022 Uber Technologies, Inc.
|
2
|
+
//
|
3
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
// of this software and associated documentation files (the "Software"), to deal
|
5
|
+
// in the Software without restriction, including without limitation the rights
|
6
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
// copies of the Software, and to permit persons to whom the Software is
|
8
|
+
// furnished to do so, subject to the following conditions:
|
9
|
+
//
|
10
|
+
// The above copyright notice and this permission notice shall be included in
|
11
|
+
// all copies or substantial portions of the Software.
|
12
|
+
//
|
13
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
// THE SOFTWARE.
|
20
|
+
|
21
|
+
"use strict";
|
22
|
+
|
23
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
24
|
+
|
25
|
+
Object.defineProperty(exports, "__esModule", {
|
26
|
+
value: true
|
27
|
+
});
|
28
|
+
var _exportNames = {
|
29
|
+
ThreeDBuildingLayer: true,
|
30
|
+
DeckGLClusterLayer: true,
|
31
|
+
EnhancedColumnLayer: true,
|
32
|
+
EnhancedGridLayer: true,
|
33
|
+
EnhancedHexagonLayer: true,
|
34
|
+
EnhancedLineLayer: true,
|
35
|
+
SvgIconLayer: true
|
36
|
+
};
|
37
|
+
Object.defineProperty(exports, "ThreeDBuildingLayer", {
|
38
|
+
enumerable: true,
|
39
|
+
get: function get() {
|
40
|
+
return _dBuildingLayer["default"];
|
41
|
+
}
|
42
|
+
});
|
43
|
+
Object.defineProperty(exports, "DeckGLClusterLayer", {
|
44
|
+
enumerable: true,
|
45
|
+
get: function get() {
|
46
|
+
return _clusterLayer["default"];
|
47
|
+
}
|
48
|
+
});
|
49
|
+
Object.defineProperty(exports, "EnhancedColumnLayer", {
|
50
|
+
enumerable: true,
|
51
|
+
get: function get() {
|
52
|
+
return _enhancedColumnLayer["default"];
|
53
|
+
}
|
54
|
+
});
|
55
|
+
Object.defineProperty(exports, "EnhancedGridLayer", {
|
56
|
+
enumerable: true,
|
57
|
+
get: function get() {
|
58
|
+
return _enhancedCpuGridLayer["default"];
|
59
|
+
}
|
60
|
+
});
|
61
|
+
Object.defineProperty(exports, "EnhancedHexagonLayer", {
|
62
|
+
enumerable: true,
|
63
|
+
get: function get() {
|
64
|
+
return _enhancedHexagonLayer["default"];
|
65
|
+
}
|
66
|
+
});
|
67
|
+
Object.defineProperty(exports, "EnhancedLineLayer", {
|
68
|
+
enumerable: true,
|
69
|
+
get: function get() {
|
70
|
+
return _lineLayer["default"];
|
71
|
+
}
|
72
|
+
});
|
73
|
+
Object.defineProperty(exports, "SvgIconLayer", {
|
74
|
+
enumerable: true,
|
75
|
+
get: function get() {
|
76
|
+
return _svgIconLayer["default"];
|
77
|
+
}
|
78
|
+
});
|
79
|
+
|
80
|
+
var _dBuildingLayer = _interopRequireDefault(require("./3d-building-layer/3d-building-layer"));
|
81
|
+
|
82
|
+
var _clusterLayer = _interopRequireDefault(require("./cluster-layer/cluster-layer"));
|
83
|
+
|
84
|
+
var _enhancedColumnLayer = _interopRequireDefault(require("./column-layer/enhanced-column-layer"));
|
85
|
+
|
86
|
+
var _enhancedCpuGridLayer = _interopRequireDefault(require("./grid-layer/enhanced-cpu-grid-layer"));
|
87
|
+
|
88
|
+
var _enhancedHexagonLayer = _interopRequireDefault(require("./hexagon-layer/enhanced-hexagon-layer"));
|
89
|
+
|
90
|
+
var _lineLayer = _interopRequireDefault(require("./line-layer/line-layer"));
|
91
|
+
|
92
|
+
var _svgIconLayer = _interopRequireDefault(require("./svg-icon-layer/svg-icon-layer"));
|
93
|
+
|
94
|
+
var _shaderUtils = require("./layer-utils/shader-utils");
|
95
|
+
|
96
|
+
Object.keys(_shaderUtils).forEach(function (key) {
|
97
|
+
if (key === "default" || key === "__esModule") return;
|
98
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
99
|
+
if (key in exports && exports[key] === _shaderUtils[key]) return;
|
100
|
+
Object.defineProperty(exports, key, {
|
101
|
+
enumerable: true,
|
102
|
+
get: function get() {
|
103
|
+
return _shaderUtils[key];
|
104
|
+
}
|
105
|
+
});
|
106
|
+
});
|
107
|
+
|
108
|
+
var _types = require("./3d-building-layer/types");
|
109
|
+
|
110
|
+
Object.keys(_types).forEach(function (key) {
|
111
|
+
if (key === "default" || key === "__esModule") return;
|
112
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
113
|
+
if (key in exports && exports[key] === _types[key]) return;
|
114
|
+
Object.defineProperty(exports, key, {
|
115
|
+
enumerable: true,
|
116
|
+
get: function get() {
|
117
|
+
return _types[key];
|
118
|
+
}
|
119
|
+
});
|
120
|
+
});
|
121
|
+
|
122
|
+
var _dBuildingUtils = require("./3d-building-layer/3d-building-utils");
|
123
|
+
|
124
|
+
Object.keys(_dBuildingUtils).forEach(function (key) {
|
125
|
+
if (key === "default" || key === "__esModule") return;
|
126
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
127
|
+
if (key in exports && exports[key] === _dBuildingUtils[key]) return;
|
128
|
+
Object.defineProperty(exports, key, {
|
129
|
+
enumerable: true,
|
130
|
+
get: function get() {
|
131
|
+
return _dBuildingUtils[key];
|
132
|
+
}
|
133
|
+
});
|
134
|
+
});
|
135
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUNBOztBQUNBOztBQUVBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBRUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtkZWZhdWx0IGFzIFRocmVlREJ1aWxkaW5nTGF5ZXJ9IGZyb20gJy4vM2QtYnVpbGRpbmctbGF5ZXIvM2QtYnVpbGRpbmctbGF5ZXInO1xuXG5leHBvcnQge2RlZmF1bHQgYXMgRGVja0dMQ2x1c3RlckxheWVyfSBmcm9tICcuL2NsdXN0ZXItbGF5ZXIvY2x1c3Rlci1sYXllcic7XG5cbmV4cG9ydCB7ZGVmYXVsdCBhcyBFbmhhbmNlZENvbHVtbkxheWVyfSBmcm9tICcuL2NvbHVtbi1sYXllci9lbmhhbmNlZC1jb2x1bW4tbGF5ZXInO1xuXG5leHBvcnQge2RlZmF1bHQgYXMgRW5oYW5jZWRHcmlkTGF5ZXJ9IGZyb20gJy4vZ3JpZC1sYXllci9lbmhhbmNlZC1jcHUtZ3JpZC1sYXllcic7XG5cbmV4cG9ydCB7ZGVmYXVsdCBhcyBFbmhhbmNlZEhleGFnb25MYXllcn0gZnJvbSAnLi9oZXhhZ29uLWxheWVyL2VuaGFuY2VkLWhleGFnb24tbGF5ZXInO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEVuaGFuY2VkTGluZUxheWVyfSBmcm9tICcuL2xpbmUtbGF5ZXIvbGluZS1sYXllcic7XG5leHBvcnQge2RlZmF1bHQgYXMgU3ZnSWNvbkxheWVyfSBmcm9tICcuL3N2Zy1pY29uLWxheWVyL3N2Zy1pY29uLWxheWVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9sYXllci11dGlscy9zaGFkZXItdXRpbHMnO1xuXG5leHBvcnQgKiBmcm9tICcuLzNkLWJ1aWxkaW5nLWxheWVyL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vM2QtYnVpbGRpbmctbGF5ZXIvM2QtYnVpbGRpbmctdXRpbHMnO1xuIl19
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import Supercluster from 'supercluster';
|
2
|
+
import { MemoizedFunction } from 'lodash';
|
3
|
+
import { BBox, Position } from 'geojson';
|
4
|
+
export declare function getGeoJSON(data: any, getPosition: any, filterData: any): any;
|
5
|
+
export default class ClusterBuilder {
|
6
|
+
clusterer: (({ clusterRadius, geoJSON }: {
|
7
|
+
clusterRadius: number;
|
8
|
+
geoJSON: any;
|
9
|
+
}) => Supercluster) & MemoizedFunction;
|
10
|
+
constructor();
|
11
|
+
clustersAtZoom({ bbox, clusterRadius, geoJSON, zoom }: {
|
12
|
+
bbox: BBox;
|
13
|
+
clusterRadius: number;
|
14
|
+
geoJSON: any;
|
15
|
+
zoom: number;
|
16
|
+
}): {
|
17
|
+
points: any;
|
18
|
+
position: Position;
|
19
|
+
index: number;
|
20
|
+
}[];
|
21
|
+
clearClustererCache(): void;
|
22
|
+
}
|
@@ -0,0 +1,120 @@
|
|
1
|
+
// Copyright (c) 2022 Uber Technologies, Inc.
|
2
|
+
//
|
3
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
// of this software and associated documentation files (the "Software"), to deal
|
5
|
+
// in the Software without restriction, including without limitation the rights
|
6
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
// copies of the Software, and to permit persons to whom the Software is
|
8
|
+
// furnished to do so, subject to the following conditions:
|
9
|
+
//
|
10
|
+
// The above copyright notice and this permission notice shall be included in
|
11
|
+
// all copies or substantial portions of the Software.
|
12
|
+
//
|
13
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
// THE SOFTWARE.
|
20
|
+
|
21
|
+
"use strict";
|
22
|
+
|
23
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
24
|
+
|
25
|
+
Object.defineProperty(exports, "__esModule", {
|
26
|
+
value: true
|
27
|
+
});
|
28
|
+
exports.getGeoJSON = getGeoJSON;
|
29
|
+
exports["default"] = void 0;
|
30
|
+
|
31
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
32
|
+
|
33
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
34
|
+
|
35
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
36
|
+
|
37
|
+
var _supercluster = _interopRequireDefault(require("supercluster"));
|
38
|
+
|
39
|
+
var _lodash = _interopRequireDefault(require("lodash.memoize"));function getGeoJSON(data, getPosition, filterData) {
|
40
|
+
var raw = typeof filterData === 'function' ? data.filter(filterData) : data;
|
41
|
+
return raw.map(function (d) {
|
42
|
+
return {
|
43
|
+
type: 'Point',
|
44
|
+
properties: {
|
45
|
+
data: d,
|
46
|
+
points: [d],
|
47
|
+
point_count: 1,
|
48
|
+
point_count_abbreviated: '1'
|
49
|
+
},
|
50
|
+
geometry: {
|
51
|
+
coordinates: getPosition(d)
|
52
|
+
}
|
53
|
+
};
|
54
|
+
}).filter(function (d) {
|
55
|
+
return d.geometry.coordinates.every(Number.isFinite);
|
56
|
+
});
|
57
|
+
}
|
58
|
+
|
59
|
+
var clusterResolver = function clusterResolver(_ref) {
|
60
|
+
var clusterRadius = _ref.clusterRadius;
|
61
|
+
return "".concat(clusterRadius);
|
62
|
+
};
|
63
|
+
|
64
|
+
var getClusterer = function getClusterer(_ref2) {
|
65
|
+
var clusterRadius = _ref2.clusterRadius,
|
66
|
+
geoJSON = _ref2.geoJSON;
|
67
|
+
return new _supercluster["default"]({
|
68
|
+
maxZoom: 20,
|
69
|
+
radius: clusterRadius,
|
70
|
+
reduce: function reduce(accumulated, props) {
|
71
|
+
accumulated.points = [].concat((0, _toConsumableArray2["default"])(accumulated.points), (0, _toConsumableArray2["default"])(props.points));
|
72
|
+
},
|
73
|
+
map: function map(props) {
|
74
|
+
return {
|
75
|
+
points: [props.data]
|
76
|
+
};
|
77
|
+
}
|
78
|
+
}).load(geoJSON);
|
79
|
+
};
|
80
|
+
|
81
|
+
var ClusterBuilder = /*#__PURE__*/function () {
|
82
|
+
function ClusterBuilder() {
|
83
|
+
(0, _classCallCheck2["default"])(this, ClusterBuilder);
|
84
|
+
this.clusterer = (0, _lodash["default"])(getClusterer, clusterResolver);
|
85
|
+
}
|
86
|
+
|
87
|
+
(0, _createClass2["default"])(ClusterBuilder, [{
|
88
|
+
key: "clustersAtZoom",
|
89
|
+
value: function clustersAtZoom(_ref3) {
|
90
|
+
var bbox = _ref3.bbox,
|
91
|
+
clusterRadius = _ref3.clusterRadius,
|
92
|
+
geoJSON = _ref3.geoJSON,
|
93
|
+
zoom = _ref3.zoom;
|
94
|
+
var clusterer = this.clusterer({
|
95
|
+
clusterRadius: clusterRadius,
|
96
|
+
geoJSON: geoJSON
|
97
|
+
}); // map clusters to formatted bins to be passed to deck.gl bin-sorter
|
98
|
+
|
99
|
+
var clusters = clusterer.getClusters(bbox, zoom).map(function (c, i) {
|
100
|
+
return {
|
101
|
+
points: c.properties.points,
|
102
|
+
position: c.geometry.coordinates,
|
103
|
+
index: i
|
104
|
+
};
|
105
|
+
});
|
106
|
+
return clusters;
|
107
|
+
}
|
108
|
+
}, {
|
109
|
+
key: "clearClustererCache",
|
110
|
+
value: function clearClustererCache() {
|
111
|
+
var _this$clusterer$cache, _this$clusterer$cache2;
|
112
|
+
|
113
|
+
(_this$clusterer$cache = (_this$clusterer$cache2 = this.clusterer.cache).clear) === null || _this$clusterer$cache === void 0 ? void 0 : _this$clusterer$cache.call(_this$clusterer$cache2);
|
114
|
+
}
|
115
|
+
}]);
|
116
|
+
return ClusterBuilder;
|
117
|
+
}();
|
118
|
+
|
119
|
+
exports["default"] = ClusterBuilder;
|
120
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sYXllci11dGlscy9jbHVzdGVyLXV0aWxzLnRzIl0sIm5hbWVzIjpbImdldEdlb0pTT04iLCJkYXRhIiwiZ2V0UG9zaXRpb24iLCJmaWx0ZXJEYXRhIiwicmF3IiwiZmlsdGVyIiwibWFwIiwiZCIsInR5cGUiLCJwcm9wZXJ0aWVzIiwicG9pbnRzIiwicG9pbnRfY291bnQiLCJwb2ludF9jb3VudF9hYmJyZXZpYXRlZCIsImdlb21ldHJ5IiwiY29vcmRpbmF0ZXMiLCJldmVyeSIsIk51bWJlciIsImlzRmluaXRlIiwiY2x1c3RlclJlc29sdmVyIiwiY2x1c3RlclJhZGl1cyIsImdldENsdXN0ZXJlciIsImdlb0pTT04iLCJTdXBlcmNsdXN0ZXIiLCJtYXhab29tIiwicmFkaXVzIiwicmVkdWNlIiwiYWNjdW11bGF0ZWQiLCJwcm9wcyIsImxvYWQiLCJDbHVzdGVyQnVpbGRlciIsImNsdXN0ZXJlciIsImJib3giLCJ6b29tIiwiY2x1c3RlcnMiLCJnZXRDbHVzdGVycyIsImMiLCJpIiwicG9zaXRpb24iLCJpbmRleCIsImNhY2hlIiwiY2xlYXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBT08sU0FBU0EsVUFBVCxDQUFvQkMsSUFBcEIsRUFBMEJDLFdBQTFCLEVBQXVDQyxVQUF2QyxFQUFtRDtBQUN4RCxNQUFNQyxHQUFHLEdBQUcsT0FBT0QsVUFBUCxLQUFzQixVQUF0QixHQUFtQ0YsSUFBSSxDQUFDSSxNQUFMLENBQVlGLFVBQVosQ0FBbkMsR0FBNkRGLElBQXpFO0FBRUEsU0FBT0csR0FBRyxDQUNQRSxHQURJLENBQ0EsVUFBQUMsQ0FBQztBQUFBLFdBQUs7QUFDVEMsTUFBQUEsSUFBSSxFQUFFLE9BREc7QUFFVEMsTUFBQUEsVUFBVSxFQUFFO0FBQ1ZSLFFBQUFBLElBQUksRUFBRU0sQ0FESTtBQUVWRyxRQUFBQSxNQUFNLEVBQUUsQ0FBQ0gsQ0FBRCxDQUZFO0FBR1ZJLFFBQUFBLFdBQVcsRUFBRSxDQUhIO0FBSVZDLFFBQUFBLHVCQUF1QixFQUFFO0FBSmYsT0FGSDtBQVFUQyxNQUFBQSxRQUFRLEVBQUU7QUFDUkMsUUFBQUEsV0FBVyxFQUFFWixXQUFXLENBQUNLLENBQUQ7QUFEaEI7QUFSRCxLQUFMO0FBQUEsR0FERCxFQWFKRixNQWJJLENBYUcsVUFBQUUsQ0FBQztBQUFBLFdBQUlBLENBQUMsQ0FBQ00sUUFBRixDQUFXQyxXQUFYLENBQXVCQyxLQUF2QixDQUE2QkMsTUFBTSxDQUFDQyxRQUFwQyxDQUFKO0FBQUEsR0FiSixDQUFQO0FBY0Q7O0FBRUQsSUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQjtBQUFBLE1BQUVDLGFBQUYsUUFBRUEsYUFBRjtBQUFBLG1CQUFpREEsYUFBakQ7QUFBQSxDQUF4Qjs7QUFFQSxJQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBZTtBQUFBLE1BQUVELGFBQUYsU0FBRUEsYUFBRjtBQUFBLE1BQWlCRSxPQUFqQixTQUFpQkEsT0FBakI7QUFBQSxTQUNuQixJQUFJQyx3QkFBSixDQUFpQjtBQUNmQyxJQUFBQSxPQUFPLEVBQUUsRUFETTtBQUVmQyxJQUFBQSxNQUFNLEVBQUVMLGFBRk87QUFHZk0sSUFBQUEsTUFBTSxFQUFFLGdCQUFDQyxXQUFELEVBQWNDLEtBQWQsRUFBd0I7QUFDOUJELE1BQUFBLFdBQVcsQ0FBQ2hCLE1BQVosaURBQXlCZ0IsV0FBVyxDQUFDaEIsTUFBckMsdUNBQWdEaUIsS0FBSyxDQUFDakIsTUFBdEQ7QUFDRCxLQUxjO0FBTWZKLElBQUFBLEdBQUcsRUFBRSxhQUFBcUIsS0FBSztBQUFBLGFBQUs7QUFBQ2pCLFFBQUFBLE1BQU0sRUFBRSxDQUFDaUIsS0FBSyxDQUFDMUIsSUFBUDtBQUFULE9BQUw7QUFBQTtBQU5LLEdBQWpCLEVBT0cyQixJQVBILENBT1FQLE9BUFIsQ0FEbUI7QUFBQSxDQUFyQjs7SUFVcUJRLGM7QUFJbkIsNEJBQWM7QUFBQTtBQUNaLFNBQUtDLFNBQUwsR0FBaUIsd0JBQVFWLFlBQVIsRUFBc0JGLGVBQXRCLENBQWpCO0FBQ0Q7Ozs7V0FFRCwrQkFjSTtBQUFBLFVBYkZhLElBYUUsU0FiRkEsSUFhRTtBQUFBLFVBWkZaLGFBWUUsU0FaRkEsYUFZRTtBQUFBLFVBWEZFLE9BV0UsU0FYRkEsT0FXRTtBQUFBLFVBVkZXLElBVUUsU0FWRkEsSUFVRTtBQUNGLFVBQU1GLFNBQVMsR0FBRyxLQUFLQSxTQUFMLENBQWU7QUFBQ1gsUUFBQUEsYUFBYSxFQUFiQSxhQUFEO0FBQWdCRSxRQUFBQSxPQUFPLEVBQVBBO0FBQWhCLE9BQWYsQ0FBbEIsQ0FERSxDQUdGOztBQUNBLFVBQU1ZLFFBQVEsR0FBR0gsU0FBUyxDQUFDSSxXQUFWLENBQXNCSCxJQUF0QixFQUE0QkMsSUFBNUIsRUFBa0MxQixHQUFsQyxDQUFzQyxVQUFDNkIsQ0FBRCxFQUFJQyxDQUFKO0FBQUEsZUFBVztBQUNoRTFCLFVBQUFBLE1BQU0sRUFBRXlCLENBQUMsQ0FBQzFCLFVBQUYsQ0FBYUMsTUFEMkM7QUFFaEUyQixVQUFBQSxRQUFRLEVBQUVGLENBQUMsQ0FBQ3RCLFFBQUYsQ0FBV0MsV0FGMkM7QUFHaEV3QixVQUFBQSxLQUFLLEVBQUVGO0FBSHlELFNBQVg7QUFBQSxPQUF0QyxDQUFqQjtBQU1BLGFBQU9ILFFBQVA7QUFDRDs7O1dBRUQsK0JBQXNCO0FBQUE7O0FBQ3BCLDhEQUFLSCxTQUFMLENBQWVTLEtBQWYsRUFBcUJDLEtBQXJCO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgU3VwZXJjbHVzdGVyIGZyb20gJ3N1cGVyY2x1c3Rlcic7XG5pbXBvcnQgbWVtb2l6ZSBmcm9tICdsb2Rhc2gubWVtb2l6ZSc7XG5pbXBvcnQge01lbW9pemVkRnVuY3Rpb259IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQge0JCb3gsIFBvc2l0aW9ufSBmcm9tICdnZW9qc29uJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEdlb0pTT04oZGF0YSwgZ2V0UG9zaXRpb24sIGZpbHRlckRhdGEpIHtcbiAgY29uc3QgcmF3ID0gdHlwZW9mIGZpbHRlckRhdGEgPT09ICdmdW5jdGlvbicgPyBkYXRhLmZpbHRlcihmaWx0ZXJEYXRhKSA6IGRhdGE7XG5cbiAgcmV0dXJuIHJhd1xuICAgIC5tYXAoZCA9PiAoe1xuICAgICAgdHlwZTogJ1BvaW50JyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgZGF0YTogZCxcbiAgICAgICAgcG9pbnRzOiBbZF0sXG4gICAgICAgIHBvaW50X2NvdW50OiAxLFxuICAgICAgICBwb2ludF9jb3VudF9hYmJyZXZpYXRlZDogJzEnXG4gICAgICB9LFxuICAgICAgZ2VvbWV0cnk6IHtcbiAgICAgICAgY29vcmRpbmF0ZXM6IGdldFBvc2l0aW9uKGQpXG4gICAgICB9XG4gICAgfSkpXG4gICAgLmZpbHRlcihkID0+IGQuZ2VvbWV0cnkuY29vcmRpbmF0ZXMuZXZlcnkoTnVtYmVyLmlzRmluaXRlKSk7XG59XG5cbmNvbnN0IGNsdXN0ZXJSZXNvbHZlciA9ICh7Y2x1c3RlclJhZGl1c306IHtjbHVzdGVyUmFkaXVzOiBudW1iZXJ9KSA9PiBgJHtjbHVzdGVyUmFkaXVzfWA7XG5cbmNvbnN0IGdldENsdXN0ZXJlciA9ICh7Y2x1c3RlclJhZGl1cywgZ2VvSlNPTn06IHtjbHVzdGVyUmFkaXVzOiBudW1iZXI7IGdlb0pTT059KSA9PlxuICBuZXcgU3VwZXJjbHVzdGVyKHtcbiAgICBtYXhab29tOiAyMCxcbiAgICByYWRpdXM6IGNsdXN0ZXJSYWRpdXMsXG4gICAgcmVkdWNlOiAoYWNjdW11bGF0ZWQsIHByb3BzKSA9PiB7XG4gICAgICBhY2N1bXVsYXRlZC5wb2ludHMgPSBbLi4uYWNjdW11bGF0ZWQucG9pbnRzLCAuLi5wcm9wcy5wb2ludHNdO1xuICAgIH0sXG4gICAgbWFwOiBwcm9wcyA9PiAoe3BvaW50czogW3Byb3BzLmRhdGFdfSlcbiAgfSkubG9hZChnZW9KU09OKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2x1c3RlckJ1aWxkZXIge1xuICBjbHVzdGVyZXI6ICgoe2NsdXN0ZXJSYWRpdXMsIGdlb0pTT059OiB7Y2x1c3RlclJhZGl1czogbnVtYmVyOyBnZW9KU09OfSkgPT4gU3VwZXJjbHVzdGVyKSAmXG4gICAgTWVtb2l6ZWRGdW5jdGlvbjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmNsdXN0ZXJlciA9IG1lbW9pemUoZ2V0Q2x1c3RlcmVyLCBjbHVzdGVyUmVzb2x2ZXIpO1xuICB9XG5cbiAgY2x1c3RlcnNBdFpvb20oe1xuICAgIGJib3gsXG4gICAgY2x1c3RlclJhZGl1cyxcbiAgICBnZW9KU09OLFxuICAgIHpvb21cbiAgfToge1xuICAgIGJib3g6IEJCb3g7XG4gICAgY2x1c3RlclJhZGl1czogbnVtYmVyO1xuICAgIGdlb0pTT047XG4gICAgem9vbTogbnVtYmVyO1xuICB9KToge1xuICAgIHBvaW50czogYW55O1xuICAgIHBvc2l0aW9uOiBQb3NpdGlvbjtcbiAgICBpbmRleDogbnVtYmVyO1xuICB9W10ge1xuICAgIGNvbnN0IGNsdXN0ZXJlciA9IHRoaXMuY2x1c3RlcmVyKHtjbHVzdGVyUmFkaXVzLCBnZW9KU09OfSk7XG5cbiAgICAvLyBtYXAgY2x1c3RlcnMgdG8gZm9ybWF0dGVkIGJpbnMgdG8gYmUgcGFzc2VkIHRvIGRlY2suZ2wgYmluLXNvcnRlclxuICAgIGNvbnN0IGNsdXN0ZXJzID0gY2x1c3RlcmVyLmdldENsdXN0ZXJzKGJib3gsIHpvb20pLm1hcCgoYywgaSkgPT4gKHtcbiAgICAgIHBvaW50czogYy5wcm9wZXJ0aWVzLnBvaW50cyxcbiAgICAgIHBvc2l0aW9uOiBjLmdlb21ldHJ5LmNvb3JkaW5hdGVzLFxuICAgICAgaW5kZXg6IGlcbiAgICB9KSk7XG5cbiAgICByZXR1cm4gY2x1c3RlcnM7XG4gIH1cblxuICBjbGVhckNsdXN0ZXJlckNhY2hlKCkge1xuICAgIHRoaXMuY2x1c3RlcmVyLmNhY2hlLmNsZWFyPy4oKTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,93 @@
|
|
1
|
+
import { RGBAColor } from '@kepler.gl/types';
|
2
|
+
export declare type UpdaterType = (this: CPUAggregator, step: any, props: any, dimensionUpdater: any) => void;
|
3
|
+
export declare type BindedUpdaterType = () => void;
|
4
|
+
export declare type AggregatedUpdaterType = (this: CPUAggregator, step: any, props: any, aggregation: any, aggregationParams: any) => void;
|
5
|
+
export declare type BindedAggregatedUpdaterType = (aggregationParams: any) => void;
|
6
|
+
export declare type UpdateStepsType = {
|
7
|
+
key: string;
|
8
|
+
triggers: {
|
9
|
+
[key: string]: {
|
10
|
+
prop: string;
|
11
|
+
updateTrigger?: string;
|
12
|
+
};
|
13
|
+
};
|
14
|
+
onSet?: {
|
15
|
+
props: string;
|
16
|
+
};
|
17
|
+
updater: UpdaterType;
|
18
|
+
};
|
19
|
+
export declare type DimensionType<ValueType = any> = {
|
20
|
+
key: string;
|
21
|
+
accessor: string;
|
22
|
+
getPickingInfo: (dimensionState: any, cell: any, layerProps?: any) => any;
|
23
|
+
nullValue: ValueType;
|
24
|
+
updateSteps: UpdateStepsType[];
|
25
|
+
getSubLayerAccessor: any;
|
26
|
+
};
|
27
|
+
export declare type AggregationUpdateStepsType = {
|
28
|
+
key: string;
|
29
|
+
triggers: {
|
30
|
+
[key: string]: {
|
31
|
+
prop: string;
|
32
|
+
updateTrigger?: string;
|
33
|
+
};
|
34
|
+
};
|
35
|
+
updater: AggregatedUpdaterType;
|
36
|
+
};
|
37
|
+
export declare type AggregationType = {
|
38
|
+
key: string;
|
39
|
+
updateSteps: AggregationUpdateStepsType[];
|
40
|
+
};
|
41
|
+
export declare const DECK_AGGREGATION_MAP: {
|
42
|
+
[x: number]: "sum" | "average" | "minimum" | "maximum";
|
43
|
+
};
|
44
|
+
export declare function getValueFunc(aggregation: any, accessor: any): (pts: any) => any;
|
45
|
+
export declare function getScaleFunctor(scaleType: any): any;
|
46
|
+
export declare function getGetValue(this: CPUAggregator, step: any, props: any, dimensionUpdater: any): void;
|
47
|
+
export declare function getDimensionSortedBins(this: CPUAggregator, step: any, props: any, dimensionUpdater: any): void;
|
48
|
+
export declare function getDimensionValueDomain(this: CPUAggregator, step: any, props: any, dimensionUpdater: any): void;
|
49
|
+
export declare function getDimensionScale(this: CPUAggregator, step: any, props: any, dimensionUpdater: any): void;
|
50
|
+
export declare function getAggregatedData(this: CPUAggregator, step: any, props: any, aggregation: any, aggregationParams: any): void;
|
51
|
+
export declare const defaultAggregation: AggregationType;
|
52
|
+
export declare const defaultColorDimension: DimensionType<RGBAColor>;
|
53
|
+
export declare const defaultElevationDimension: DimensionType<number>;
|
54
|
+
export declare const defaultDimensions: (DimensionType<RGBAColor> | DimensionType<number>)[];
|
55
|
+
export declare type CPUAggregatorState = {
|
56
|
+
layerData: {
|
57
|
+
data?: any;
|
58
|
+
};
|
59
|
+
dimensions: {};
|
60
|
+
geoJSON?: any;
|
61
|
+
clusterBuilder?: any;
|
62
|
+
};
|
63
|
+
export default class CPUAggregator {
|
64
|
+
static getDimensionScale: any;
|
65
|
+
state: CPUAggregatorState;
|
66
|
+
dimensionUpdaters: {
|
67
|
+
[key: string]: DimensionType;
|
68
|
+
};
|
69
|
+
aggregationUpdater: AggregationType;
|
70
|
+
constructor(opts?: {
|
71
|
+
initialState?: CPUAggregatorState;
|
72
|
+
dimensions?: DimensionType[];
|
73
|
+
aggregation?: AggregationType;
|
74
|
+
});
|
75
|
+
static defaultDimensions(): (DimensionType<RGBAColor> | DimensionType<number>)[];
|
76
|
+
updateAllDimensions(props: any): void;
|
77
|
+
updateAggregation(props: any, aggregationParams: any): void;
|
78
|
+
updateState(opts: any, aggregationParams: any): CPUAggregatorState;
|
79
|
+
setState(updateObject: any): void;
|
80
|
+
_setDimensionState(key: any, updateObject: any): void;
|
81
|
+
_addAggregation(aggregation: AggregationType): void;
|
82
|
+
_addDimension(dimensions?: DimensionType[]): void;
|
83
|
+
_needUpdateStep(dimensionStep: UpdateStepsType | AggregationUpdateStepsType, oldProps: any, props: any, changeFlags: any): boolean;
|
84
|
+
_accumulateUpdaters<UpdaterObjectType extends DimensionType | AggregationType>(step: any, props: any, dimension: UpdaterObjectType): (UpdaterObjectType extends DimensionType<any> ? BindedUpdaterType : BindedAggregatedUpdaterType)[];
|
85
|
+
_getAllUpdaters<UpdaterObjectType extends DimensionType | AggregationType>(dimension: UpdaterObjectType, oldProps: any, props: any, changeFlags: any): (UpdaterObjectType extends DimensionType<any> ? BindedUpdaterType : BindedAggregatedUpdaterType)[];
|
86
|
+
_getAggregationChanges(oldProps: any, props: any, changeFlags: any): BindedAggregatedUpdaterType[] | null;
|
87
|
+
_getDimensionChanges(oldProps: any, props: any, changeFlags: any): BindedUpdaterType[] | null;
|
88
|
+
getUpdateTriggers(props: any): {};
|
89
|
+
getPickingInfo({ info }: {
|
90
|
+
info: any;
|
91
|
+
}, layerProps: any): any;
|
92
|
+
getAccessor(dimensionKey: any, layerProps: any): any;
|
93
|
+
}
|