@deck.gl/geo-layers 8.8.22 → 8.8.24

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/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@deck.gl/geo-layers",
3
3
  "description": "deck.gl layers supporting geospatial use cases and GIS formats",
4
4
  "license": "MIT",
5
- "version": "8.8.22",
5
+ "version": "8.8.24",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
@@ -54,5 +54,5 @@
54
54
  "@loaders.gl/core": "^3.0.0",
55
55
  "@luma.gl/core": "^8.0.0"
56
56
  },
57
- "gitHead": "961b4aa4034cd88602ef9026edbfdd4a6ab681a8"
57
+ "gitHead": "39b37f7a97ad7a248f4d3a8eb1e25e9e91049147"
58
58
  }
@@ -242,19 +242,27 @@ export default class Tileset2D {
242
242
  }
243
243
 
244
244
  if (cullRect && this._viewport) {
245
- const [minX, minY, maxX, maxY] = getCullBounds({
245
+ const boundsArr = this._getCullBounds({
246
246
  viewport: this._viewport,
247
247
  z: this._zRange,
248
248
  cullRect
249
249
  });
250
250
  const {bbox} = tile;
251
- if ('west' in bbox) {
252
- return bbox.west < maxX && bbox.east > minX && bbox.south < maxY && bbox.north > minY;
251
+ for (const [minX, minY, maxX, maxY] of boundsArr) {
252
+ let overlaps;
253
+ if ('west' in bbox) {
254
+ overlaps = bbox.west < maxX && bbox.east > minX && bbox.south < maxY && bbox.north > minY;
255
+ } else {
256
+ // top/bottom could be swapped depending on the indexing system
257
+ const y0 = Math.min(bbox.top, bbox.bottom);
258
+ const y1 = Math.max(bbox.top, bbox.bottom);
259
+ overlaps = bbox.left < maxX && bbox.right > minX && y0 < maxY && y1 > minY;
260
+ }
261
+ if (overlaps) {
262
+ return true;
263
+ }
253
264
  }
254
- // top/bottom could be swapped depending on the indexing system
255
- const y0 = Math.min(bbox.top, bbox.bottom);
256
- const y1 = Math.max(bbox.top, bbox.bottom);
257
- return bbox.left < maxX && bbox.right > minX && y0 < maxY && y1 > minY;
265
+ return false;
258
266
  }
259
267
  return true;
260
268
  }
@@ -130,7 +130,7 @@ function getBoundingBox(viewport: Viewport, zRange: number[] | null, extent: Bou
130
130
  /** Get culling bounds in world space */
131
131
  export function getCullBounds({
132
132
  viewport,
133
- z,
133
+ z = 0,
134
134
  cullRect
135
135
  }: {
136
136
  /** Current viewport */
@@ -139,13 +139,25 @@ export function getCullBounds({
139
139
  z: ZRange | number | undefined;
140
140
  /** Culling rectangle in screen space */
141
141
  cullRect: {x: number; y: number; width: number; height: number};
142
- }): [number, number, number, number] {
143
- const x = cullRect.x - viewport.x;
144
- const y = cullRect.y - viewport.y;
145
- const {width, height} = cullRect;
142
+ }): [number, number, number, number][] {
143
+ const subViewports = viewport.subViewports || [viewport];
144
+ return subViewports.map(v => getCullBoundsInViewport(v, z, cullRect));
145
+ }
146
146
 
147
+ function getCullBoundsInViewport(
148
+ /** Current viewport */
149
+ viewport: Viewport,
150
+ /** At altitude */
151
+ z: ZRange | number,
152
+ /** Culling rectangle in screen space */
153
+ cullRect: {x: number; y: number; width: number; height: number}
154
+ ): [number, number, number, number] {
147
155
  if (!Array.isArray(z)) {
148
- const unprojectOption = {targetZ: z || 0};
156
+ const x = cullRect.x - viewport.x;
157
+ const y = cullRect.y - viewport.y;
158
+ const {width, height} = cullRect;
159
+
160
+ const unprojectOption = {targetZ: z};
149
161
 
150
162
  const topLeft = viewport.unproject([x, y], unprojectOption);
151
163
  const topRight = viewport.unproject([x + width, y], unprojectOption);
@@ -160,8 +172,8 @@ export function getCullBounds({
160
172
  ];
161
173
  }
162
174
 
163
- const bounds0 = getCullBounds({viewport, z: z[0], cullRect});
164
- const bounds1 = getCullBounds({viewport, z: z[1], cullRect});
175
+ const bounds0 = getCullBoundsInViewport(viewport, z[0], cullRect);
176
+ const bounds1 = getCullBoundsInViewport(viewport, z[1], cullRect);
165
177
 
166
178
  return [
167
179
  Math.min(bounds0[0], bounds1[0]),
@@ -1 +1 @@
1
- {"version":3,"file":"tileset-2d.d.ts","sourceRoot":"","sources":["../../src/tile-layer/tileset-2d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tileset-2d.d.ts","sourceRoot":"","sources":["../../src/tile-layer/tileset-2d.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ export declare function getCullBounds({ viewport, z, cullRect }: {
24
24
  width: number;
25
25
  height: number;
26
26
  };
27
- }): [number, number, number, number];
27
+ }): [number, number, number, number][];
28
28
  export declare function osmTile2lngLat(x: number, y: number, z: number): [number, number];
29
29
  export declare function tileToBoundingBox(viewport: Viewport, x: number, y: number, z: number, tileSize?: number): TileBoundingBox;
30
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/tile-layer/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAC,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAC,MAAM,SAAS,CAAC;AAKnF,eAAO,MAAM,OAAO;;;;;CAyBnB,CAAC;AA8BF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,EAC3B,IAAI,EAAE;IACJ,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ,GACA,MAAM,GAAG,IAAI,CAsBf;AAsCD,wCAAwC;AACxC,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,CAAC,EACD,QAAQ,EACT,EAAE;IACD,uBAAuB;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,sBAAsB;IACtB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/B,wCAAwC;IACxC,QAAQ,EAAE;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC;CACjE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CA8BnC;AAiBD,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMhF;AAMD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,GAAE,MAAkB,GAC3B,eAAe,CASjB;AA0BD;;;;GAIG;AAEH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,QAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,UAAc,EACf,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,eA0BA;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,cAAc,CAO5D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/tile-layer/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAC,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAC,MAAM,SAAS,CAAC;AAKnF,eAAO,MAAM,OAAO;;;;;CAyBnB,CAAC;AA8BF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,EAC3B,IAAI,EAAE;IACJ,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ,GACA,MAAM,GAAG,IAAI,CAsBf;AAsCD,wCAAwC;AACxC,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,CAAK,EACL,QAAQ,EACT,EAAE;IACD,uBAAuB;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,sBAAsB;IACtB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/B,wCAAwC;IACxC,QAAQ,EAAE;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC;CACjE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAGrC;AAwDD,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMhF;AAMD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,GAAE,MAAkB,GAC3B,eAAe,CASjB;AA0BD;;;;GAIG;AAEH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,QAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,UAAc,EACf,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,eA0BA;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,cAAc,CAO5D"}
@@ -0,0 +1,6 @@
1
+ export type { TileLoadProps, Bounds, ZRange, GeoBoundingBox, NonGeoBoundingBox, TileBoundingBox } from './types';
2
+ export type { Tileset2DProps, RefinementStrategy } from './tileset-2d';
3
+ export { Tileset2D, STRATEGY_DEFAULT } from './tileset-2d';
4
+ export { Tile2DHeader } from './tile-2d-header';
5
+ export { isGeoBoundingBox, isURLTemplate, urlType, getURLFromTemplate, getTileIndices, tileToBoundingBox } from './utils';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tileset-2d/index.ts"],"names":[],"mappings":"AAEA,YAAY,EACV,aAAa,EACb,MAAM,EACN,MAAM,EACN,cAAc,EACd,iBAAiB,EACjB,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB,YAAY,EAAC,cAAc,EAAE,kBAAkB,EAAC,MAAM,cAAc,CAAC;AACrE,OAAO,EAAC,SAAS,EAAE,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAEzD,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EAClB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Speed up consecutive function calls by caching the result of calls with identical input
3
+ * https://en.wikipedia.org/wiki/Memoization
4
+ * @param compute - the function to be memoized
5
+ */
6
+ export declare function memoize<In, Out>(compute: (args: In) => Out): (args: In) => Out;
7
+ //# sourceMappingURL=memoize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memoize.d.ts","sourceRoot":"","sources":["../../src/tileset-2d/memoize.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,GAAG,CAc9E"}
@@ -0,0 +1,39 @@
1
+ import { RequestScheduler } from '@loaders.gl/loader-utils';
2
+ import { TileBoundingBox, TileIndex, TileLoadProps } from './types';
3
+ export declare type TileLoadDataProps<DataT = any> = {
4
+ requestScheduler: RequestScheduler;
5
+ getData: (props: TileLoadProps) => Promise<DataT>;
6
+ onLoad: (tile: Tile2DHeader<DataT>) => void;
7
+ onError: (error: any, tile: Tile2DHeader<DataT>) => void;
8
+ };
9
+ export declare class Tile2DHeader<DataT = any> {
10
+ index: TileIndex;
11
+ isVisible: boolean;
12
+ isSelected: boolean;
13
+ parent: Tile2DHeader | null;
14
+ children: Tile2DHeader[] | null;
15
+ content: DataT | null;
16
+ state?: number;
17
+ layers?: any[] | null;
18
+ id: string;
19
+ bbox: TileBoundingBox;
20
+ zoom: number;
21
+ userData?: Record<string, any>;
22
+ private _abortController;
23
+ private _loader;
24
+ private _loaderId;
25
+ private _isLoaded;
26
+ private _isCancelled;
27
+ private _needsReload;
28
+ constructor(index: TileIndex);
29
+ get data(): Promise<DataT | null> | DataT | null;
30
+ get isLoaded(): boolean;
31
+ get isLoading(): boolean;
32
+ get needsReload(): boolean;
33
+ get byteLength(): number;
34
+ private _loadData;
35
+ loadData(opts: TileLoadDataProps): Promise<void>;
36
+ setNeedsReload(): void;
37
+ abort(): void;
38
+ }
39
+ //# sourceMappingURL=tile-2d-header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tile-2d-header.d.ts","sourceRoot":"","sources":["../../src/tileset-2d/tile-2d-header.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAC,eAAe,EAAE,SAAS,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAElE,oBAAY,iBAAiB,CAAC,KAAK,GAAG,GAAG,IAAI;IAC3C,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,OAAO,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IAC5C,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;CAC1D,CAAC;AAEF,qBAAa,YAAY,CAAC,KAAK,GAAG,GAAG;IACnC,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAEtB,EAAE,EAAG,MAAM,CAAC;IACZ,IAAI,EAAG,eAAe,CAAC;IACvB,IAAI,EAAG,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE/B,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,YAAY,CAAU;gBAElB,KAAK,EAAE,SAAS;IAiB5B,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAE/C;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,UAAU,IAAI,MAAM,CAOvB;YAGa,SAAS;IA8DvB,QAAQ,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAShD,cAAc,IAAI,IAAI;IAQtB,KAAK,IAAI,IAAI;CAQd"}
@@ -0,0 +1,4 @@
1
+ import { Viewport } from '@deck.gl/core/typed';
2
+ import { Bounds, TileIndex, ZRange } from './types';
3
+ export declare function getOSMTileIndices(viewport: Viewport, maxZ: number, zRange: ZRange | undefined, bounds?: Bounds): TileIndex[];
4
+ //# sourceMappingURL=tile-2d-traversal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tile-2d-traversal.d.ts","sourceRoot":"","sources":["../../src/tileset-2d/tile-2d-traversal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAsC,MAAM,eAAe,CAAC;AAS5E,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAC,MAAM,SAAS,CAAC;AA6KlD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,CAAC,EAAE,MAAM,GACd,SAAS,EAAE,CAiEb"}
@@ -0,0 +1,121 @@
1
+ import { Viewport } from '@deck.gl/core/typed';
2
+ import { Matrix4 } from '@math.gl/core';
3
+ import { Tile2DHeader } from './tile-2d-header';
4
+ import { TileIndex, ZRange } from './types';
5
+ import { TileLoadProps } from './types';
6
+ export declare const STRATEGY_NEVER = "never";
7
+ export declare const STRATEGY_REPLACE = "no-overlap";
8
+ export declare const STRATEGY_DEFAULT = "best-available";
9
+ export declare type RefinementStrategyFunction = (tiles: Tile2DHeader[]) => void;
10
+ export declare type RefinementStrategy = 'never' | 'no-overlap' | 'best-available' | RefinementStrategyFunction;
11
+ export declare type Tileset2DProps<DataT = any> = {
12
+ /** `getTileData` is called to retrieve the data of each tile. */
13
+ getTileData: (props: TileLoadProps) => Promise<DataT> | DataT;
14
+ /** The bounding box of the layer's data. */
15
+ extent?: number[] | null;
16
+ /** The pixel dimension of the tiles, usually a power of 2. */
17
+ tileSize?: number;
18
+ /** The max zoom level of the layer's data. @default null */
19
+ maxZoom?: number | null;
20
+ /** The min zoom level of the layer's data. @default 0 */
21
+ minZoom?: number | null;
22
+ /** The maximum number of tiles that can be cached. */
23
+ maxCacheSize?: number | null;
24
+ /** The maximum memory used for caching tiles. @default null */
25
+ maxCacheByteSize?: number | null;
26
+ /** How the tile layer refines the visibility of tiles. @default 'best-available' */
27
+ refinementStrategy?: RefinementStrategy;
28
+ /** Range of minimum and maximum heights in the tile. */
29
+ zRange?: ZRange | null;
30
+ /** The maximum number of concurrent getTileData calls. @default 6 */
31
+ maxRequests?: number;
32
+ /** Changes the zoom level at which the tiles are fetched. Needs to be an integer. @default 0 */
33
+ zoomOffset?: number;
34
+ /** Called when a tile successfully loads. */
35
+ onTileLoad?: (tile: Tile2DHeader<DataT>) => void;
36
+ /** Called when a tile is cleared from cache. */
37
+ onTileUnload?: (tile: Tile2DHeader<DataT>) => void;
38
+ /** Called when a tile failed to load. */
39
+ onTileError?: (err: any, tile: Tile2DHeader<DataT>) => void;
40
+ };
41
+ export declare const DEFAULT_TILESET2D_PROPS: Omit<Required<Tileset2DProps>, 'getTileData'>;
42
+ /**
43
+ * Manages loading and purging of tile data. This class caches recently visited tiles
44
+ * and only creates new tiles if they are present.
45
+ */
46
+ export declare class Tileset2D {
47
+ private opts;
48
+ private _requestScheduler;
49
+ private _cache;
50
+ private _dirty;
51
+ private _tiles;
52
+ private _cacheByteSize;
53
+ private _viewport;
54
+ private _zRange?;
55
+ private _selectedTiles;
56
+ private _frameNumber;
57
+ private _modelMatrix;
58
+ private _modelMatrixInverse;
59
+ private _maxZoom?;
60
+ private _minZoom?;
61
+ private onTileLoad;
62
+ /**
63
+ * Takes in a function that returns tile data, a cache size, and a max and a min zoom level.
64
+ * Cache size defaults to 5 * number of tiles in the current viewport
65
+ */
66
+ constructor(opts: Tileset2DProps);
67
+ get tiles(): Tile2DHeader<any>[];
68
+ get selectedTiles(): Tile2DHeader[] | null;
69
+ get isLoaded(): boolean;
70
+ get needsReload(): boolean;
71
+ setOptions(opts: Tileset2DProps): void;
72
+ finalize(): void;
73
+ reloadAll(): void;
74
+ /**
75
+ * Update the cache with the given viewport and model matrix and triggers callback onUpdate.
76
+ */
77
+ update(viewport: Viewport, { zRange, modelMatrix }?: {
78
+ zRange?: ZRange;
79
+ modelMatrix?: Matrix4;
80
+ }): number;
81
+ isTileVisible(tile: Tile2DHeader, cullRect?: {
82
+ x: number;
83
+ y: number;
84
+ width: number;
85
+ height: number;
86
+ }): boolean;
87
+ /** Returns array of tile indices in the current viewport */
88
+ getTileIndices({ viewport, maxZoom, minZoom, zRange, modelMatrix, modelMatrixInverse }: {
89
+ viewport: Viewport;
90
+ maxZoom?: number;
91
+ minZoom?: number;
92
+ zRange: ZRange | undefined;
93
+ tileSize?: number;
94
+ modelMatrix?: Matrix4;
95
+ modelMatrixInverse?: Matrix4;
96
+ zoomOffset?: number;
97
+ }): TileIndex[];
98
+ /** Returns unique string key for a tile index */
99
+ getTileId(index: TileIndex): string;
100
+ /** Returns a zoom level for a tile index */
101
+ getTileZoom(index: TileIndex): number;
102
+ /** Returns additional metadata to add to tile, bbox by default */
103
+ getTileMetadata(index: TileIndex): Record<string, any>;
104
+ /** Returns index of the parent tile */
105
+ getParentIndex(index: TileIndex): {
106
+ x: number;
107
+ y: number;
108
+ z: number;
109
+ };
110
+ private updateTileStates;
111
+ private _getCullBounds;
112
+ private _pruneRequests;
113
+ private _rebuildTree;
114
+ /**
115
+ * Clear tiles that are not visible when the cache is full
116
+ */
117
+ private _resizeCache;
118
+ private _getTile;
119
+ _getNearestAncestor(tile: Tile2DHeader): Tile2DHeader | null;
120
+ }
121
+ //# sourceMappingURL=tileset-2d.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tileset-2d.d.ts","sourceRoot":"","sources":["../../src/tileset-2d/tileset-2d.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ export declare type ZRange = [minZ: number, maxZ: number];
2
+ export declare type Bounds = [minX: number, minY: number, maxX: number, maxY: number];
3
+ export declare type GeoBoundingBox = {
4
+ west: number;
5
+ north: number;
6
+ east: number;
7
+ south: number;
8
+ };
9
+ export declare type NonGeoBoundingBox = {
10
+ left: number;
11
+ top: number;
12
+ right: number;
13
+ bottom: number;
14
+ };
15
+ export declare type TileBoundingBox = NonGeoBoundingBox | GeoBoundingBox;
16
+ export declare type TileIndex = {
17
+ x: number;
18
+ y: number;
19
+ z: number;
20
+ };
21
+ export declare type TileLoadProps = {
22
+ index: TileIndex;
23
+ id: string;
24
+ bbox: TileBoundingBox;
25
+ url?: string | null;
26
+ signal?: AbortSignal;
27
+ userData?: Record<string, any>;
28
+ zoom?: number;
29
+ };
30
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tileset-2d/types.ts"],"names":[],"mappings":"AAAA,oBAAY,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAElD,oBAAY,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAE9E,oBAAY,cAAc,GAAG;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAAC;AACxF,oBAAY,iBAAiB,GAAG;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC;AAE3F,oBAAY,eAAe,GAAG,iBAAiB,GAAG,cAAc,CAAC;AAEjE,oBAAY,SAAS,GAAG;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AAE1D,oBAAY,aAAa,GAAG;IAC1B,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,eAAe,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { Viewport } from '@deck.gl/core/typed';
2
+ import { Matrix4 } from '@math.gl/core';
3
+ import { Bounds, GeoBoundingBox, TileBoundingBox, TileIndex, ZRange } from './types';
4
+ export declare const urlType: {
5
+ type: string;
6
+ value: null;
7
+ validate: (value: any, propType: any) => any;
8
+ equals: (value1: any, value2: any) => boolean;
9
+ };
10
+ export declare function getURLFromTemplate(template: string | string[], tile: {
11
+ index: TileIndex;
12
+ id: string;
13
+ }): string | null;
14
+ /** Get culling bounds in world space */
15
+ export declare function getCullBounds({ viewport, z, cullRect }: {
16
+ /** Current viewport */
17
+ viewport: Viewport;
18
+ /** Current z range */
19
+ z: ZRange | number | undefined;
20
+ /** Culling rectangle in screen space */
21
+ cullRect: {
22
+ x: number;
23
+ y: number;
24
+ width: number;
25
+ height: number;
26
+ };
27
+ }): [number, number, number, number][];
28
+ export declare function osmTile2lngLat(x: number, y: number, z: number): [number, number];
29
+ export declare function tileToBoundingBox(viewport: Viewport, x: number, y: number, z: number, tileSize?: number): TileBoundingBox;
30
+ /**
31
+ * Returns all tile indices in the current viewport. If the current zoom level is smaller
32
+ * than minZoom, return an empty array. If the current zoom level is greater than maxZoom,
33
+ * return tiles that are on maxZoom.
34
+ */
35
+ export declare function getTileIndices({ viewport, maxZoom, minZoom, zRange, extent, tileSize, modelMatrix, modelMatrixInverse, zoomOffset }: {
36
+ viewport: Viewport;
37
+ maxZoom?: number;
38
+ minZoom?: number;
39
+ zRange: ZRange | undefined;
40
+ extent?: Bounds;
41
+ tileSize?: number;
42
+ modelMatrix?: Matrix4;
43
+ modelMatrixInverse?: Matrix4;
44
+ zoomOffset?: number;
45
+ }): TileIndex[];
46
+ /**
47
+ * Returns true if s is a valid URL template
48
+ */
49
+ export declare function isURLTemplate(s: string): boolean;
50
+ export declare function isGeoBoundingBox(v: any): v is GeoBoundingBox;
51
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/tileset-2d/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAC,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAC,MAAM,SAAS,CAAC;AAKnF,eAAO,MAAM,OAAO;;;;;CAyBnB,CAAC;AA8BF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,EAC3B,IAAI,EAAE;IACJ,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ,GACA,MAAM,GAAG,IAAI,CAsBf;AAsCD,wCAAwC;AACxC,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,CAAK,EACL,QAAQ,EACT,EAAE;IACD,uBAAuB;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,sBAAsB;IACtB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/B,wCAAwC;IACxC,QAAQ,EAAE;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC;CACjE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAGrC;AAwDD,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMhF;AAMD,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,QAAQ,EAClB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,QAAQ,GAAE,MAAkB,GAC3B,eAAe,CASjB;AA0BD;;;;GAIG;AAEH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,QAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,UAAc,EACf,EAAE;IACD,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,eA0BA;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,cAAc,CAO5D"}