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

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.
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Enum holding GeoArrow extension type names
3
+ */
4
+ export declare enum EXTENSION_NAME {
5
+ POINT = "geoarrow.point",
6
+ LINESTRING = "geoarrow.linestring",
7
+ POLYGON = "geoarrow.polygon",
8
+ MULTIPOINT = "geoarrow.multipoint",
9
+ MULTILINESTRING = "geoarrow.multilinestring",
10
+ MULTIPOLYGON = "geoarrow.multipolygon",
11
+ WKB = "geoarrow.wkb"
12
+ }
13
+ export declare const DEFAULT_COLOR: [number, number, number, number];
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.EXTENSION_NAME = exports.DEFAULT_COLOR = void 0;
7
+ // SPDX-License-Identifier: MIT
8
+ // Copyright contributors to the kepler.gl project
9
+ // deck.gl-community
10
+ // SPDX-License-Identifier: MIT
11
+ // Copyright (c) vis.gl contributors
12
+ /**
13
+ * Enum holding GeoArrow extension type names
14
+ */
15
+ var EXTENSION_NAME = exports.EXTENSION_NAME = /*#__PURE__*/function (EXTENSION_NAME) {
16
+ EXTENSION_NAME["POINT"] = "geoarrow.point";
17
+ EXTENSION_NAME["LINESTRING"] = "geoarrow.linestring";
18
+ EXTENSION_NAME["POLYGON"] = "geoarrow.polygon";
19
+ EXTENSION_NAME["MULTIPOINT"] = "geoarrow.multipoint";
20
+ EXTENSION_NAME["MULTILINESTRING"] = "geoarrow.multilinestring";
21
+ EXTENSION_NAME["MULTIPOLYGON"] = "geoarrow.multipolygon";
22
+ EXTENSION_NAME["WKB"] = "geoarrow.wkb";
23
+ return EXTENSION_NAME;
24
+ }({});
25
+ var DEFAULT_COLOR = exports.DEFAULT_COLOR = [0, 0, 0, 255];
26
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFWFRFTlNJT05fTkFNRSIsImV4cG9ydHMiLCJERUZBVUxUX0NPTE9SIl0sInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG4vLyBkZWNrLmdsLWNvbW11bml0eVxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IChjKSB2aXMuZ2wgY29udHJpYnV0b3JzXG5cbi8qKlxuICogRW51bSBob2xkaW5nIEdlb0Fycm93IGV4dGVuc2lvbiB0eXBlIG5hbWVzXG4gKi9cbmV4cG9ydCBlbnVtIEVYVEVOU0lPTl9OQU1FIHtcbiAgUE9JTlQgPSAnZ2VvYXJyb3cucG9pbnQnLFxuICBMSU5FU1RSSU5HID0gJ2dlb2Fycm93LmxpbmVzdHJpbmcnLFxuICBQT0xZR09OID0gJ2dlb2Fycm93LnBvbHlnb24nLFxuICBNVUxUSVBPSU5UID0gJ2dlb2Fycm93Lm11bHRpcG9pbnQnLFxuICBNVUxUSUxJTkVTVFJJTkcgPSAnZ2VvYXJyb3cubXVsdGlsaW5lc3RyaW5nJyxcbiAgTVVMVElQT0xZR09OID0gJ2dlb2Fycm93Lm11bHRpcG9seWdvbicsXG4gIFdLQiA9ICdnZW9hcnJvdy53a2InXG59XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTE9SOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSA9IFswLCAwLCAwLCAyNTVdO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRkEsSUFHWUEsY0FBYyxHQUFBQyxPQUFBLENBQUFELGNBQUEsMEJBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFkQSxjQUFjO0VBQWRBLGNBQWM7RUFBZEEsY0FBYztFQUFBLE9BQWRBLGNBQWM7QUFBQTtBQVVuQixJQUFNRSxhQUErQyxHQUFBRCxPQUFBLENBQUFDLGFBQUEsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,4 @@
1
+ export { EXTENSION_NAME } from './constants';
2
+ export { GeoArrowScatterplotLayer } from './layers/geo-arrow-scatterplot-layer';
3
+ export { GeoArrowTextLayer } from './layers/geo-arrow-text-layer';
4
+ export { GeoArrowArcLayer } from './layers/geo-arrow-arc-layer';
package/dist/index.js ADDED
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "EXTENSION_NAME", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _constants.EXTENSION_NAME;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "GeoArrowArcLayer", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _geoArrowArcLayer.GeoArrowArcLayer;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "GeoArrowScatterplotLayer", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _geoArrowScatterplotLayer.GeoArrowScatterplotLayer;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "GeoArrowTextLayer", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _geoArrowTextLayer.GeoArrowTextLayer;
28
+ }
29
+ });
30
+ var _constants = require("./constants");
31
+ var _geoArrowScatterplotLayer = require("./layers/geo-arrow-scatterplot-layer");
32
+ var _geoArrowTextLayer = require("./layers/geo-arrow-text-layer");
33
+ var _geoArrowArcLayer = require("./layers/geo-arrow-arc-layer");
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY29uc3RhbnRzIiwicmVxdWlyZSIsIl9nZW9BcnJvd1NjYXR0ZXJwbG90TGF5ZXIiLCJfZ2VvQXJyb3dUZXh0TGF5ZXIiLCJfZ2VvQXJyb3dBcmNMYXllciJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5leHBvcnQge0VYVEVOU0lPTl9OQU1FfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCB7R2VvQXJyb3dTY2F0dGVycGxvdExheWVyfSBmcm9tICcuL2xheWVycy9nZW8tYXJyb3ctc2NhdHRlcnBsb3QtbGF5ZXInO1xuZXhwb3J0IHtHZW9BcnJvd1RleHRMYXllcn0gZnJvbSAnLi9sYXllcnMvZ2VvLWFycm93LXRleHQtbGF5ZXInO1xuZXhwb3J0IHtHZW9BcnJvd0FyY0xheWVyfSBmcm9tICcuL2xheWVycy9nZW8tYXJyb3ctYXJjLWxheWVyJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxVQUFBLEdBQUFDLE9BQUE7QUFFQSxJQUFBQyx5QkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsa0JBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGlCQUFBLEdBQUFILE9BQUEiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,62 @@
1
+ import { CompositeLayer, CompositeLayerProps, DefaultProps, GetPickingInfoParams, Layer, LayersList } from '@deck.gl/core/typed';
2
+ import type { ArcLayerProps } from '@deck.gl/layers/typed';
3
+ import * as arrow from 'apache-arrow';
4
+ import * as ga from '@geoarrow/geoarrow-js';
5
+ import { GeoArrowExtraPickingProps } from '../utils/picking';
6
+ import { ColorAccessor, FloatAccessor, GeoArrowPickingInfo } from '../types';
7
+ /** All properties supported by GeoArrowArcLayer */
8
+ export declare type GeoArrowArcLayerProps = Omit<ArcLayerProps<any>, 'data' | 'getSourcePosition' | 'getTargetPosition' | 'getSourceColor' | 'getTargetColor' | 'getWidth' | 'getHeight' | 'getTilt'> & _GeoArrowArcLayerProps & CompositeLayerProps;
9
+ /** Properties added by GeoArrowArcLayer */
10
+ declare type _GeoArrowArcLayerProps = {
11
+ data: arrow.Table;
12
+ /**
13
+ * Method called to retrieve the source position of each object.
14
+ */
15
+ getSourcePosition: ga.vector.PointVector;
16
+ /**
17
+ * Method called to retrieve the target position of each object.
18
+ */
19
+ getTargetPosition: ga.vector.PointVector;
20
+ /**
21
+ * The rgba color is in the format of `[r, g, b, [a]]`.
22
+ * @default [0, 0, 0, 255]
23
+ */
24
+ getSourceColor?: ColorAccessor;
25
+ /**
26
+ * The rgba color is in the format of `[r, g, b, [a]]`.
27
+ * @default [0, 0, 0, 255]
28
+ */
29
+ getTargetColor?: ColorAccessor;
30
+ /**
31
+ * The line width of each object, in units specified by `widthUnits`.
32
+ * @default 1
33
+ */
34
+ getWidth?: FloatAccessor;
35
+ /**
36
+ * Multiplier of layer height. `0` will make the layer flat.
37
+ * @default 1
38
+ */
39
+ getHeight?: FloatAccessor;
40
+ /**
41
+ * Use to tilt the arc to the side if you have multiple arcs with the same source and target positions.
42
+ * @default 0
43
+ */
44
+ getTilt?: FloatAccessor;
45
+ /**
46
+ * If `true`, validate the arrays provided (e.g. chunk lengths)
47
+ * @default true
48
+ */
49
+ _validate?: boolean;
50
+ };
51
+ export declare class GeoArrowArcLayer<ExtraProps extends object = object> extends CompositeLayer<GeoArrowArcLayerProps & ExtraProps> {
52
+ static defaultProps: DefaultProps<GeoArrowArcLayerProps>;
53
+ static layerName: string;
54
+ getPickingInfo(params: GetPickingInfoParams & {
55
+ sourceLayer: {
56
+ props: GeoArrowExtraPickingProps;
57
+ };
58
+ }): GeoArrowPickingInfo;
59
+ renderLayers(): Layer<object> | LayersList | null;
60
+ _renderLayersPoint(): Layer<object> | LayersList | null;
61
+ }
62
+ export {};
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.GeoArrowArcLayer = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+ var _typed = require("@deck.gl/core/typed");
18
+ var _typed2 = require("@deck.gl/layers/typed");
19
+ var _geoarrowJs = _interopRequireWildcard(require("@geoarrow/geoarrow-js"));
20
+ var ga = _geoarrowJs;
21
+ var _utils = require("../utils/utils");
22
+ var _picking = require("../utils/picking");
23
+ var _validate = require("../utils/validate");
24
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
25
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
26
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
27
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
28
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
29
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // SPDX-License-Identifier: MIT
30
+ // Copyright contributors to the kepler.gl project
31
+ // deck.gl-community
32
+ // SPDX-License-Identifier: MIT
33
+ // Copyright (c) vis.gl contributors
34
+ /** All properties supported by GeoArrowArcLayer */
35
+
36
+ /** Properties added by GeoArrowArcLayer */
37
+
38
+ // Remove data from the upstream default props
39
+ var _ArcLayer$defaultProp = _typed2.ArcLayer.defaultProps,
40
+ _data = _ArcLayer$defaultProp.data,
41
+ _getSourcePosition = _ArcLayer$defaultProp.getSourcePosition,
42
+ _getTargetPosition = _ArcLayer$defaultProp.getTargetPosition,
43
+ _defaultProps = (0, _objectWithoutProperties2["default"])(_ArcLayer$defaultProp, ["data", "getSourcePosition", "getTargetPosition"]);
44
+
45
+ // Default props added by us
46
+ var ourDefaultProps = {
47
+ _validate: true
48
+ };
49
+
50
+ // @ts-expect-error
51
+ var defaultProps = _objectSpread(_objectSpread({}, _defaultProps), ourDefaultProps);
52
+ var GeoArrowArcLayer = exports.GeoArrowArcLayer = /*#__PURE__*/function (_CompositeLayer) {
53
+ function GeoArrowArcLayer() {
54
+ (0, _classCallCheck2["default"])(this, GeoArrowArcLayer);
55
+ return _callSuper(this, GeoArrowArcLayer, arguments);
56
+ }
57
+ (0, _inherits2["default"])(GeoArrowArcLayer, _CompositeLayer);
58
+ return (0, _createClass2["default"])(GeoArrowArcLayer, [{
59
+ key: "getPickingInfo",
60
+ value: function getPickingInfo(params) {
61
+ return (0, _picking.getPickingInfo)(params, this.props.data);
62
+ }
63
+ }, {
64
+ key: "renderLayers",
65
+ value: function renderLayers() {
66
+ return this._renderLayersPoint();
67
+ }
68
+ }, {
69
+ key: "_renderLayersPoint",
70
+ value: function _renderLayersPoint() {
71
+ var _this$props = this.props,
72
+ table = _this$props.data,
73
+ sourcePosition = _this$props.getSourcePosition,
74
+ targetPosition = _this$props.getTargetPosition;
75
+ if (this.props._validate) {
76
+ (0, _validate.validateAccessors)(this.props, table);
77
+
78
+ // Note: below we iterate over table batches anyways, so this layer won't
79
+ // work as-is if data/table is null
80
+ (0, _typed.assert)(ga.vector.isPointVector(sourcePosition));
81
+ (0, _typed.assert)(ga.vector.isPointVector(targetPosition));
82
+ }
83
+
84
+ // Exclude manually-set accessors
85
+ var _extractAccessorsFrom = (0, _utils.extractAccessorsFromProps)(this.props, ['getSourcePosition', 'getTargetPosition']),
86
+ _extractAccessorsFrom2 = (0, _slicedToArray2["default"])(_extractAccessorsFrom, 2),
87
+ accessors = _extractAccessorsFrom2[0],
88
+ otherProps = _extractAccessorsFrom2[1];
89
+ var tableOffsets = (0, _picking.computeChunkOffsets)(table.data);
90
+ var layers = [];
91
+ for (var recordBatchIdx = 0; recordBatchIdx < table.batches.length; recordBatchIdx++) {
92
+ var sourceData = sourcePosition.data[recordBatchIdx];
93
+ var sourceValues = _geoarrowJs.child.getPointChild(sourceData).values;
94
+ var targetData = targetPosition.data[recordBatchIdx];
95
+ var targetValues = _geoarrowJs.child.getPointChild(targetData).values;
96
+
97
+ // @ts-expect-error how to properly retrieve batch offset?
98
+ var batchOffset = sourcePosition._offsets[recordBatchIdx];
99
+ var props = _objectSpread(_objectSpread(_objectSpread({}, ourDefaultProps), otherProps), {}, {
100
+ // used for picking purposes
101
+ recordBatchIdx: recordBatchIdx,
102
+ tableOffsets: tableOffsets,
103
+ id: "".concat(this.props.id, "-geoarrow-arc-").concat(recordBatchIdx),
104
+ data: {
105
+ // @ts-expect-error passed through to enable use by function accessors
106
+ data: table.batches[recordBatchIdx],
107
+ length: sourceData.length,
108
+ attributes: {
109
+ getSourcePosition: {
110
+ value: sourceValues,
111
+ size: sourceData.type.listSize
112
+ },
113
+ getTargetPosition: {
114
+ value: targetValues,
115
+ size: targetData.type.listSize
116
+ }
117
+ }
118
+ }
119
+ });
120
+ for (var _i = 0, _Object$entries = Object.entries(accessors); _i < _Object$entries.length; _i++) {
121
+ var _Object$entries$_i = (0, _slicedToArray2["default"])(_Object$entries[_i], 2),
122
+ propName = _Object$entries$_i[0],
123
+ propInput = _Object$entries$_i[1];
124
+ (0, _utils.assignAccessor)({
125
+ props: props,
126
+ propName: propName,
127
+ propInput: propInput,
128
+ chunkIdx: recordBatchIdx,
129
+ batchOffset: batchOffset
130
+ });
131
+ }
132
+ var SubLayerClass = this.getSubLayerClass('geo-arrow-arc-layer', _typed2.ArcLayer);
133
+ var layer = new SubLayerClass(_objectSpread(_objectSpread({}, this.getSubLayerProps(props)), {}, {
134
+ // preserve binded accessors, as they are overwriten back by pass-through accessors from extensions
135
+ getFiltered: props.getFiltered,
136
+ getFilterValue: props.getFilterValue
137
+ }));
138
+ layers.push(layer);
139
+ }
140
+ return layers;
141
+ }
142
+ }]);
143
+ }(_typed.CompositeLayer);
144
+ (0, _defineProperty2["default"])(GeoArrowArcLayer, "defaultProps", defaultProps);
145
+ (0, _defineProperty2["default"])(GeoArrowArcLayer, "layerName", 'GeoArrowArcLayer');
146
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdHlwZWQiLCJyZXF1aXJlIiwiX3R5cGVkMiIsIl9nZW9hcnJvd0pzIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJnYSIsIl91dGlscyIsIl9waWNraW5nIiwiX3ZhbGlkYXRlIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiX2NhbGxTdXBlciIsIm8iLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsImFwcGx5IiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJfQXJjTGF5ZXIkZGVmYXVsdFByb3AiLCJBcmNMYXllciIsImRlZmF1bHRQcm9wcyIsIl9kYXRhIiwiZGF0YSIsIl9nZXRTb3VyY2VQb3NpdGlvbiIsImdldFNvdXJjZVBvc2l0aW9uIiwiX2dldFRhcmdldFBvc2l0aW9uIiwiZ2V0VGFyZ2V0UG9zaXRpb24iLCJfZGVmYXVsdFByb3BzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzMiIsIm91ckRlZmF1bHRQcm9wcyIsIkdlb0Fycm93QXJjTGF5ZXIiLCJleHBvcnRzIiwiX0NvbXBvc2l0ZUxheWVyIiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwidmFsdWUiLCJnZXRQaWNraW5nSW5mbyIsInBhcmFtcyIsInByb3BzIiwicmVuZGVyTGF5ZXJzIiwiX3JlbmRlckxheWVyc1BvaW50IiwiX3RoaXMkcHJvcHMiLCJ0YWJsZSIsInNvdXJjZVBvc2l0aW9uIiwidGFyZ2V0UG9zaXRpb24iLCJ2YWxpZGF0ZUFjY2Vzc29ycyIsImFzc2VydCIsInZlY3RvciIsImlzUG9pbnRWZWN0b3IiLCJfZXh0cmFjdEFjY2Vzc29yc0Zyb20iLCJleHRyYWN0QWNjZXNzb3JzRnJvbVByb3BzIiwiX2V4dHJhY3RBY2Nlc3NvcnNGcm9tMiIsIl9zbGljZWRUb0FycmF5MiIsImFjY2Vzc29ycyIsIm90aGVyUHJvcHMiLCJ0YWJsZU9mZnNldHMiLCJjb21wdXRlQ2h1bmtPZmZzZXRzIiwibGF5ZXJzIiwicmVjb3JkQmF0Y2hJZHgiLCJiYXRjaGVzIiwic291cmNlRGF0YSIsInNvdXJjZVZhbHVlcyIsImNoaWxkIiwiZ2V0UG9pbnRDaGlsZCIsInZhbHVlcyIsInRhcmdldERhdGEiLCJ0YXJnZXRWYWx1ZXMiLCJiYXRjaE9mZnNldCIsIl9vZmZzZXRzIiwiaWQiLCJjb25jYXQiLCJhdHRyaWJ1dGVzIiwic2l6ZSIsInR5cGUiLCJsaXN0U2l6ZSIsIl9pIiwiX09iamVjdCRlbnRyaWVzIiwiZW50cmllcyIsIl9PYmplY3QkZW50cmllcyRfaSIsInByb3BOYW1lIiwicHJvcElucHV0IiwiYXNzaWduQWNjZXNzb3IiLCJjaHVua0lkeCIsIlN1YkxheWVyQ2xhc3MiLCJnZXRTdWJMYXllckNsYXNzIiwibGF5ZXIiLCJnZXRTdWJMYXllclByb3BzIiwiZ2V0RmlsdGVyZWQiLCJnZXRGaWx0ZXJWYWx1ZSIsIkNvbXBvc2l0ZUxheWVyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xheWVycy9nZW8tYXJyb3ctYXJjLWxheWVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbi8vIGRlY2suZ2wtY29tbXVuaXR5XG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgKGMpIHZpcy5nbCBjb250cmlidXRvcnNcblxuaW1wb3J0IHtcbiAgQ29tcG9zaXRlTGF5ZXIsXG4gIENvbXBvc2l0ZUxheWVyUHJvcHMsXG4gIERlZmF1bHRQcm9wcyxcbiAgR2V0UGlja2luZ0luZm9QYXJhbXMsXG4gIExheWVyLFxuICBMYXllcnNMaXN0LFxuICBhc3NlcnRcbn0gZnJvbSAnQGRlY2suZ2wvY29yZS90eXBlZCc7XG5pbXBvcnQge0FyY0xheWVyfSBmcm9tICdAZGVjay5nbC9sYXllcnMvdHlwZWQnO1xuaW1wb3J0IHR5cGUge0FyY0xheWVyUHJvcHN9IGZyb20gJ0BkZWNrLmdsL2xheWVycy90eXBlZCc7XG5pbXBvcnQgKiBhcyBhcnJvdyBmcm9tICdhcGFjaGUtYXJyb3cnO1xuaW1wb3J0ICogYXMgZ2EgZnJvbSAnQGdlb2Fycm93L2dlb2Fycm93LWpzJztcbmltcG9ydCB7YXNzaWduQWNjZXNzb3IsIGV4dHJhY3RBY2Nlc3NvcnNGcm9tUHJvcHN9IGZyb20gJy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7Y2hpbGR9IGZyb20gJ0BnZW9hcnJvdy9nZW9hcnJvdy1qcyc7XG5pbXBvcnQge0dlb0Fycm93RXh0cmFQaWNraW5nUHJvcHMsIGNvbXB1dGVDaHVua09mZnNldHMsIGdldFBpY2tpbmdJbmZvfSBmcm9tICcuLi91dGlscy9waWNraW5nJztcbmltcG9ydCB7Q29sb3JBY2Nlc3NvciwgRmxvYXRBY2Nlc3NvciwgR2VvQXJyb3dQaWNraW5nSW5mbywgRXh0ZW5zaW9uUHJvcHN9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7dmFsaWRhdGVBY2Nlc3NvcnN9IGZyb20gJy4uL3V0aWxzL3ZhbGlkYXRlJztcblxuLyoqIEFsbCBwcm9wZXJ0aWVzIHN1cHBvcnRlZCBieSBHZW9BcnJvd0FyY0xheWVyICovXG5leHBvcnQgdHlwZSBHZW9BcnJvd0FyY0xheWVyUHJvcHMgPSBPbWl0PFxuICBBcmNMYXllclByb3BzPGFueT4sXG4gIHwgJ2RhdGEnXG4gIHwgJ2dldFNvdXJjZVBvc2l0aW9uJ1xuICB8ICdnZXRUYXJnZXRQb3NpdGlvbidcbiAgfCAnZ2V0U291cmNlQ29sb3InXG4gIHwgJ2dldFRhcmdldENvbG9yJ1xuICB8ICdnZXRXaWR0aCdcbiAgfCAnZ2V0SGVpZ2h0J1xuICB8ICdnZXRUaWx0J1xuPiAmXG4gIF9HZW9BcnJvd0FyY0xheWVyUHJvcHMgJlxuICBDb21wb3NpdGVMYXllclByb3BzO1xuXG4vKiogUHJvcGVydGllcyBhZGRlZCBieSBHZW9BcnJvd0FyY0xheWVyICovXG50eXBlIF9HZW9BcnJvd0FyY0xheWVyUHJvcHMgPSB7XG4gIGRhdGE6IGFycm93LlRhYmxlO1xuXG4gIC8qKlxuICAgKiBNZXRob2QgY2FsbGVkIHRvIHJldHJpZXZlIHRoZSBzb3VyY2UgcG9zaXRpb24gb2YgZWFjaCBvYmplY3QuXG4gICAqL1xuICBnZXRTb3VyY2VQb3NpdGlvbjogZ2EudmVjdG9yLlBvaW50VmVjdG9yO1xuXG4gIC8qKlxuICAgKiBNZXRob2QgY2FsbGVkIHRvIHJldHJpZXZlIHRoZSB0YXJnZXQgcG9zaXRpb24gb2YgZWFjaCBvYmplY3QuXG4gICAqL1xuICBnZXRUYXJnZXRQb3NpdGlvbjogZ2EudmVjdG9yLlBvaW50VmVjdG9yO1xuXG4gIC8qKlxuICAgKiBUaGUgcmdiYSBjb2xvciBpcyBpbiB0aGUgZm9ybWF0IG9mIGBbciwgZywgYiwgW2FdXWAuXG4gICAqIEBkZWZhdWx0IFswLCAwLCAwLCAyNTVdXG4gICAqL1xuICBnZXRTb3VyY2VDb2xvcj86IENvbG9yQWNjZXNzb3I7XG5cbiAgLyoqXG4gICAqIFRoZSByZ2JhIGNvbG9yIGlzIGluIHRoZSBmb3JtYXQgb2YgYFtyLCBnLCBiLCBbYV1dYC5cbiAgICogQGRlZmF1bHQgWzAsIDAsIDAsIDI1NV1cbiAgICovXG4gIGdldFRhcmdldENvbG9yPzogQ29sb3JBY2Nlc3NvcjtcblxuICAvKipcbiAgICogVGhlIGxpbmUgd2lkdGggb2YgZWFjaCBvYmplY3QsIGluIHVuaXRzIHNwZWNpZmllZCBieSBgd2lkdGhVbml0c2AuXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIGdldFdpZHRoPzogRmxvYXRBY2Nlc3NvcjtcblxuICAvKipcbiAgICogTXVsdGlwbGllciBvZiBsYXllciBoZWlnaHQuIGAwYCB3aWxsIG1ha2UgdGhlIGxheWVyIGZsYXQuXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIGdldEhlaWdodD86IEZsb2F0QWNjZXNzb3I7XG5cbiAgLyoqXG4gICAqIFVzZSB0byB0aWx0IHRoZSBhcmMgdG8gdGhlIHNpZGUgaWYgeW91IGhhdmUgbXVsdGlwbGUgYXJjcyB3aXRoIHRoZSBzYW1lIHNvdXJjZSBhbmQgdGFyZ2V0IHBvc2l0aW9ucy5cbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgZ2V0VGlsdD86IEZsb2F0QWNjZXNzb3I7XG5cbiAgLyoqXG4gICAqIElmIGB0cnVlYCwgdmFsaWRhdGUgdGhlIGFycmF5cyBwcm92aWRlZCAoZS5nLiBjaHVuayBsZW5ndGhzKVxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBfdmFsaWRhdGU/OiBib29sZWFuO1xufTtcblxuLy8gUmVtb3ZlIGRhdGEgZnJvbSB0aGUgdXBzdHJlYW0gZGVmYXVsdCBwcm9wc1xuY29uc3Qge1xuICBkYXRhOiBfZGF0YSxcbiAgZ2V0U291cmNlUG9zaXRpb246IF9nZXRTb3VyY2VQb3NpdGlvbixcbiAgZ2V0VGFyZ2V0UG9zaXRpb246IF9nZXRUYXJnZXRQb3NpdGlvbixcbiAgLi4uX2RlZmF1bHRQcm9wc1xufSA9IEFyY0xheWVyLmRlZmF1bHRQcm9wcztcblxuLy8gRGVmYXVsdCBwcm9wcyBhZGRlZCBieSB1c1xuY29uc3Qgb3VyRGVmYXVsdFByb3BzID0ge1xuICBfdmFsaWRhdGU6IHRydWVcbn07XG5cbi8vIEB0cy1leHBlY3QtZXJyb3JcbmNvbnN0IGRlZmF1bHRQcm9wczogRGVmYXVsdFByb3BzPEdlb0Fycm93QXJjTGF5ZXJQcm9wcz4gPSB7XG4gIC4uLl9kZWZhdWx0UHJvcHMsXG4gIC4uLm91ckRlZmF1bHRQcm9wc1xufTtcblxuZXhwb3J0IGNsYXNzIEdlb0Fycm93QXJjTGF5ZXI8RXh0cmFQcm9wcyBleHRlbmRzIG9iamVjdCA9IG9iamVjdD4gZXh0ZW5kcyBDb21wb3NpdGVMYXllcjxcbiAgR2VvQXJyb3dBcmNMYXllclByb3BzICYgRXh0cmFQcm9wc1xuPiB7XG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG4gIHN0YXRpYyBsYXllck5hbWUgPSAnR2VvQXJyb3dBcmNMYXllcic7XG5cbiAgZ2V0UGlja2luZ0luZm8oXG4gICAgcGFyYW1zOiBHZXRQaWNraW5nSW5mb1BhcmFtcyAmIHtcbiAgICAgIHNvdXJjZUxheWVyOiB7cHJvcHM6IEdlb0Fycm93RXh0cmFQaWNraW5nUHJvcHN9O1xuICAgIH1cbiAgKTogR2VvQXJyb3dQaWNraW5nSW5mbyB7XG4gICAgcmV0dXJuIGdldFBpY2tpbmdJbmZvKHBhcmFtcywgdGhpcy5wcm9wcy5kYXRhKTtcbiAgfVxuXG4gIHJlbmRlckxheWVycygpOiBMYXllcjxvYmplY3Q+IHwgTGF5ZXJzTGlzdCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9yZW5kZXJMYXllcnNQb2ludCgpO1xuICB9XG5cbiAgX3JlbmRlckxheWVyc1BvaW50KCk6IExheWVyPG9iamVjdD4gfCBMYXllcnNMaXN0IHwgbnVsbCB7XG4gICAgY29uc3Qge1xuICAgICAgZGF0YTogdGFibGUsXG4gICAgICBnZXRTb3VyY2VQb3NpdGlvbjogc291cmNlUG9zaXRpb24sXG4gICAgICBnZXRUYXJnZXRQb3NpdGlvbjogdGFyZ2V0UG9zaXRpb25cbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmICh0aGlzLnByb3BzLl92YWxpZGF0ZSkge1xuICAgICAgdmFsaWRhdGVBY2Nlc3NvcnModGhpcy5wcm9wcywgdGFibGUpO1xuXG4gICAgICAvLyBOb3RlOiBiZWxvdyB3ZSBpdGVyYXRlIG92ZXIgdGFibGUgYmF0Y2hlcyBhbnl3YXlzLCBzbyB0aGlzIGxheWVyIHdvbid0XG4gICAgICAvLyB3b3JrIGFzLWlzIGlmIGRhdGEvdGFibGUgaXMgbnVsbFxuICAgICAgYXNzZXJ0KGdhLnZlY3Rvci5pc1BvaW50VmVjdG9yKHNvdXJjZVBvc2l0aW9uKSk7XG4gICAgICBhc3NlcnQoZ2EudmVjdG9yLmlzUG9pbnRWZWN0b3IodGFyZ2V0UG9zaXRpb24pKTtcbiAgICB9XG5cbiAgICAvLyBFeGNsdWRlIG1hbnVhbGx5LXNldCBhY2Nlc3NvcnNcbiAgICBjb25zdCBbYWNjZXNzb3JzLCBvdGhlclByb3BzXSA9IGV4dHJhY3RBY2Nlc3NvcnNGcm9tUHJvcHModGhpcy5wcm9wcywgW1xuICAgICAgJ2dldFNvdXJjZVBvc2l0aW9uJyxcbiAgICAgICdnZXRUYXJnZXRQb3NpdGlvbidcbiAgICBdKTtcbiAgICBjb25zdCB0YWJsZU9mZnNldHMgPSBjb21wdXRlQ2h1bmtPZmZzZXRzKHRhYmxlLmRhdGEpO1xuXG4gICAgY29uc3QgbGF5ZXJzOiBBcmNMYXllcjxhbnk+W10gPSBbXTtcbiAgICBmb3IgKGxldCByZWNvcmRCYXRjaElkeCA9IDA7IHJlY29yZEJhdGNoSWR4IDwgdGFibGUuYmF0Y2hlcy5sZW5ndGg7IHJlY29yZEJhdGNoSWR4KyspIHtcbiAgICAgIGNvbnN0IHNvdXJjZURhdGEgPSBzb3VyY2VQb3NpdGlvbi5kYXRhW3JlY29yZEJhdGNoSWR4XTtcbiAgICAgIGNvbnN0IHNvdXJjZVZhbHVlcyA9IGNoaWxkLmdldFBvaW50Q2hpbGQoc291cmNlRGF0YSkudmFsdWVzO1xuICAgICAgY29uc3QgdGFyZ2V0RGF0YSA9IHRhcmdldFBvc2l0aW9uLmRhdGFbcmVjb3JkQmF0Y2hJZHhdO1xuICAgICAgY29uc3QgdGFyZ2V0VmFsdWVzID0gY2hpbGQuZ2V0UG9pbnRDaGlsZCh0YXJnZXREYXRhKS52YWx1ZXM7XG5cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgaG93IHRvIHByb3Blcmx5IHJldHJpZXZlIGJhdGNoIG9mZnNldD9cbiAgICAgIGNvbnN0IGJhdGNoT2Zmc2V0ID0gc291cmNlUG9zaXRpb24uX29mZnNldHNbcmVjb3JkQmF0Y2hJZHhdO1xuXG4gICAgICBjb25zdCBwcm9wczogQXJjTGF5ZXJQcm9wczxhbnk+ICYgRXh0ZW5zaW9uUHJvcHMgPSB7XG4gICAgICAgIC8vIE5vdGU6IGJlY2F1c2UgdGhpcyBpcyBhIGNvbXBvc2l0ZSBsYXllciBhbmQgbm90IGRvaW5nIHRoZSByZW5kZXJpbmdcbiAgICAgICAgLy8gaXRzZWxmLCB3ZSBzdGlsbCBoYXZlIHRvIHBhc3MgaW4gb3VyIGRlZmF1bHRQcm9wc1xuICAgICAgICAuLi5vdXJEZWZhdWx0UHJvcHMsXG4gICAgICAgIC4uLm90aGVyUHJvcHMsXG5cbiAgICAgICAgLy8gdXNlZCBmb3IgcGlja2luZyBwdXJwb3Nlc1xuICAgICAgICByZWNvcmRCYXRjaElkeCxcbiAgICAgICAgdGFibGVPZmZzZXRzLFxuXG4gICAgICAgIGlkOiBgJHt0aGlzLnByb3BzLmlkfS1nZW9hcnJvdy1hcmMtJHtyZWNvcmRCYXRjaElkeH1gLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBwYXNzZWQgdGhyb3VnaCB0byBlbmFibGUgdXNlIGJ5IGZ1bmN0aW9uIGFjY2Vzc29yc1xuICAgICAgICAgIGRhdGE6IHRhYmxlLmJhdGNoZXNbcmVjb3JkQmF0Y2hJZHhdLFxuICAgICAgICAgIGxlbmd0aDogc291cmNlRGF0YS5sZW5ndGgsXG4gICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgZ2V0U291cmNlUG9zaXRpb246IHtcbiAgICAgICAgICAgICAgdmFsdWU6IHNvdXJjZVZhbHVlcyxcbiAgICAgICAgICAgICAgc2l6ZTogc291cmNlRGF0YS50eXBlLmxpc3RTaXplXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0VGFyZ2V0UG9zaXRpb246IHtcbiAgICAgICAgICAgICAgdmFsdWU6IHRhcmdldFZhbHVlcyxcbiAgICAgICAgICAgICAgc2l6ZTogdGFyZ2V0RGF0YS50eXBlLmxpc3RTaXplXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBmb3IgKGNvbnN0IFtwcm9wTmFtZSwgcHJvcElucHV0XSBvZiBPYmplY3QuZW50cmllcyhhY2Nlc3NvcnMpKSB7XG4gICAgICAgIGFzc2lnbkFjY2Vzc29yKHtcbiAgICAgICAgICBwcm9wcyxcbiAgICAgICAgICBwcm9wTmFtZSxcbiAgICAgICAgICBwcm9wSW5wdXQsXG4gICAgICAgICAgY2h1bmtJZHg6IHJlY29yZEJhdGNoSWR4LFxuICAgICAgICAgIGJhdGNoT2Zmc2V0XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBTdWJMYXllckNsYXNzID0gdGhpcy5nZXRTdWJMYXllckNsYXNzKCdnZW8tYXJyb3ctYXJjLWxheWVyJywgQXJjTGF5ZXIpO1xuICAgICAgY29uc3QgbGF5ZXIgPSBuZXcgU3ViTGF5ZXJDbGFzcyh7XG4gICAgICAgIC4uLnRoaXMuZ2V0U3ViTGF5ZXJQcm9wcyhwcm9wcyksXG4gICAgICAgIC8vIHByZXNlcnZlIGJpbmRlZCBhY2Nlc3NvcnMsIGFzIHRoZXkgYXJlIG92ZXJ3cml0ZW4gYmFjayBieSBwYXNzLXRocm91Z2ggYWNjZXNzb3JzIGZyb20gZXh0ZW5zaW9uc1xuICAgICAgICBnZXRGaWx0ZXJlZDogcHJvcHMuZ2V0RmlsdGVyZWQsXG4gICAgICAgIGdldEZpbHRlclZhbHVlOiBwcm9wcy5nZXRGaWx0ZXJWYWx1ZVxuICAgICAgfSk7XG4gICAgICBsYXllcnMucHVzaChsYXllcik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxheWVycztcbiAg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
@@ -0,0 +1,56 @@
1
+ import { CompositeLayer, CompositeLayerProps, DefaultProps, GetPickingInfoParams, Layer, LayersList } from '@deck.gl/core/typed';
2
+ import type { ScatterplotLayerProps } from '@deck.gl/layers/typed';
3
+ import * as arrow from 'apache-arrow';
4
+ import * as ga from '@geoarrow/geoarrow-js';
5
+ import { GeoArrowExtraPickingProps } from '../utils/picking';
6
+ import { ColorAccessor, FloatAccessor, GeoArrowPickingInfo } from '../types';
7
+ /** All properties supported by GeoArrowScatterplotLayer */
8
+ export declare type GeoArrowScatterplotLayerProps = Omit<ScatterplotLayerProps<arrow.Table>, 'data' | 'getPosition' | 'getRadius' | 'getFillColor' | 'getLineColor'> & _GeoArrowScatterplotLayerProps & CompositeLayerProps;
9
+ /** Properties added by GeoArrowScatterplotLayer */
10
+ declare type _GeoArrowScatterplotLayerProps = {
11
+ data: arrow.Table;
12
+ /**
13
+ * If `true`, validate the arrays provided (e.g. chunk lengths)
14
+ * @default true
15
+ */
16
+ _validate?: boolean;
17
+ /**
18
+ * Center position accessor.
19
+ * If not provided, will be inferred by finding a column with extension type
20
+ * `"geoarrow.point"` or `"geoarrow.multipoint"`.
21
+ */
22
+ getPosition?: ga.vector.PointVector | ga.vector.MultiPointVector;
23
+ /**
24
+ * Radius accessor.
25
+ * @default 1
26
+ */
27
+ getRadius?: FloatAccessor;
28
+ /**
29
+ * Fill color accessor.
30
+ * @default [0, 0, 0, 255]
31
+ */
32
+ getFillColor?: ColorAccessor;
33
+ /**
34
+ * Stroke color accessor.
35
+ * @default [0, 0, 0, 255]
36
+ */
37
+ getLineColor?: ColorAccessor;
38
+ /**
39
+ * Stroke width accessor.
40
+ * @default 1
41
+ */
42
+ getLineWidth?: FloatAccessor;
43
+ };
44
+ export declare class GeoArrowScatterplotLayer<ExtraProps extends object = object> extends CompositeLayer<GeoArrowScatterplotLayerProps & ExtraProps> {
45
+ static defaultProps: DefaultProps<GeoArrowScatterplotLayerProps>;
46
+ static layerName: string;
47
+ getPickingInfo(params: GetPickingInfoParams & {
48
+ sourceLayer: {
49
+ props: GeoArrowExtraPickingProps;
50
+ };
51
+ }): GeoArrowPickingInfo;
52
+ renderLayers(): Layer<object> | LayersList | null;
53
+ _renderLayersPoint(geometryColumn: ga.vector.PointVector): Layer<object> | LayersList | null;
54
+ _renderLayersMultiPoint(geometryColumn: ga.vector.MultiPointVector): Layer<object> | LayersList | null;
55
+ }
56
+ export {};