@deck.gl/carto 9.0.24 → 9.0.26

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 (44) hide show
  1. package/dist/cartoRasterTile-worker.js +1 -1
  2. package/dist/cartoSpatialTile-worker.js +1 -1
  3. package/dist/cartoVectorTile-worker.js +1 -1
  4. package/dist/dist.dev.js +85 -15
  5. package/dist/index.cjs +85 -18
  6. package/dist/index.cjs.map +3 -3
  7. package/dist/layers/raster-layer.d.ts +21 -1
  8. package/dist/layers/raster-layer.d.ts.map +1 -1
  9. package/dist/layers/raster-layer.js +31 -1
  10. package/dist/layers/raster-tile-layer.d.ts +2 -2
  11. package/dist/layers/raster-tile-layer.d.ts.map +1 -1
  12. package/dist/layers/raster-tile-layer.js +2 -2
  13. package/dist/layers/schema/carto-raster-tile-loader.js +1 -1
  14. package/dist/layers/schema/carto-spatial-tile-loader.js +1 -1
  15. package/dist/layers/schema/carto-vector-tile-loader.js +1 -1
  16. package/dist/layers/spatial-index-tile-layer.d.ts +2 -5
  17. package/dist/layers/spatial-index-tile-layer.d.ts.map +1 -1
  18. package/dist/layers/vector-tile-layer.d.ts.map +1 -1
  19. package/dist/layers/vector-tile-layer.js +20 -2
  20. package/dist/sources/h3-query-source.d.ts +2 -2
  21. package/dist/sources/h3-query-source.d.ts.map +1 -1
  22. package/dist/sources/h3-query-source.js +4 -1
  23. package/dist/sources/h3-table-source.d.ts +2 -2
  24. package/dist/sources/h3-table-source.d.ts.map +1 -1
  25. package/dist/sources/h3-table-source.js +4 -1
  26. package/dist/sources/quadbin-query-source.d.ts +2 -2
  27. package/dist/sources/quadbin-query-source.d.ts.map +1 -1
  28. package/dist/sources/quadbin-query-source.js +4 -1
  29. package/dist/sources/quadbin-table-source.d.ts +2 -2
  30. package/dist/sources/quadbin-table-source.d.ts.map +1 -1
  31. package/dist/sources/quadbin-table-source.js +4 -1
  32. package/dist/utils.d.ts.map +1 -1
  33. package/dist/utils.js +6 -0
  34. package/dist.min.js +9 -9
  35. package/package.json +2 -2
  36. package/src/layers/raster-layer.ts +45 -2
  37. package/src/layers/raster-tile-layer.ts +3 -3
  38. package/src/layers/spatial-index-tile-layer.ts +2 -2
  39. package/src/layers/vector-tile-layer.ts +22 -2
  40. package/src/sources/h3-query-source.ts +11 -2
  41. package/src/sources/h3-table-source.ts +11 -2
  42. package/src/sources/quadbin-query-source.ts +11 -2
  43. package/src/sources/quadbin-table-source.ts +11 -2
  44. package/src/utils.ts +8 -0
@@ -1,4 +1,4 @@
1
- import { Accessor, CompositeLayer, CompositeLayerProps, Layer, LayersList, DefaultProps } from '@deck.gl/core';
1
+ import { Accessor, CompositeLayer, CompositeLayerProps, Layer, LayersList, DefaultProps, PickingInfo } from '@deck.gl/core';
2
2
  import { ColumnLayerProps } from '@deck.gl/layers';
3
3
  /** All properties supported by RasterLayer. */
4
4
  export type RasterLayerProps<DataT = unknown> = _RasterLayerProps & ColumnLayerProps<DataT> & CompositeLayerProps;
@@ -12,8 +12,28 @@ type _RasterLayerProps = {
12
12
  export default class RasterLayer<DataT = any, ExtraProps = {}> extends CompositeLayer<Required<RasterLayerProps<DataT>> & ExtraProps> {
13
13
  static layerName: string;
14
14
  static defaultProps: DefaultProps<RasterLayerProps<unknown>>;
15
+ state: {
16
+ highlightedObjectIndex: number;
17
+ highlightColor: number[];
18
+ };
15
19
  renderLayers(): Layer | null | LayersList;
16
20
  protected getSubLayerAccessor<In, Out>(accessor: Accessor<In, Out>): Accessor<In, Out>;
21
+ getPickingInfo(params: any): {
22
+ color: Uint8Array | null;
23
+ layer: Layer<{}> | null;
24
+ sourceLayer?: Layer<{}> | null | undefined;
25
+ viewport?: import("@deck.gl/core").Viewport | undefined;
26
+ index: number;
27
+ picked: boolean;
28
+ object?: any;
29
+ x: number;
30
+ y: number;
31
+ pixel?: [number, number] | undefined;
32
+ coordinate?: number[] | undefined;
33
+ devicePixel?: [number, number] | undefined;
34
+ pixelRatio: number;
35
+ };
36
+ _updateAutoHighlight(info: PickingInfo): void;
17
37
  }
18
38
  export {};
19
39
  //# sourceMappingURL=raster-layer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"raster-layer.d.ts","sourceRoot":"","sources":["../../src/layers/raster-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,KAAK,EACL,UAAU,EACV,YAAY,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAc,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAyD9D,+CAA+C;AAC/C,MAAM,MAAM,gBAAgB,CAAC,KAAK,GAAG,OAAO,IAAI,iBAAiB,GAC/D,gBAAgB,CAAC,KAAK,CAAC,GACvB,mBAAmB,CAAC;AAEtB,uCAAuC;AACvC,KAAK,iBAAiB,GAAG;IACvB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAGF,MAAM,CAAC,OAAO,OAAO,WAAW,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,GAAG,EAAE,CAAE,SAAQ,cAAc,CACnF,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAC/C;IACC,MAAM,CAAC,SAAS,SAAiB;IACjC,MAAM,CAAC,YAAY,0CAAgB;IAEnC,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;IAwCzC,SAAS,CAAC,mBAAmB,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;CAcvF"}
1
+ {"version":3,"file":"raster-layer.d.ts","sourceRoot":"","sources":["../../src/layers/raster-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,KAAK,EACL,UAAU,EACV,YAAY,EACZ,WAAW,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAc,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAyD9D,+CAA+C;AAC/C,MAAM,MAAM,gBAAgB,CAAC,KAAK,GAAG,OAAO,IAAI,iBAAiB,GAC/D,gBAAgB,CAAC,KAAK,CAAC,GACvB,mBAAmB,CAAC;AAEtB,uCAAuC;AACvC,KAAK,iBAAiB,GAAG;IACvB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAGF,MAAM,CAAC,OAAO,OAAO,WAAW,CAAC,KAAK,GAAG,GAAG,EAAE,UAAU,GAAG,EAAE,CAAE,SAAQ,cAAc,CACnF,QAAQ,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,GAAG,UAAU,CAC/C;IACC,MAAM,CAAC,SAAS,SAAiB;IACjC,MAAM,CAAC,YAAY,0CAAgB;IAEnC,KAAK,EAAG;QACN,sBAAsB,EAAE,MAAM,CAAC;QAC/B,cAAc,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;IAEF,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;IA2CzC,SAAS,CAAC,mBAAmB,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;IAetF,cAAc,CAAC,MAAM,EAAE,GAAG;;;;;;;;;;;;;;;IAa1B,oBAAoB,CAAC,IAAI,EAAE,WAAW;CAoBvC"}
@@ -64,6 +64,7 @@ export default class RasterLayer extends CompositeLayer {
64
64
  const offset = [xOffset, yOffset, scale / blockSize];
65
65
  // Filled Column Layer
66
66
  const CellLayer = this.getSubLayerClass('column', RasterColumnLayer);
67
+ const { highlightedObjectIndex, highlightColor } = this.state;
67
68
  return new CellLayer(this.props, this.getSubLayerProps({
68
69
  id: 'cell',
69
70
  updateTriggers,
@@ -76,7 +77,9 @@ export default class RasterLayer extends CompositeLayer {
76
77
  data, // Pass through data for getSubLayerAccessor()
77
78
  length: blockSize * blockSize
78
79
  },
79
- offset
80
+ offset,
81
+ highlightedObjectIndex,
82
+ highlightColor
80
83
  });
81
84
  }
82
85
  getSubLayerAccessor(accessor) {
@@ -92,4 +95,31 @@ export default class RasterLayer extends CompositeLayer {
92
95
  return accessor({ properties: proxy }, info);
93
96
  };
94
97
  }
98
+ getPickingInfo(params) {
99
+ const info = super.getPickingInfo(params);
100
+ if (info.index !== -1) {
101
+ info.object = this.getSubLayerAccessor((x) => x)(undefined, {
102
+ data: this.props,
103
+ index: info.index
104
+ });
105
+ }
106
+ return info;
107
+ }
108
+ _updateAutoHighlight(info) {
109
+ const { highlightedObjectIndex } = this.state;
110
+ let newHighlightedObjectIndex = -1;
111
+ if (info.index !== -1) {
112
+ newHighlightedObjectIndex = info.index;
113
+ }
114
+ if (highlightedObjectIndex !== newHighlightedObjectIndex) {
115
+ let { highlightColor } = this.props;
116
+ if (typeof highlightColor === 'function') {
117
+ highlightColor = highlightColor(info);
118
+ }
119
+ this.setState({
120
+ highlightColor,
121
+ highlightedObjectIndex: newHighlightedObjectIndex
122
+ });
123
+ }
124
+ }
95
125
  }
@@ -1,14 +1,14 @@
1
1
  import { CompositeLayer, CompositeLayerProps, DefaultProps, Layer, LayersList } from '@deck.gl/core';
2
2
  import RasterLayer, { RasterLayerProps } from "./raster-layer.js";
3
- import { SpatialIndexTileLayerProps } from "./spatial-index-tile-layer.js";
4
3
  import type { TilejsonResult } from "../sources/types.js";
4
+ import { TileLayerProps } from '@deck.gl/geo-layers';
5
5
  export declare const renderSubLayers: (props: any) => RasterLayer<any, {
6
6
  tileIndex: any;
7
7
  }> | null;
8
8
  /** All properties supported by RasterTileLayer. */
9
9
  export type RasterTileLayerProps<DataT = unknown> = _RasterTileLayerProps<DataT> & CompositeLayerProps;
10
10
  /** Properties added by RasterTileLayer. */
11
- type _RasterTileLayerProps<DataT> = Omit<RasterLayerProps<DataT>, 'data'> & Omit<SpatialIndexTileLayerProps<DataT>, 'data'> & {
11
+ type _RasterTileLayerProps<DataT> = Omit<RasterLayerProps<DataT>, 'data'> & Omit<TileLayerProps<DataT>, 'data'> & {
12
12
  data: null | TilejsonResult | Promise<TilejsonResult>;
13
13
  };
14
14
  export default class RasterTileLayer<DataT = any, ExtraProps extends {} = {}> extends CompositeLayer<ExtraProps & Required<_RasterTileLayerProps<DataT>>> {
@@ -1 +1 @@
1
- {"version":3,"file":"raster-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/raster-tile-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAC,MAAM,eAAe,CAAC;AACnG,OAAO,WAAW,EAAE,EAAC,gBAAgB,EAAC,0BAAuB;AAE7D,OAA8B,EAAC,0BAA0B,EAAC,sCAAmC;AAC7F,OAAO,KAAK,EAAC,cAAc,EAAC,4BAAyB;AAIrD,eAAO,MAAM,eAAe;;SAI3B,CAAC;AAOF,mDAAmD;AACnD,MAAM,MAAM,oBAAoB,CAAC,KAAK,GAAG,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC,GAC9E,mBAAmB,CAAC;AAEtB,2CAA2C;AAC3C,KAAK,qBAAqB,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GACvE,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG;IAChD,IAAI,EAAE,IAAI,GAAG,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACvD,CAAC;AAEJ,MAAM,CAAC,OAAO,OAAO,eAAe,CAClC,KAAK,GAAG,GAAG,EACX,UAAU,SAAS,EAAE,GAAG,EAAE,CAC1B,SAAQ,cAAc,CAAC,UAAU,GAAG,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,MAAM,CAAC,SAAS,SAAqB;IACrC,MAAM,CAAC,YAAY,8CAAgB;IAEnC,cAAc,IAAI,GAAG;IAOrB,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;CAmB1C"}
1
+ {"version":3,"file":"raster-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/raster-tile-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,mBAAmB,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAC,MAAM,eAAe,CAAC;AACnG,OAAO,WAAW,EAAE,EAAC,gBAAgB,EAAC,0BAAuB;AAE7D,OAAO,KAAK,EAAC,cAAc,EAAC,4BAAyB;AAGrD,OAAO,EAAY,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAE9D,eAAO,MAAM,eAAe;;SAI3B,CAAC;AAOF,mDAAmD;AACnD,MAAM,MAAM,oBAAoB,CAAC,KAAK,GAAG,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC,GAC9E,mBAAmB,CAAC;AAEtB,2CAA2C;AAC3C,KAAK,qBAAqB,CAAC,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GACvE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG;IACpC,IAAI,EAAE,IAAI,GAAG,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACvD,CAAC;AAEJ,MAAM,CAAC,OAAO,OAAO,eAAe,CAClC,KAAK,GAAG,GAAG,EACX,UAAU,SAAS,EAAE,GAAG,EAAE,CAC1B,SAAQ,cAAc,CAAC,UAAU,GAAG,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,MAAM,CAAC,SAAS,SAAqB;IACrC,MAAM,CAAC,YAAY,8CAAgB;IAEnC,cAAc,IAAI,GAAG;IAOrB,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;CAmB1C"}
@@ -1,9 +1,9 @@
1
1
  import { CompositeLayer } from '@deck.gl/core';
2
2
  import RasterLayer from "./raster-layer.js";
3
3
  import QuadbinTileset2D from "./quadbin-tileset-2d.js";
4
- import SpatialIndexTileLayer from "./spatial-index-tile-layer.js";
5
4
  import { injectAccessToken, TilejsonPropType } from "./utils.js";
6
5
  import { DEFAULT_TILE_SIZE } from "../constants.js";
6
+ import { TileLayer } from '@deck.gl/geo-layers';
7
7
  export const renderSubLayers = props => {
8
8
  const tileIndex = props.tile?.index?.q;
9
9
  if (!tileIndex)
@@ -30,7 +30,7 @@ export default class RasterTileLayer extends CompositeLayer {
30
30
  const { tiles: data, minzoom: minZoom, maxzoom: maxZoom } = tileJSON;
31
31
  return [
32
32
  // @ts-ignore
33
- new SpatialIndexTileLayer(this.props, {
33
+ new TileLayer(this.props, {
34
34
  id: `raster-tile-layer-${this.props.id}`,
35
35
  data,
36
36
  // TODO: Tileset2D should be generic over TileIndex type
@@ -1,7 +1,7 @@
1
1
  import { TileReader } from "./carto-raster-tile.js";
2
2
  import { parsePbf } from "./tile-loader-utils.js";
3
3
  import { getWorkerUrl } from "../../utils.js";
4
- const VERSION = typeof "9.0.24" !== 'undefined' ? "9.0.24" : 'latest';
4
+ const VERSION = typeof "9.0.26" !== 'undefined' ? "9.0.26" : 'latest';
5
5
  const id = 'cartoRasterTile';
6
6
  const DEFAULT_OPTIONS = {
7
7
  cartoRasterTile: {
@@ -2,7 +2,7 @@ import { TileReader } from "./carto-spatial-tile.js";
2
2
  import { parsePbf } from "./tile-loader-utils.js";
3
3
  import { getWorkerUrl } from "../../utils.js";
4
4
  import { binaryToSpatialjson } from "./spatialjson-utils.js";
5
- const VERSION = typeof "9.0.24" !== 'undefined' ? "9.0.24" : 'latest';
5
+ const VERSION = typeof "9.0.26" !== 'undefined' ? "9.0.26" : 'latest';
6
6
  const id = 'cartoSpatialTile';
7
7
  const DEFAULT_OPTIONS = {
8
8
  cartoSpatialTile: {
@@ -2,7 +2,7 @@ import earcut from 'earcut';
2
2
  import { TileReader } from "./carto-tile.js";
3
3
  import { parsePbf } from "./tile-loader-utils.js";
4
4
  import { getWorkerUrl } from "../../utils.js";
5
- const VERSION = typeof "9.0.24" !== 'undefined' ? "9.0.24" : 'latest';
5
+ const VERSION = typeof "9.0.26" !== 'undefined' ? "9.0.26" : 'latest';
6
6
  const id = 'cartoVectorTile';
7
7
  const DEFAULT_OPTIONS = {
8
8
  cartoVectorTile: {
@@ -1,4 +1,4 @@
1
- import { DefaultProps } from '@deck.gl/core';
1
+ import { DefaultProps, LayerProps } from '@deck.gl/core';
2
2
  import { PickingInfo } from '@deck.gl/core';
3
3
  import { TileLayer, _Tile2DHeader as Tile2DHeader, TileLayerProps } from '@deck.gl/geo-layers';
4
4
  /** All properties supported by SpatialIndexTileLayer. */
@@ -13,10 +13,7 @@ export default class SpatialIndexTileLayer<DataT = any, ExtraProps extends {} =
13
13
  highlightColor: number[];
14
14
  };
15
15
  protected _updateAutoHighlight(info: PickingInfo): void;
16
- getSubLayerPropsByTile(tile: Tile2DHeader): {
17
- highlightedObjectIndex: number;
18
- highlightColor: number[];
19
- };
16
+ getSubLayerPropsByTile(tile: Tile2DHeader): Partial<LayerProps> | null;
20
17
  getHighlightedObjectIndex(tile: Tile2DHeader): number;
21
18
  _featureInTile(tile: Tile2DHeader, featureId: BigInt | number): boolean;
22
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"spatial-index-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/spatial-index-tile-layer.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAK3C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,SAAS,EAAE,aAAa,IAAI,YAAY,EAAE,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAW7F,yDAAyD;AACzD,MAAM,MAAM,0BAA0B,CAAC,KAAK,GAAG,OAAO,IAAI,2BAA2B,GACnF,cAAc,CAAC,KAAK,CAAC,CAAC;AAExB,iDAAiD;AACjD,KAAK,2BAA2B,GAAG,EAAE,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,qBAAqB,CACxC,KAAK,GAAG,GAAG,EACX,UAAU,SAAS,EAAE,GAAG,EAAE,CAC1B,SAAQ,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IAC5E,MAAM,CAAC,SAAS,SAA2B;IAC3C,MAAM,CAAC,YAAY,oDAAgB;IAEnC,KAAK,EAAG,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG;QAClC,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;QACzC,cAAc,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;IAEF,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAsBvD,sBAAsB,CAAC,IAAI,EAAE,YAAY;;;;IAOzC,yBAAyB,CAAC,IAAI,EAAE,YAAY;IAiB5C,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;CAgB9D"}
1
+ {"version":3,"file":"spatial-index-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/spatial-index-tile-layer.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAE,UAAU,EAAC,MAAM,eAAe,CAAC;AAKvD,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,SAAS,EAAE,aAAa,IAAI,YAAY,EAAE,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAW7F,yDAAyD;AACzD,MAAM,MAAM,0BAA0B,CAAC,KAAK,GAAG,OAAO,IAAI,2BAA2B,GACnF,cAAc,CAAC,KAAK,CAAC,CAAC;AAExB,iDAAiD;AACjD,KAAK,2BAA2B,GAAG,EAAE,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,qBAAqB,CACxC,KAAK,GAAG,GAAG,EACX,UAAU,SAAS,EAAE,GAAG,EAAE,CAC1B,SAAQ,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,CAAC,2BAA2B,CAAC,CAAC;IAC5E,MAAM,CAAC,SAAS,SAA2B;IAC3C,MAAM,CAAC,YAAY,oDAAgB;IAEnC,KAAK,EAAG,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG;QAClC,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;QACzC,cAAc,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;IAEF,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI;IAsBvD,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IAOtE,yBAAyB,CAAC,IAAI,EAAE,YAAY;IAiB5C,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;CAgB9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"vector-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/vector-tile-layer.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAE3C,OAAO,EACL,QAAQ,EACR,aAAa,EACb,SAAS,EAET,aAAa,EACb,cAAc,IAAI,aAAa,EAChC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAC,cAAc,EAAC,4BAAyB;AAWrD,mDAAmD;AACnD,MAAM,MAAM,oBAAoB,CAAC,kBAAkB,GAAG,OAAO,IAAI,qBAAqB,GACpF,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,CAAC;AAElD,2CAA2C;AAC3C,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,IAAI,GAAG,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACvD,CAAC;AAGF,MAAM,CAAC,OAAO,OAAO,eAAe,CAClC,kBAAkB,GAAG,GAAG,EACxB,UAAU,SAAS,EAAE,GAAG,EAAE,CAC1B,SAAQ,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GAAG,UAAU,CAAC;IAClF,MAAM,CAAC,SAAS,SAAqB;IACrC,MAAM,CAAC,YAAY,8CAAgB;IAEnC,KAAK,EAAG,QAAQ,CAAC,OAAO,CAAC,GAAG;QAC1B,GAAG,EAAE,OAAO,CAAC;KACd,CAAC;gBAEU,GAAG,WAAW,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,EAAE;IAMtE,eAAe,IAAI,IAAI;IAKvB,WAAW,CAAC,UAAU,KAAA;IAWtB,cAAc,IAAI,GAAG;IASf,WAAW,CAAC,IAAI,EAAE,aAAa;IAqCrC,eAAe,CACb,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG;QAC1B,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,GAAG,CAAC;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,aAAa,CAAC;KACrB,GACA,YAAY,GAAG,IAAI;cAuBH,QAAQ,IAAI,OAAO;CAKvC"}
1
+ {"version":3,"file":"vector-tile-layer.d.ts","sourceRoot":"","sources":["../../src/layers/vector-tile-layer.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAE3C,OAAO,EACL,QAAQ,EACR,aAAa,EACb,SAAS,EAET,aAAa,EACb,cAAc,IAAI,aAAa,EAChC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAC,cAAc,EAAC,4BAAyB;AAWrD,mDAAmD;AACnD,MAAM,MAAM,oBAAoB,CAAC,kBAAkB,GAAG,OAAO,IAAI,qBAAqB,GACpF,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,CAAC;AAElD,2CAA2C;AAC3C,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,IAAI,GAAG,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACvD,CAAC;AAGF,MAAM,CAAC,OAAO,OAAO,eAAe,CAClC,kBAAkB,GAAG,GAAG,EACxB,UAAU,SAAS,EAAE,GAAG,EAAE,CAC1B,SAAQ,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GAAG,UAAU,CAAC;IAClF,MAAM,CAAC,SAAS,SAAqB;IACrC,MAAM,CAAC,YAAY,8CAAgB;IAEnC,KAAK,EAAG,QAAQ,CAAC,OAAO,CAAC,GAAG;QAC1B,GAAG,EAAE,OAAO,CAAC;KACd,CAAC;gBAEU,GAAG,WAAW,EAAE,oBAAoB,CAAC,kBAAkB,CAAC,EAAE;IAMtE,eAAe,IAAI,IAAI;IAKvB,WAAW,CAAC,UAAU,KAAA;IAWtB,cAAc,IAAI,GAAG;IASf,WAAW,CAAC,IAAI,EAAE,aAAa;IAqCrC,eAAe,CACb,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG;QAC1B,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,GAAG,CAAC;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,aAAa,CAAC;KACrB,GACA,YAAY,GAAG,IAAI;cA2CH,QAAQ,IAAI,OAAO;CAKvC"}
@@ -83,11 +83,29 @@ export default class VectorTileLayer extends MVTLayer {
83
83
  }
84
84
  const tileBbox = props.tile.bbox;
85
85
  const { west, south, east, north } = tileBbox;
86
+ const extensions = [new ClipExtension(), ...(props.extensions || [])];
87
+ const clipProps = {
88
+ clipBounds: [west, south, east, north]
89
+ };
90
+ const applyClipExtensionToSublayerProps = (subLayerId) => {
91
+ return {
92
+ [subLayerId]: {
93
+ ...clipProps,
94
+ ...props?._subLayerProps?.[subLayerId],
95
+ extensions: [...extensions, ...(props?._subLayerProps?.[subLayerId]?.extensions || [])]
96
+ }
97
+ };
98
+ };
86
99
  const subLayerProps = {
87
100
  ...props,
88
101
  autoHighlight: false,
89
- extensions: [new ClipExtension(), ...(props.extensions || [])],
90
- clipBounds: [west, south, east, north]
102
+ // Do not perform clipping on points (#9059)
103
+ _subLayerProps: {
104
+ ...props._subLayerProps,
105
+ ...applyClipExtensionToSublayerProps('polygons-fill'),
106
+ ...applyClipExtensionToSublayerProps('polygons-stroke'),
107
+ ...applyClipExtensionToSublayerProps('linestrings')
108
+ }
91
109
  };
92
110
  const subLayer = new GeoJsonLayer(subLayerProps);
93
111
  return subLayer;
@@ -1,4 +1,4 @@
1
- import type { AggregationOptions, QuerySourceOptions, SourceOptions, TilejsonResult } from "./types.js";
2
- export type H3QuerySourceOptions = SourceOptions & QuerySourceOptions & AggregationOptions;
1
+ import type { AggregationOptions, FilterOptions, QuerySourceOptions, SourceOptions, TilejsonResult } from "./types.js";
2
+ export type H3QuerySourceOptions = SourceOptions & QuerySourceOptions & AggregationOptions & FilterOptions;
3
3
  export declare const h3QuerySource: (options: H3QuerySourceOptions) => Promise<TilejsonResult>;
4
4
  //# sourceMappingURL=h3-query-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"h3-query-source.d.ts","sourceRoot":"","sources":["../../src/sources/h3-query-source.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EAEb,cAAc,EACf,mBAAgB;AAEjB,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAU3F,eAAO,MAAM,aAAa,YACf,oBAAoB,KAC5B,QAAQ,cAAc,CAsBxB,CAAC"}
1
+ {"version":3,"file":"h3-query-source.d.ts","sourceRoot":"","sources":["../../src/sources/h3-query-source.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,aAAa,EAEb,cAAc,EACf,mBAAgB;AAEjB,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAC9C,kBAAkB,GAClB,kBAAkB,GAClB,aAAa,CAAC;AAWhB,eAAO,MAAM,aAAa,YACf,oBAAoB,KAC5B,QAAQ,cAAc,CA0BxB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  import { DEFAULT_AGGREGATION_RES_LEVEL_H3 } from "../constants.js";
3
3
  import { baseSource } from "./base-source.js";
4
4
  export const h3QuerySource = async function (options) {
5
- const { aggregationExp, aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_H3, sqlQuery, spatialDataColumn = 'h3', queryParameters } = options;
5
+ const { aggregationExp, aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_H3, sqlQuery, spatialDataColumn = 'h3', queryParameters, filters } = options;
6
6
  const urlParameters = {
7
7
  aggregationExp,
8
8
  spatialDataColumn,
@@ -15,5 +15,8 @@ export const h3QuerySource = async function (options) {
15
15
  if (queryParameters) {
16
16
  urlParameters.queryParameters = queryParameters;
17
17
  }
18
+ if (filters) {
19
+ urlParameters.filters = filters;
20
+ }
18
21
  return baseSource('query', options, urlParameters);
19
22
  };
@@ -1,4 +1,4 @@
1
- import type { AggregationOptions, SourceOptions, TableSourceOptions, TilejsonResult } from "./types.js";
2
- export type H3TableSourceOptions = SourceOptions & TableSourceOptions & AggregationOptions;
1
+ import type { AggregationOptions, FilterOptions, SourceOptions, TableSourceOptions, TilejsonResult } from "./types.js";
2
+ export type H3TableSourceOptions = SourceOptions & TableSourceOptions & AggregationOptions & FilterOptions;
3
3
  export declare const h3TableSource: (options: H3TableSourceOptions) => Promise<TilejsonResult>;
4
4
  //# sourceMappingURL=h3-table-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"h3-table-source.d.ts","sourceRoot":"","sources":["../../src/sources/h3-table-source.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EAEb,kBAAkB,EAClB,cAAc,EACf,mBAAgB;AAEjB,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAU3F,eAAO,MAAM,aAAa,YACf,oBAAoB,KAC5B,QAAQ,cAAc,CAkBxB,CAAC"}
1
+ {"version":3,"file":"h3-table-source.d.ts","sourceRoot":"","sources":["../../src/sources/h3-table-source.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,aAAa,EAEb,kBAAkB,EAClB,cAAc,EACf,mBAAgB;AAEjB,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAC9C,kBAAkB,GAClB,kBAAkB,GAClB,aAAa,CAAC;AAWhB,eAAO,MAAM,aAAa,YACf,oBAAoB,KAC5B,QAAQ,cAAc,CAsBxB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  import { DEFAULT_AGGREGATION_RES_LEVEL_H3 } from "../constants.js";
3
3
  import { baseSource } from "./base-source.js";
4
4
  export const h3TableSource = async function (options) {
5
- const { aggregationExp, aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_H3, spatialDataColumn = 'h3', tableName } = options;
5
+ const { aggregationExp, aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_H3, spatialDataColumn = 'h3', tableName, filters } = options;
6
6
  const urlParameters = {
7
7
  aggregationExp,
8
8
  name: tableName,
@@ -12,5 +12,8 @@ export const h3TableSource = async function (options) {
12
12
  if (aggregationResLevel) {
13
13
  urlParameters.aggregationResLevel = String(aggregationResLevel);
14
14
  }
15
+ if (filters) {
16
+ urlParameters.filters = filters;
17
+ }
15
18
  return baseSource('table', options, urlParameters);
16
19
  };
@@ -1,4 +1,4 @@
1
- import type { AggregationOptions, QuerySourceOptions, SourceOptions, TilejsonResult } from "./types.js";
2
- export type QuadbinQuerySourceOptions = SourceOptions & QuerySourceOptions & AggregationOptions;
1
+ import type { AggregationOptions, FilterOptions, QuerySourceOptions, SourceOptions, TilejsonResult } from "./types.js";
2
+ export type QuadbinQuerySourceOptions = SourceOptions & QuerySourceOptions & AggregationOptions & FilterOptions;
3
3
  export declare const quadbinQuerySource: (options: QuadbinQuerySourceOptions) => Promise<TilejsonResult>;
4
4
  //# sourceMappingURL=quadbin-query-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"quadbin-query-source.d.ts","sourceRoot":"","sources":["../../src/sources/quadbin-query-source.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EAEb,cAAc,EACf,mBAAgB;AAEjB,MAAM,MAAM,yBAAyB,GAAG,aAAa,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAWhG,eAAO,MAAM,kBAAkB,YACpB,yBAAyB,KACjC,QAAQ,cAAc,CAsBxB,CAAC"}
1
+ {"version":3,"file":"quadbin-query-source.d.ts","sourceRoot":"","sources":["../../src/sources/quadbin-query-source.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,aAAa,EAEb,cAAc,EACf,mBAAgB;AAEjB,MAAM,MAAM,yBAAyB,GAAG,aAAa,GACnD,kBAAkB,GAClB,kBAAkB,GAClB,aAAa,CAAC;AAYhB,eAAO,MAAM,kBAAkB,YACpB,yBAAyB,KACjC,QAAQ,cAAc,CA0BxB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  import { DEFAULT_AGGREGATION_RES_LEVEL_QUADBIN } from "../constants.js";
3
3
  import { baseSource } from "./base-source.js";
4
4
  export const quadbinQuerySource = async function (options) {
5
- const { aggregationExp, aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_QUADBIN, sqlQuery, spatialDataColumn = 'quadbin', queryParameters } = options;
5
+ const { aggregationExp, aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_QUADBIN, sqlQuery, spatialDataColumn = 'quadbin', queryParameters, filters } = options;
6
6
  const urlParameters = {
7
7
  aggregationExp,
8
8
  q: sqlQuery,
@@ -15,5 +15,8 @@ export const quadbinQuerySource = async function (options) {
15
15
  if (queryParameters) {
16
16
  urlParameters.queryParameters = queryParameters;
17
17
  }
18
+ if (filters) {
19
+ urlParameters.filters = filters;
20
+ }
18
21
  return baseSource('query', options, urlParameters);
19
22
  };
@@ -1,4 +1,4 @@
1
- import type { AggregationOptions, SourceOptions, TableSourceOptions, TilejsonResult } from "./types.js";
2
- export type QuadbinTableSourceOptions = SourceOptions & TableSourceOptions & AggregationOptions;
1
+ import type { AggregationOptions, FilterOptions, SourceOptions, TableSourceOptions, TilejsonResult } from "./types.js";
2
+ export type QuadbinTableSourceOptions = SourceOptions & TableSourceOptions & AggregationOptions & FilterOptions;
3
3
  export declare const quadbinTableSource: (options: QuadbinTableSourceOptions) => Promise<TilejsonResult>;
4
4
  //# sourceMappingURL=quadbin-table-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"quadbin-table-source.d.ts","sourceRoot":"","sources":["../../src/sources/quadbin-table-source.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EAEb,kBAAkB,EAClB,cAAc,EACf,mBAAgB;AAEjB,MAAM,MAAM,yBAAyB,GAAG,aAAa,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAUhG,eAAO,MAAM,kBAAkB,YACpB,yBAAyB,KACjC,QAAQ,cAAc,CAmBxB,CAAC"}
1
+ {"version":3,"file":"quadbin-table-source.d.ts","sourceRoot":"","sources":["../../src/sources/quadbin-table-source.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,aAAa,EAEb,kBAAkB,EAClB,cAAc,EACf,mBAAgB;AAEjB,MAAM,MAAM,yBAAyB,GAAG,aAAa,GACnD,kBAAkB,GAClB,kBAAkB,GAClB,aAAa,CAAC;AAWhB,eAAO,MAAM,kBAAkB,YACpB,yBAAyB,KACjC,QAAQ,cAAc,CAuBxB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  import { DEFAULT_AGGREGATION_RES_LEVEL_QUADBIN } from "../constants.js";
3
3
  import { baseSource } from "./base-source.js";
4
4
  export const quadbinTableSource = async function (options) {
5
- const { aggregationExp, aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_QUADBIN, spatialDataColumn = 'quadbin', tableName } = options;
5
+ const { aggregationExp, aggregationResLevel = DEFAULT_AGGREGATION_RES_LEVEL_QUADBIN, spatialDataColumn = 'quadbin', tableName, filters } = options;
6
6
  const urlParameters = {
7
7
  aggregationExp,
8
8
  name: tableName,
@@ -12,5 +12,8 @@ export const quadbinTableSource = async function (options) {
12
12
  if (aggregationResLevel) {
13
13
  urlParameters.aggregationResLevel = String(aggregationResLevel);
14
14
  }
15
+ if (filters) {
16
+ urlParameters.filters = filters;
17
+ }
15
18
  return baseSource('table', options, urlParameters);
16
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAE,YAAY,EAAC,6CAA0C;AAEhF,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAE9E;AAID,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE;IAAC,YAAY,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,UAAU,EAAE,CAAA;CAAC,EAC5D,KAAK,EAAE,MAAM,cAed;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAIvD;AAED,wBAAgB,aAAa;;;;;;;EA0B5B;AAED,eAAO,MAAM,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAkD,CAAC;AAE1F,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,OACU,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAE,YAAY,EAAC,6CAA0C;AAEhF,wBAAgB,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAE9E;AAID,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE;IAAC,YAAY,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,UAAU,EAAE,CAAA;CAAC,EAC5D,KAAK,EAAE,MAAM,cAuBd;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAIvD;AAED,wBAAgB,aAAa;;;;;;;EA0B5B;AAED,eAAO,MAAM,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,OAAkD,CAAC;AAE1F,eAAO,MAAM,YAAY,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,OACU,CAAC"}
package/dist/utils.js CHANGED
@@ -15,6 +15,12 @@ export function createBinaryProxy(data, index) {
15
15
  },
16
16
  has(target, property) {
17
17
  return property in numericProps || property in target;
18
+ },
19
+ ownKeys(target) {
20
+ return [...Object.keys(numericProps), ...Reflect.ownKeys(target)];
21
+ },
22
+ getOwnPropertyDescriptor(target, prop) {
23
+ return { enumerable: true, configurable: true };
18
24
  }
19
25
  });
20
26
  }