@deck.gl/geo-layers 8.6.0 → 8.6.4

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 (40) hide show
  1. package/dist/dist.dev.js +15 -15
  2. package/dist/es5/great-circle-layer/great-circle-layer.js +1 -26
  3. package/dist/es5/great-circle-layer/great-circle-layer.js.map +1 -1
  4. package/dist/es5/h3-layers/h3-cluster-layer.js +87 -149
  5. package/dist/es5/h3-layers/h3-cluster-layer.js.map +1 -1
  6. package/dist/es5/h3-layers/h3-hexagon-layer.js +226 -321
  7. package/dist/es5/h3-layers/h3-hexagon-layer.js.map +1 -1
  8. package/dist/es5/index.js +9 -9
  9. package/dist/es5/mesh-layer/mesh-layer.js +125 -151
  10. package/dist/es5/mesh-layer/mesh-layer.js.map +1 -1
  11. package/dist/es5/mvt-layer/coordinate-transform.js +19 -45
  12. package/dist/es5/mvt-layer/coordinate-transform.js.map +1 -1
  13. package/dist/es5/mvt-layer/find-index-binary.js +26 -45
  14. package/dist/es5/mvt-layer/find-index-binary.js.map +1 -1
  15. package/dist/es5/mvt-layer/mvt-layer.js +282 -374
  16. package/dist/es5/mvt-layer/mvt-layer.js.map +1 -1
  17. package/dist/es5/s2-layer/s2-geometry.js +32 -43
  18. package/dist/es5/s2-layer/s2-geometry.js.map +1 -1
  19. package/dist/es5/s2-layer/s2-layer.js +69 -104
  20. package/dist/es5/s2-layer/s2-layer.js.map +1 -1
  21. package/dist/es5/s2-layer/s2-utils.js +28 -27
  22. package/dist/es5/s2-layer/s2-utils.js.map +1 -1
  23. package/dist/es5/terrain-layer/terrain-layer.js +208 -254
  24. package/dist/es5/terrain-layer/terrain-layer.js.map +1 -1
  25. package/dist/es5/tile-3d-layer/tile-3d-layer.js +329 -382
  26. package/dist/es5/tile-3d-layer/tile-3d-layer.js.map +1 -1
  27. package/dist/es5/tile-layer/tile-2d-header.js +119 -183
  28. package/dist/es5/tile-layer/tile-2d-header.js.map +1 -1
  29. package/dist/es5/tile-layer/tile-2d-traversal.js +115 -178
  30. package/dist/es5/tile-layer/tile-2d-traversal.js.map +1 -1
  31. package/dist/es5/tile-layer/tile-layer.js +214 -258
  32. package/dist/es5/tile-layer/tile-layer.js.map +1 -1
  33. package/dist/es5/tile-layer/tileset-2d.js +290 -435
  34. package/dist/es5/tile-layer/tileset-2d.js.map +1 -1
  35. package/dist/es5/tile-layer/utils.js +61 -110
  36. package/dist/es5/tile-layer/utils.js.map +1 -1
  37. package/dist/es5/trips-layer/trips-layer.js +44 -81
  38. package/dist/es5/trips-layer/trips-layer.js.map +1 -1
  39. package/dist.min.js +1 -1
  40. package/package.json +2 -2
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
@@ -9,22 +7,6 @@ exports.normalizeLongitudes = normalizeLongitudes;
9
7
  exports.scalePolygon = scalePolygon;
10
8
  exports.default = void 0;
11
9
 
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
25
-
26
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
27
-
28
10
  var _h3Js = require("h3-js");
29
11
 
30
12
  var _math = require("math.gl");
@@ -33,77 +15,42 @@ var _core = require("@deck.gl/core");
33
15
 
34
16
  var _layers = require("@deck.gl/layers");
35
17
 
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 { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
39
-
40
- 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; }
41
-
42
- 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; }
43
-
44
- function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
45
-
46
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
47
-
48
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
49
-
50
- var UPDATE_THRESHOLD_KM = 10;
18
+ const UPDATE_THRESHOLD_KM = 10;
51
19
 
52
20
  function normalizeLongitudes(vertices, refLng) {
53
21
  refLng = refLng === undefined ? vertices[0][0] : refLng;
54
22
 
55
- var _iterator = _createForOfIteratorHelper(vertices),
56
- _step;
23
+ for (const pt of vertices) {
24
+ const deltaLng = pt[0] - refLng;
57
25
 
58
- try {
59
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
60
- var pt = _step.value;
61
- var deltaLng = pt[0] - refLng;
62
-
63
- if (deltaLng > 180) {
64
- pt[0] -= 360;
65
- } else if (deltaLng < -180) {
66
- pt[0] += 360;
67
- }
26
+ if (deltaLng > 180) {
27
+ pt[0] -= 360;
28
+ } else if (deltaLng < -180) {
29
+ pt[0] += 360;
68
30
  }
69
- } catch (err) {
70
- _iterator.e(err);
71
- } finally {
72
- _iterator.f();
73
31
  }
74
32
  }
75
33
 
76
34
  function scalePolygon(hexId, vertices, factor) {
77
- var _h3ToGeo = (0, _h3Js.h3ToGeo)(hexId),
78
- _h3ToGeo2 = (0, _slicedToArray2.default)(_h3ToGeo, 2),
79
- lat = _h3ToGeo2[0],
80
- lng = _h3ToGeo2[1];
81
-
82
- var actualCount = vertices.length;
35
+ const [lat, lng] = (0, _h3Js.h3ToGeo)(hexId);
36
+ const actualCount = vertices.length;
83
37
  normalizeLongitudes(vertices, lng);
84
- var vertexCount = vertices[0] === vertices[actualCount - 1] ? actualCount - 1 : actualCount;
38
+ const vertexCount = vertices[0] === vertices[actualCount - 1] ? actualCount - 1 : actualCount;
85
39
 
86
- for (var i = 0; i < vertexCount; i++) {
40
+ for (let i = 0; i < vertexCount; i++) {
87
41
  vertices[i][0] = (0, _math.lerp)(lng, vertices[i][0], factor);
88
42
  vertices[i][1] = (0, _math.lerp)(lat, vertices[i][1], factor);
89
43
  }
90
44
  }
91
45
 
92
46
  function getHexagonCentroid(getHexagon, object, objectInfo) {
93
- var hexagonId = getHexagon(object, objectInfo);
94
-
95
- var _h3ToGeo3 = (0, _h3Js.h3ToGeo)(hexagonId),
96
- _h3ToGeo4 = (0, _slicedToArray2.default)(_h3ToGeo3, 2),
97
- lat = _h3ToGeo4[0],
98
- lng = _h3ToGeo4[1];
99
-
47
+ const hexagonId = getHexagon(object, objectInfo);
48
+ const [lat, lng] = (0, _h3Js.h3ToGeo)(hexagonId);
100
49
  return [lng, lat];
101
50
  }
102
51
 
103
- function h3ToPolygon(hexId) {
104
- var coverage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
105
- var flatten = arguments.length > 2 ? arguments[2] : undefined;
106
- var vertices = (0, _h3Js.h3ToGeoBoundary)(hexId, true);
52
+ function h3ToPolygon(hexId, coverage = 1, flatten) {
53
+ const vertices = (0, _h3Js.h3ToGeoBoundary)(hexId, true);
107
54
 
108
55
  if (coverage !== 1) {
109
56
  scalePolygon(hexId, vertices, coverage);
@@ -112,22 +59,12 @@ function h3ToPolygon(hexId) {
112
59
  }
113
60
 
114
61
  if (flatten) {
115
- var positions = new Float64Array(vertices.length * 2);
116
- var i = 0;
62
+ const positions = new Float64Array(vertices.length * 2);
63
+ let i = 0;
117
64
 
118
- var _iterator2 = _createForOfIteratorHelper(vertices),
119
- _step2;
120
-
121
- try {
122
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
123
- var pt = _step2.value;
124
- positions[i++] = pt[0];
125
- positions[i++] = pt[1];
126
- }
127
- } catch (err) {
128
- _iterator2.e(err);
129
- } finally {
130
- _iterator2.f();
65
+ for (const pt of vertices) {
66
+ positions[i++] = pt[0];
67
+ positions[i++] = pt[1];
131
68
  }
132
69
 
133
70
  return positions;
@@ -137,25 +74,25 @@ function h3ToPolygon(hexId) {
137
74
  }
138
75
 
139
76
  function mergeTriggers(getHexagon, coverage) {
140
- var trigger;
77
+ let trigger;
141
78
 
142
79
  if (getHexagon === undefined || getHexagon === null) {
143
80
  trigger = coverage;
144
- } else if ((0, _typeof2.default)(getHexagon) === 'object') {
145
- trigger = _objectSpread(_objectSpread({}, getHexagon), {}, {
146
- coverage: coverage
147
- });
81
+ } else if (typeof getHexagon === 'object') {
82
+ trigger = { ...getHexagon,
83
+ coverage
84
+ };
148
85
  } else {
149
86
  trigger = {
150
- getHexagon: getHexagon,
151
- coverage: coverage
87
+ getHexagon,
88
+ coverage
152
89
  };
153
90
  }
154
91
 
155
92
  return trigger;
156
93
  }
157
94
 
158
- var defaultProps = _objectSpread(_objectSpread({}, _layers.PolygonLayer.defaultProps), {}, {
95
+ const defaultProps = { ..._layers.PolygonLayer.defaultProps,
159
96
  highPrecision: 'auto',
160
97
  coverage: {
161
98
  type: 'number',
@@ -166,263 +103,231 @@ var defaultProps = _objectSpread(_objectSpread({}, _layers.PolygonLayer.defaultP
166
103
  centerHexagon: null,
167
104
  getHexagon: {
168
105
  type: 'accessor',
169
- value: function value(x) {
170
- return x.hexagon;
171
- }
106
+ value: x => x.hexagon
172
107
  },
173
108
  extruded: true
174
- });
175
-
109
+ };
176
110
  delete defaultProps.getLineDashArray;
177
111
 
178
- var H3HexagonLayer = function (_CompositeLayer) {
179
- (0, _inherits2.default)(H3HexagonLayer, _CompositeLayer);
112
+ class H3HexagonLayer extends _core.CompositeLayer {
113
+ shouldUpdateState({
114
+ changeFlags
115
+ }) {
116
+ return this._shouldUseHighPrecision() ? changeFlags.propsOrDataChanged : changeFlags.somethingChanged;
117
+ }
180
118
 
181
- var _super = _createSuper(H3HexagonLayer);
119
+ updateState({
120
+ props,
121
+ oldProps,
122
+ changeFlags
123
+ }) {
124
+ if (props.highPrecision !== true && (changeFlags.dataChanged || changeFlags.updateTriggers && changeFlags.updateTriggers.getHexagon)) {
125
+ const dataProps = this._calculateH3DataProps(props);
182
126
 
183
- function H3HexagonLayer() {
184
- (0, _classCallCheck2.default)(this, H3HexagonLayer);
185
- return _super.apply(this, arguments);
127
+ this.setState(dataProps);
128
+ }
129
+
130
+ this._updateVertices(this.context.viewport);
186
131
  }
187
132
 
188
- (0, _createClass2.default)(H3HexagonLayer, [{
189
- key: "shouldUpdateState",
190
- value: function shouldUpdateState(_ref) {
191
- var changeFlags = _ref.changeFlags;
192
- return this._shouldUseHighPrecision() ? changeFlags.propsOrDataChanged : changeFlags.somethingChanged;
193
- }
194
- }, {
195
- key: "updateState",
196
- value: function updateState(_ref2) {
197
- var props = _ref2.props,
198
- oldProps = _ref2.oldProps,
199
- changeFlags = _ref2.changeFlags;
133
+ _calculateH3DataProps(props) {
134
+ let resolution = -1;
135
+ let hasPentagon = false;
136
+ let hasMultipleRes = false;
137
+ const {
138
+ iterable,
139
+ objectInfo
140
+ } = (0, _core.createIterable)(props.data);
200
141
 
201
- if (props.highPrecision !== true && (changeFlags.dataChanged || changeFlags.updateTriggers && changeFlags.updateTriggers.getHexagon)) {
202
- var dataProps = this._calculateH3DataProps(props);
142
+ for (const object of iterable) {
143
+ objectInfo.index++;
144
+ const hexId = props.getHexagon(object, objectInfo);
145
+ const hexResolution = (0, _h3Js.h3GetResolution)(hexId);
203
146
 
204
- this.setState(dataProps);
147
+ if (resolution < 0) {
148
+ resolution = hexResolution;
149
+ if (!props.highPrecision) break;
150
+ } else if (resolution !== hexResolution) {
151
+ hasMultipleRes = true;
152
+ break;
205
153
  }
206
154
 
207
- this._updateVertices(this.context.viewport);
208
- }
209
- }, {
210
- key: "_calculateH3DataProps",
211
- value: function _calculateH3DataProps(props) {
212
- var resolution = -1;
213
- var hasPentagon = false;
214
- var hasMultipleRes = false;
215
-
216
- var _createIterable = (0, _core.createIterable)(props.data),
217
- iterable = _createIterable.iterable,
218
- objectInfo = _createIterable.objectInfo;
219
-
220
- var _iterator3 = _createForOfIteratorHelper(iterable),
221
- _step3;
222
-
223
- try {
224
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
225
- var object = _step3.value;
226
- objectInfo.index++;
227
- var hexId = props.getHexagon(object, objectInfo);
228
- var hexResolution = (0, _h3Js.h3GetResolution)(hexId);
229
-
230
- if (resolution < 0) {
231
- resolution = hexResolution;
232
- if (!props.highPrecision) break;
233
- } else if (resolution !== hexResolution) {
234
- hasMultipleRes = true;
235
- break;
236
- }
237
-
238
- if ((0, _h3Js.h3IsPentagon)(hexId)) {
239
- hasPentagon = true;
240
- break;
241
- }
242
- }
243
- } catch (err) {
244
- _iterator3.e(err);
245
- } finally {
246
- _iterator3.f();
155
+ if ((0, _h3Js.h3IsPentagon)(hexId)) {
156
+ hasPentagon = true;
157
+ break;
247
158
  }
159
+ }
248
160
 
249
- return {
250
- resolution: resolution,
251
- edgeLengthKM: resolution >= 0 ? (0, _h3Js.edgeLength)(resolution, _h3Js.UNITS.km) : 0,
252
- hasMultipleRes: hasMultipleRes,
253
- hasPentagon: hasPentagon
254
- };
161
+ return {
162
+ resolution,
163
+ edgeLengthKM: resolution >= 0 ? (0, _h3Js.edgeLength)(resolution, _h3Js.UNITS.km) : 0,
164
+ hasMultipleRes,
165
+ hasPentagon
166
+ };
167
+ }
168
+
169
+ _shouldUseHighPrecision() {
170
+ if (this.props.highPrecision === 'auto') {
171
+ const {
172
+ resolution,
173
+ hasPentagon,
174
+ hasMultipleRes
175
+ } = this.state;
176
+ const {
177
+ viewport
178
+ } = this.context;
179
+ return viewport.resolution || hasMultipleRes || hasPentagon || resolution >= 0 && resolution <= 5;
255
180
  }
256
- }, {
257
- key: "_shouldUseHighPrecision",
258
- value: function _shouldUseHighPrecision() {
259
- if (this.props.highPrecision === 'auto') {
260
- var _this$state = this.state,
261
- resolution = _this$state.resolution,
262
- hasPentagon = _this$state.hasPentagon,
263
- hasMultipleRes = _this$state.hasMultipleRes;
264
- var viewport = this.context.viewport;
265
- return viewport.resolution || hasMultipleRes || hasPentagon || resolution >= 0 && resolution <= 5;
266
- }
267
181
 
268
- return this.props.highPrecision;
182
+ return this.props.highPrecision;
183
+ }
184
+
185
+ _updateVertices(viewport) {
186
+ if (this._shouldUseHighPrecision()) {
187
+ return;
269
188
  }
270
- }, {
271
- key: "_updateVertices",
272
- value: function _updateVertices(viewport) {
273
- if (this._shouldUseHighPrecision()) {
274
- return;
275
- }
276
189
 
277
- var _this$state2 = this.state,
278
- resolution = _this$state2.resolution,
279
- edgeLengthKM = _this$state2.edgeLengthKM,
280
- centerHex = _this$state2.centerHex;
190
+ const {
191
+ resolution,
192
+ edgeLengthKM,
193
+ centerHex
194
+ } = this.state;
281
195
 
282
- if (resolution < 0) {
283
- return;
284
- }
196
+ if (resolution < 0) {
197
+ return;
198
+ }
199
+
200
+ const hex = this.props.centerHexagon || (0, _h3Js.geoToH3)(viewport.latitude, viewport.longitude, resolution);
201
+
202
+ if (centerHex === hex) {
203
+ return;
204
+ }
285
205
 
286
- var hex = this.props.centerHexagon || (0, _h3Js.geoToH3)(viewport.latitude, viewport.longitude, resolution);
206
+ if (centerHex) {
207
+ const distance = (0, _h3Js.h3Distance)(centerHex, hex);
287
208
 
288
- if (centerHex === hex) {
209
+ if (distance >= 0 && distance * edgeLengthKM < UPDATE_THRESHOLD_KM) {
289
210
  return;
290
211
  }
212
+ }
291
213
 
292
- if (centerHex) {
293
- var distance = (0, _h3Js.h3Distance)(centerHex, hex);
214
+ const {
215
+ unitsPerMeter
216
+ } = viewport.distanceScales;
217
+ let vertices = h3ToPolygon(hex);
218
+ const [centerLat, centerLng] = (0, _h3Js.h3ToGeo)(hex);
219
+ const [centerX, centerY] = viewport.projectFlat([centerLng, centerLat]);
220
+ vertices = vertices.map(p => {
221
+ const worldPosition = viewport.projectFlat(p);
222
+ return [(worldPosition[0] - centerX) / unitsPerMeter[0], (worldPosition[1] - centerY) / unitsPerMeter[1]];
223
+ });
224
+ this.setState({
225
+ centerHex: hex,
226
+ vertices
227
+ });
228
+ }
294
229
 
295
- if (distance >= 0 && distance * edgeLengthKM < UPDATE_THRESHOLD_KM) {
296
- return;
297
- }
230
+ renderLayers() {
231
+ return this._shouldUseHighPrecision() ? this._renderPolygonLayer() : this._renderColumnLayer();
232
+ }
233
+
234
+ _getForwardProps() {
235
+ const {
236
+ elevationScale,
237
+ material,
238
+ coverage,
239
+ extruded,
240
+ wireframe,
241
+ stroked,
242
+ filled,
243
+ lineWidthUnits,
244
+ lineWidthScale,
245
+ lineWidthMinPixels,
246
+ lineWidthMaxPixels,
247
+ getFillColor,
248
+ getElevation,
249
+ getLineColor,
250
+ getLineWidth,
251
+ transitions,
252
+ updateTriggers
253
+ } = this.props;
254
+ return {
255
+ elevationScale,
256
+ extruded,
257
+ coverage,
258
+ wireframe,
259
+ stroked,
260
+ filled,
261
+ lineWidthUnits,
262
+ lineWidthScale,
263
+ lineWidthMinPixels,
264
+ lineWidthMaxPixels,
265
+ material,
266
+ getElevation,
267
+ getFillColor,
268
+ getLineColor,
269
+ getLineWidth,
270
+ transitions,
271
+ updateTriggers: {
272
+ getFillColor: updateTriggers.getFillColor,
273
+ getElevation: updateTriggers.getElevation,
274
+ getLineColor: updateTriggers.getLineColor,
275
+ getLineWidth: updateTriggers.getLineWidth
298
276
  }
277
+ };
278
+ }
299
279
 
300
- var unitsPerMeter = viewport.distanceScales.unitsPerMeter;
301
- var vertices = h3ToPolygon(hex);
302
-
303
- var _h3ToGeo5 = (0, _h3Js.h3ToGeo)(hex),
304
- _h3ToGeo6 = (0, _slicedToArray2.default)(_h3ToGeo5, 2),
305
- centerLat = _h3ToGeo6[0],
306
- centerLng = _h3ToGeo6[1];
307
-
308
- var _viewport$projectFlat = viewport.projectFlat([centerLng, centerLat]),
309
- _viewport$projectFlat2 = (0, _slicedToArray2.default)(_viewport$projectFlat, 2),
310
- centerX = _viewport$projectFlat2[0],
311
- centerY = _viewport$projectFlat2[1];
312
-
313
- vertices = vertices.map(function (p) {
314
- var worldPosition = viewport.projectFlat(p);
315
- return [(worldPosition[0] - centerX) / unitsPerMeter[0], (worldPosition[1] - centerY) / unitsPerMeter[1]];
316
- });
317
- this.setState({
318
- centerHex: hex,
319
- vertices: vertices
320
- });
321
- }
322
- }, {
323
- key: "renderLayers",
324
- value: function renderLayers() {
325
- return this._shouldUseHighPrecision() ? this._renderPolygonLayer() : this._renderColumnLayer();
326
- }
327
- }, {
328
- key: "_getForwardProps",
329
- value: function _getForwardProps() {
330
- var _this$props = this.props,
331
- elevationScale = _this$props.elevationScale,
332
- material = _this$props.material,
333
- coverage = _this$props.coverage,
334
- extruded = _this$props.extruded,
335
- wireframe = _this$props.wireframe,
336
- stroked = _this$props.stroked,
337
- filled = _this$props.filled,
338
- lineWidthUnits = _this$props.lineWidthUnits,
339
- lineWidthScale = _this$props.lineWidthScale,
340
- lineWidthMinPixels = _this$props.lineWidthMinPixels,
341
- lineWidthMaxPixels = _this$props.lineWidthMaxPixels,
342
- getFillColor = _this$props.getFillColor,
343
- getElevation = _this$props.getElevation,
344
- getLineColor = _this$props.getLineColor,
345
- getLineWidth = _this$props.getLineWidth,
346
- transitions = _this$props.transitions,
347
- updateTriggers = _this$props.updateTriggers;
348
- return {
349
- elevationScale: elevationScale,
350
- extruded: extruded,
351
- coverage: coverage,
352
- wireframe: wireframe,
353
- stroked: stroked,
354
- filled: filled,
355
- lineWidthUnits: lineWidthUnits,
356
- lineWidthScale: lineWidthScale,
357
- lineWidthMinPixels: lineWidthMinPixels,
358
- lineWidthMaxPixels: lineWidthMaxPixels,
359
- material: material,
360
- getElevation: getElevation,
361
- getFillColor: getFillColor,
362
- getLineColor: getLineColor,
363
- getLineWidth: getLineWidth,
364
- transitions: transitions,
365
- updateTriggers: {
366
- getFillColor: updateTriggers.getFillColor,
367
- getElevation: updateTriggers.getElevation,
368
- getLineColor: updateTriggers.getLineColor,
369
- getLineWidth: updateTriggers.getLineWidth
370
- }
371
- };
372
- }
373
- }, {
374
- key: "_renderPolygonLayer",
375
- value: function _renderPolygonLayer() {
376
- var _this$props2 = this.props,
377
- data = _this$props2.data,
378
- getHexagon = _this$props2.getHexagon,
379
- updateTriggers = _this$props2.updateTriggers,
380
- coverage = _this$props2.coverage;
381
- var SubLayerClass = this.getSubLayerClass('hexagon-cell-hifi', _layers.PolygonLayer);
382
-
383
- var forwardProps = this._getForwardProps();
384
-
385
- forwardProps.updateTriggers.getPolygon = mergeTriggers(updateTriggers.getHexagon, coverage);
386
- return new SubLayerClass(forwardProps, this.getSubLayerProps({
387
- id: 'hexagon-cell-hifi',
388
- updateTriggers: forwardProps.updateTriggers
389
- }), {
390
- data: data,
391
- _normalize: false,
392
- _windingOrder: 'CCW',
393
- positionFormat: 'XY',
394
- getPolygon: function getPolygon(object, objectInfo) {
395
- var hexagonId = getHexagon(object, objectInfo);
396
- return h3ToPolygon(hexagonId, coverage, true);
397
- }
398
- });
399
- }
400
- }, {
401
- key: "_renderColumnLayer",
402
- value: function _renderColumnLayer() {
403
- var _this$props3 = this.props,
404
- data = _this$props3.data,
405
- getHexagon = _this$props3.getHexagon,
406
- updateTriggers = _this$props3.updateTriggers;
407
- var SubLayerClass = this.getSubLayerClass('hexagon-cell', _layers.ColumnLayer);
408
-
409
- var forwardProps = this._getForwardProps();
410
-
411
- forwardProps.updateTriggers.getPosition = updateTriggers.getHexagon;
412
- return new SubLayerClass(forwardProps, this.getSubLayerProps({
413
- id: 'hexagon-cell',
414
- updateTriggers: forwardProps.updateTriggers
415
- }), {
416
- data: data,
417
- diskResolution: 6,
418
- radius: 1,
419
- vertices: this.state.vertices,
420
- getPosition: getHexagonCentroid.bind(null, getHexagon)
421
- });
422
- }
423
- }]);
424
- return H3HexagonLayer;
425
- }(_core.CompositeLayer);
280
+ _renderPolygonLayer() {
281
+ const {
282
+ data,
283
+ getHexagon,
284
+ updateTriggers,
285
+ coverage
286
+ } = this.props;
287
+ const SubLayerClass = this.getSubLayerClass('hexagon-cell-hifi', _layers.PolygonLayer);
288
+
289
+ const forwardProps = this._getForwardProps();
290
+
291
+ forwardProps.updateTriggers.getPolygon = mergeTriggers(updateTriggers.getHexagon, coverage);
292
+ return new SubLayerClass(forwardProps, this.getSubLayerProps({
293
+ id: 'hexagon-cell-hifi',
294
+ updateTriggers: forwardProps.updateTriggers
295
+ }), {
296
+ data,
297
+ _normalize: false,
298
+ _windingOrder: 'CCW',
299
+ positionFormat: 'XY',
300
+ getPolygon: (object, objectInfo) => {
301
+ const hexagonId = getHexagon(object, objectInfo);
302
+ return h3ToPolygon(hexagonId, coverage, true);
303
+ }
304
+ });
305
+ }
306
+
307
+ _renderColumnLayer() {
308
+ const {
309
+ data,
310
+ getHexagon,
311
+ updateTriggers
312
+ } = this.props;
313
+ const SubLayerClass = this.getSubLayerClass('hexagon-cell', _layers.ColumnLayer);
314
+
315
+ const forwardProps = this._getForwardProps();
316
+
317
+ forwardProps.updateTriggers.getPosition = updateTriggers.getHexagon;
318
+ return new SubLayerClass(forwardProps, this.getSubLayerProps({
319
+ id: 'hexagon-cell',
320
+ updateTriggers: forwardProps.updateTriggers
321
+ }), {
322
+ data,
323
+ diskResolution: 6,
324
+ radius: 1,
325
+ vertices: this.state.vertices,
326
+ getPosition: getHexagonCentroid.bind(null, getHexagon)
327
+ });
328
+ }
329
+
330
+ }
426
331
 
427
332
  exports.default = H3HexagonLayer;
428
333
  H3HexagonLayer.defaultProps = defaultProps;