@deck.gl/geo-layers 9.2.0-alpha.3 → 9.2.0-beta.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.
package/dist/index.cjs CHANGED
@@ -166,7 +166,7 @@ var A5Layer = class extends GeoCellLayer_default {
166
166
  positionFormat: "XY",
167
167
  getPolygon: (x, objectInfo) => {
168
168
  const pentagon = getPentagon(x, objectInfo);
169
- const boundary = (0, import_a5_js.cellToBoundary)(typeof pentagon === "string" ? (0, import_a5_js.hexToBigInt)(pentagon) : pentagon, { closedRing: true, segments: "auto" });
169
+ const boundary = (0, import_a5_js.cellToBoundary)(typeof pentagon === "string" ? (0, import_a5_js.hexToU64)(pentagon) : pentagon, { closedRing: true, segments: "auto" });
170
170
  return flattenPolygon(boundary);
171
171
  }
172
172
  };
@@ -1275,7 +1275,7 @@ var Tileset2D = class {
1275
1275
  return this._frameNumber;
1276
1276
  }
1277
1277
  // eslint-disable-next-line complexity
1278
- isTileVisible(tile, cullRect) {
1278
+ isTileVisible(tile, cullRect, modelMatrix) {
1279
1279
  if (!tile.isVisible) {
1280
1280
  return false;
1281
1281
  }
@@ -1285,12 +1285,16 @@ var Tileset2D = class {
1285
1285
  z: this._zRange,
1286
1286
  cullRect
1287
1287
  });
1288
- const { bbox } = tile;
1288
+ let { bbox } = tile;
1289
1289
  for (const [minX, minY, maxX, maxY] of boundsArr) {
1290
1290
  let overlaps;
1291
1291
  if ("west" in bbox) {
1292
1292
  overlaps = bbox.west < maxX && bbox.east > minX && bbox.south < maxY && bbox.north > minY;
1293
1293
  } else {
1294
+ if (modelMatrix && !import_core5.Matrix4.IDENTITY.equals(modelMatrix)) {
1295
+ const [left, top, right, bottom] = transformBox([bbox.left, bbox.top, bbox.right, bbox.bottom], modelMatrix);
1296
+ bbox = { left, top, right, bottom };
1297
+ }
1294
1298
  const y0 = Math.min(bbox.top, bbox.bottom);
1295
1299
  const y1 = Math.max(bbox.top, bbox.bottom);
1296
1300
  overlaps = bbox.left < maxX && bbox.right > minX && y0 < maxY && y1 > minY;
@@ -1520,6 +1524,7 @@ function getPlaceholderInChildren(tile) {
1520
1524
  }
1521
1525
 
1522
1526
  // dist/tile-layer/tile-layer.js
1527
+ var import_core7 = require("@math.gl/core");
1523
1528
  var defaultProps7 = {
1524
1529
  TilesetClass: Tileset2D,
1525
1530
  data: { type: "data", value: [] },
@@ -1697,7 +1702,8 @@ var TileLayer = class extends import_core6.CompositeLayer {
1697
1702
  }
1698
1703
  filterSubLayer({ layer, cullRect }) {
1699
1704
  const { tile } = layer.props;
1700
- return this.state.tileset.isTileVisible(tile, cullRect);
1705
+ const { modelMatrix } = this.props;
1706
+ return this.state.tileset.isTileVisible(tile, cullRect, modelMatrix ? new import_core7.Matrix4(modelMatrix) : null);
1701
1707
  }
1702
1708
  };
1703
1709
  TileLayer.defaultProps = defaultProps7;
@@ -1791,11 +1797,11 @@ var trips_layer_default = TripsLayer;
1791
1797
 
1792
1798
  // dist/h3-layers/h3-cluster-layer.js
1793
1799
  var import_h3_js3 = require("h3-js");
1794
- var import_core8 = require("@deck.gl/core");
1800
+ var import_core9 = require("@deck.gl/core");
1795
1801
 
1796
1802
  // dist/h3-layers/h3-hexagon-layer.js
1797
1803
  var import_h3_js2 = require("h3-js");
1798
- var import_core7 = require("@deck.gl/core");
1804
+ var import_core8 = require("@deck.gl/core");
1799
1805
  var import_layers6 = require("@deck.gl/layers");
1800
1806
  var UPDATE_THRESHOLD_KM = 10;
1801
1807
  function mergeTriggers(getHexagon, coverage) {
@@ -1817,7 +1823,7 @@ var defaultProps9 = {
1817
1823
  getHexagon: { type: "accessor", value: (x) => x.hexagon },
1818
1824
  extruded: true
1819
1825
  };
1820
- var H3HexagonLayer = class extends import_core7.CompositeLayer {
1826
+ var H3HexagonLayer = class extends import_core8.CompositeLayer {
1821
1827
  initializeState() {
1822
1828
  H3HexagonLayer._checkH3Lib();
1823
1829
  this.state = {
@@ -1839,7 +1845,7 @@ var H3HexagonLayer = class extends import_core7.CompositeLayer {
1839
1845
  let resolution = -1;
1840
1846
  let hasPentagon = false;
1841
1847
  let hasMultipleRes = false;
1842
- const { iterable, objectInfo } = (0, import_core7.createIterable)(this.props.data);
1848
+ const { iterable, objectInfo } = (0, import_core8.createIterable)(this.props.data);
1843
1849
  for (const object of iterable) {
1844
1850
  objectInfo.index++;
1845
1851
  const hexId = this.props.getHexagon(object, objectInfo);
@@ -1992,7 +1998,7 @@ var H3ClusterLayer = class extends GeoCellLayer_default {
1992
1998
  if (changeFlags.dataChanged || changeFlags.updateTriggersChanged && changeFlags.updateTriggersChanged.getHexagons) {
1993
1999
  const { data, getHexagons } = props;
1994
2000
  const polygons = [];
1995
- const { iterable, objectInfo } = (0, import_core8.createIterable)(data);
2001
+ const { iterable, objectInfo } = (0, import_core9.createIterable)(data);
1996
2002
  for (const object of iterable) {
1997
2003
  objectInfo.index++;
1998
2004
  const hexagons = getHexagons(object, objectInfo);
@@ -2025,7 +2031,7 @@ var h3_cluster_layer_default = H3ClusterLayer;
2025
2031
 
2026
2032
  // dist/tile-3d-layer/tile-3d-layer.js
2027
2033
  var import_engine2 = require("@luma.gl/engine");
2028
- var import_core9 = require("@deck.gl/core");
2034
+ var import_core10 = require("@deck.gl/core");
2029
2035
  var import_layers7 = require("@deck.gl/layers");
2030
2036
  var import_mesh_layers2 = require("@deck.gl/mesh-layers");
2031
2037
 
@@ -2280,7 +2286,7 @@ MeshLayer.defaultProps = defaultProps11;
2280
2286
  var mesh_layer_default = MeshLayer;
2281
2287
 
2282
2288
  // dist/tile-3d-layer/tile-3d-layer.js
2283
- var import_core10 = require("@loaders.gl/core");
2289
+ var import_core11 = require("@loaders.gl/core");
2284
2290
  var import_tiles = require("@loaders.gl/tiles");
2285
2291
  var import_d_tiles = require("@loaders.gl/3d-tiles");
2286
2292
  var SINGLE_DATA = [0];
@@ -2300,10 +2306,10 @@ var defaultProps12 = {
2300
2306
  } },
2301
2307
  _getMeshColor: { type: "function", value: (tileHeader) => [255, 255, 255] }
2302
2308
  };
2303
- var Tile3DLayer = class extends import_core9.CompositeLayer {
2309
+ var Tile3DLayer = class extends import_core10.CompositeLayer {
2304
2310
  initializeState() {
2305
2311
  if ("onTileLoadFail" in this.props) {
2306
- import_core9.log.removed("onTileLoadFail", "onTileError")();
2312
+ import_core10.log.removed("onTileLoadFail", "onTileError")();
2307
2313
  }
2308
2314
  this.state = {
2309
2315
  layerMap: {},
@@ -2388,7 +2394,7 @@ var Tile3DLayer = class extends import_core9.CompositeLayer {
2388
2394
  }
2389
2395
  Object.assign(options, preloadOptions);
2390
2396
  }
2391
- const tilesetJson = await (0, import_core10.load)(actualTilesetUrl, loader, options.loadOptions);
2397
+ const tilesetJson = await (0, import_core11.load)(actualTilesetUrl, loader, options.loadOptions);
2392
2398
  const tileset3d = new import_tiles.Tileset3D(tilesetJson, {
2393
2399
  onTileLoad: this._onTileLoad.bind(this),
2394
2400
  onTileUnload: this._onTileUnload.bind(this),
@@ -2470,7 +2476,7 @@ var Tile3DLayer = class extends import_core9.CompositeLayer {
2470
2476
  id: `${this.id}-pointcloud-${tileHeader.id}`,
2471
2477
  tile: tileHeader,
2472
2478
  data,
2473
- coordinateSystem: import_core9.COORDINATE_SYSTEM.METER_OFFSETS,
2479
+ coordinateSystem: import_core10.COORDINATE_SYSTEM.METER_OFFSETS,
2474
2480
  coordinateOrigin: cartographicOrigin,
2475
2481
  modelMatrix,
2476
2482
  getColor: constantRGBA || getPointColor,
@@ -2489,7 +2495,7 @@ var Tile3DLayer = class extends import_core9.CompositeLayer {
2489
2495
  tile: tileHeader,
2490
2496
  data: instances || SINGLE_DATA,
2491
2497
  scenegraph: gltf,
2492
- coordinateSystem: import_core9.COORDINATE_SYSTEM.METER_OFFSETS,
2498
+ coordinateSystem: import_core10.COORDINATE_SYSTEM.METER_OFFSETS,
2493
2499
  coordinateOrigin: cartographicOrigin,
2494
2500
  modelMatrix,
2495
2501
  getTransformMatrix: (instance) => instance.modelMatrix,
@@ -2499,7 +2505,7 @@ var Tile3DLayer = class extends import_core9.CompositeLayer {
2499
2505
  }
2500
2506
  _makeSimpleMeshLayer(tileHeader, oldLayer) {
2501
2507
  const content = tileHeader.content;
2502
- const { attributes, indices, modelMatrix, cartographicOrigin, coordinateSystem = import_core9.COORDINATE_SYSTEM.METER_OFFSETS, material, featureIds } = content;
2508
+ const { attributes, indices, modelMatrix, cartographicOrigin, coordinateSystem = import_core10.COORDINATE_SYSTEM.METER_OFFSETS, material, featureIds } = content;
2503
2509
  const { _getMeshColor } = this.props;
2504
2510
  const geometry = oldLayer && oldLayer.props.mesh || new import_engine2.Geometry({
2505
2511
  topology: "triangle-list",
@@ -2569,9 +2575,9 @@ function getMeshGeometry(contentAttributes) {
2569
2575
  }
2570
2576
 
2571
2577
  // dist/terrain-layer/terrain-layer.js
2572
- var import_core11 = require("@deck.gl/core");
2573
- var import_mesh_layers3 = require("@deck.gl/mesh-layers");
2574
2578
  var import_core12 = require("@deck.gl/core");
2579
+ var import_mesh_layers3 = require("@deck.gl/mesh-layers");
2580
+ var import_core13 = require("@deck.gl/core");
2575
2581
  var import_terrain = require("@loaders.gl/terrain");
2576
2582
  var DUMMY_DATA = [1];
2577
2583
  var defaultProps13 = {
@@ -2609,7 +2615,7 @@ function urlTemplateToUpdateTrigger(template) {
2609
2615
  }
2610
2616
  return template || "";
2611
2617
  }
2612
- var TerrainLayer = class extends import_core11.CompositeLayer {
2618
+ var TerrainLayer = class extends import_core12.CompositeLayer {
2613
2619
  updateState({ props, oldProps }) {
2614
2620
  const elevationDataChanged = props.elevationData !== oldProps.elevationData;
2615
2621
  if (elevationDataChanged) {
@@ -2623,7 +2629,7 @@ var TerrainLayer = class extends import_core11.CompositeLayer {
2623
2629
  this.setState({ terrain });
2624
2630
  }
2625
2631
  if (props.workerUrl) {
2626
- import_core11.log.removed("workerUrl", "loadOptions.terrain.workerUrl")();
2632
+ import_core12.log.removed("workerUrl", "loadOptions.terrain.workerUrl")();
2627
2633
  }
2628
2634
  }
2629
2635
  loadTerrain({ elevationData, bounds, elevationDecoder, meshMaxError, signal }) {
@@ -2688,7 +2694,7 @@ var TerrainLayer = class extends import_core11.CompositeLayer {
2688
2694
  mesh,
2689
2695
  texture,
2690
2696
  _instanced: false,
2691
- coordinateSystem: import_core12.COORDINATE_SYSTEM.CARTESIAN,
2697
+ coordinateSystem: import_core13.COORDINATE_SYSTEM.CARTESIAN,
2692
2698
  getPosition: (d) => [0, 0, 0],
2693
2699
  getColor: color,
2694
2700
  wireframe,
@@ -2769,15 +2775,15 @@ var terrain_layer_default = TerrainLayer;
2769
2775
  var isTileSetURL = (url) => url.includes("{x}") && (url.includes("{y}") || url.includes("{-y}"));
2770
2776
 
2771
2777
  // dist/mvt-layer/mvt-layer.js
2772
- var import_core14 = require("@deck.gl/core");
2778
+ var import_core15 = require("@deck.gl/core");
2773
2779
  var import_layers8 = require("@deck.gl/layers");
2774
2780
  var import_extensions = require("@deck.gl/extensions");
2775
- var import_core15 = require("@math.gl/core");
2781
+ var import_core16 = require("@math.gl/core");
2776
2782
  var import_mvt = require("@loaders.gl/mvt");
2777
2783
  var import_gis = require("@loaders.gl/gis");
2778
2784
 
2779
2785
  // dist/mvt-layer/coordinate-transform.js
2780
- var import_core13 = require("@math.gl/core");
2786
+ var import_core14 = require("@math.gl/core");
2781
2787
  var availableTransformations = {
2782
2788
  Point,
2783
2789
  MultiPoint,
@@ -2787,8 +2793,8 @@ var availableTransformations = {
2787
2793
  MultiPolygon
2788
2794
  };
2789
2795
  function Point([pointX, pointY], [nw, se], viewport) {
2790
- const x = (0, import_core13.lerp)(nw[0], se[0], pointX);
2791
- const y = (0, import_core13.lerp)(nw[1], se[1], pointY);
2796
+ const x = (0, import_core14.lerp)(nw[0], se[0], pointX);
2797
+ const y = (0, import_core14.lerp)(nw[1], se[1], pointY);
2792
2798
  return viewport.unprojectFlat([x, y]);
2793
2799
  }
2794
2800
  function getPoints(geometry, bbox, viewport) {
@@ -3013,17 +3019,17 @@ var MVTLayer = class extends tile_layer_default {
3013
3019
  const yScale = -xScale;
3014
3020
  const xOffset = WORLD_SIZE * x / worldScale;
3015
3021
  const yOffset = WORLD_SIZE * (1 - y / worldScale);
3016
- const modelMatrix = new import_core15.Matrix4().scale([xScale, yScale, 1]);
3022
+ const modelMatrix = new import_core16.Matrix4().scale([xScale, yScale, 1]);
3017
3023
  props.autoHighlight = false;
3018
3024
  if (!this.context.viewport.resolution) {
3019
3025
  props.modelMatrix = modelMatrix;
3020
3026
  props.coordinateOrigin = [xOffset, yOffset, 0];
3021
- props.coordinateSystem = import_core14.COORDINATE_SYSTEM.CARTESIAN;
3027
+ props.coordinateSystem = import_core15.COORDINATE_SYSTEM.CARTESIAN;
3022
3028
  props.extensions = [...props.extensions || [], new import_extensions.ClipExtension()];
3023
3029
  }
3024
3030
  const subLayers = super.renderSubLayers(props);
3025
3031
  if (this.state.binary && !(subLayers instanceof import_layers8.GeoJsonLayer)) {
3026
- import_core14.log.warn("renderSubLayers() must return GeoJsonLayer when using binary:true")();
3032
+ import_core15.log.warn("renderSubLayers() must return GeoJsonLayer when using binary:true")();
3027
3033
  }
3028
3034
  return subLayers;
3029
3035
  }