@developmentseed/deck.gl-geotiff 0.7.0-beta.1 → 0.7.0

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.
@@ -1,5 +1,5 @@
1
1
  import type { UpdateParameters } from "@deck.gl/core";
2
- import type { MinimalTileData, GetTileDataOptions as RasterTileGetTileDataOptions, RasterTileLayerProps, RenderTileResult, TilesetDescriptor } from "@developmentseed/deck.gl-raster";
2
+ import type { MinimalTileData, GetTileDataOptions as RasterTileGetTileDataOptions, RasterTileLayerProps, RasterTilesetDescriptor, RenderTileResult } from "@developmentseed/deck.gl-raster";
3
3
  import { RasterTileLayer } from "@developmentseed/deck.gl-raster";
4
4
  import type { DecoderPool, GeoTIFF, Overview } from "@developmentseed/geotiff";
5
5
  import type { EpsgResolver, ProjectionDefinition } from "@developmentseed/proj";
@@ -101,7 +101,7 @@ export declare class COGLayer<DataT extends MinimalTileData = DefaultDataT> exte
101
101
  static defaultProps: typeof RasterTileLayer.defaultProps;
102
102
  state: {
103
103
  geotiff?: GeoTIFF;
104
- tilesetDescriptor?: TilesetDescriptor;
104
+ tilesetDescriptor?: RasterTilesetDescriptor;
105
105
  defaultGetTileData?: COGLayerProps<TextureDataT>["getTileData"];
106
106
  defaultRenderTile?: COGLayerProps<TextureDataT>["renderTile"];
107
107
  };
@@ -109,7 +109,7 @@ export declare class COGLayer<DataT extends MinimalTileData = DefaultDataT> exte
109
109
  updateState(params: UpdateParameters<this>): void;
110
110
  clearState(): void;
111
111
  _parseGeoTIFF(): Promise<void>;
112
- protected _tilesetDescriptor(): TilesetDescriptor | undefined;
112
+ protected _tilesetDescriptor(): RasterTilesetDescriptor | undefined;
113
113
  /**
114
114
  * Adapts the user-facing `(image, { x, y, ... }) => Promise<DataT>` signature
115
115
  * into RasterTileLayer's `(tile, { signal, device }) => Promise<DataT>`.
@@ -1 +1 @@
1
- {"version":3,"file":"cog-layer.d.ts","sourceRoot":"","sources":["../src/cog-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cog-layer.d.ts","sourceRoot":"","sources":["../src/cog-layer.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- export type { COGLayerProps, GetTileDataOptions, MinimalTileData, } from "./cog-layer.js";
1
+ export type { COGLayerProps, GetTileDataOptions, } from "./cog-layer.js";
2
2
  export { COGLayer } from "./cog-layer.js";
3
3
  export { addAlphaChannel } from "./geotiff/geotiff.js";
4
4
  export * as texture from "./geotiff/texture.js";
5
5
  export type { MosaicLayerProps } from "./mosaic-layer/mosaic-layer.js";
6
6
  export { MosaicLayer } from "./mosaic-layer/mosaic-layer.js";
7
- export { type MosaicSource, MosaicTileset2D, } from "./mosaic-layer/mosaic-tileset-2d.js";
7
+ export type { MosaicSource } from "./mosaic-layer/mosaic-tileset-2d.js";
8
8
  export type { MultiCOGLayerProps, MultiCOGSourceConfig, } from "./multi-cog-layer.js";
9
9
  export { MultiCOGLayer } from "./multi-cog-layer.js";
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EACL,KAAK,YAAY,EACjB,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAI7C,YAAY,EACV,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACxE,YAAY,EACV,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -2,6 +2,5 @@ export { COGLayer } from "./cog-layer.js";
2
2
  export { addAlphaChannel } from "./geotiff/geotiff.js";
3
3
  export * as texture from "./geotiff/texture.js";
4
4
  export { MosaicLayer } from "./mosaic-layer/mosaic-layer.js";
5
- export { MosaicTileset2D, } from "./mosaic-layer/mosaic-tileset-2d.js";
6
5
  export { MultiCOGLayer } from "./multi-cog-layer.js";
7
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAEL,eAAe,GAChB,MAAM,qCAAqC,CAAC;AAQ7C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAM7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,9 +1,10 @@
1
- import type { CompositeLayerProps, Layer, LayersList } from "@deck.gl/core";
1
+ import type { CompositeLayerProps, Layer, LayerContext, LayersList, UpdateParameters } from "@deck.gl/core";
2
2
  import { CompositeLayer } from "@deck.gl/core";
3
3
  import type { TileLayerProps } from "@deck.gl/geo-layers";
4
4
  import { TileLayer } from "@deck.gl/geo-layers";
5
+ import Flatbush from "flatbush";
5
6
  import type { MosaicSource } from "./mosaic-tileset-2d.js";
6
- export type MosaicLayerProps<MosaicT extends MosaicSource = MosaicSource, DataT = any> = CompositeLayerProps & Pick<TileLayerProps, "extent" | "minZoom" | "maxZoom" | "maxCacheByteSize" | "maxCacheSize" | "maxRequests"> & {
7
+ export type MosaicLayerProps<MosaicT extends MosaicSource = MosaicSource, DataT = any> = CompositeLayerProps & Pick<TileLayerProps, "debounceTime" | "extent" | "maxCacheByteSize" | "maxCacheSize" | "maxRequests" | "maxZoom" | "minZoom"> & {
7
8
  /**
8
9
  * List of mosaic sources to render.
9
10
  *
@@ -14,13 +15,13 @@ export type MosaicLayerProps<MosaicT extends MosaicSource = MosaicSource, DataT
14
15
  *
15
16
  * Tile cache reuse depends on stable tile IDs. By default, each source's
16
17
  * tile ID is derived from its position in this array (see
17
- * `MosaicSource.key`), so:
18
+ * `MosaicSource.id`), so:
18
19
  *
19
20
  * - Appending items preserves all existing rendered tiles.
20
21
  * - Reordering or removing items from the middle of the array invalidates
21
22
  * the cache slots of shifted items, causing them to re-fetch.
22
23
  *
23
- * Supply an explicit `key` per source if you need cache stability across
24
+ * Supply an explicit `id` per source if you need cache stability across
24
25
  * arbitrary mutations of `sources`.
25
26
  */
26
27
  sources: MosaicT[];
@@ -33,6 +34,34 @@ export type MosaicLayerProps<MosaicT extends MosaicSource = MosaicSource, DataT
33
34
  data?: DataT;
34
35
  signal?: AbortSignal;
35
36
  }) => Layer | LayersList | null;
37
+ /**
38
+ * Called after a source's data has loaded successfully. `data` is the
39
+ * value returned by `getSource`, or `undefined` when no `getSource` was
40
+ * supplied.
41
+ */
42
+ onSourceLoad?: (source: MosaicT, info: {
43
+ data?: DataT;
44
+ }) => void;
45
+ /**
46
+ * Called when fetching a source's data fails.
47
+ */
48
+ onSourceError?: (source: MosaicT, info: {
49
+ error: Error;
50
+ }) => void;
51
+ /**
52
+ * Called when a source is evicted from the tile cache.
53
+ */
54
+ onSourceUnload?: (source: MosaicT, info: {
55
+ data?: DataT;
56
+ }) => void;
57
+ /**
58
+ * Called when all sources currently in the viewport have finished
59
+ * loading.
60
+ */
61
+ onViewportLoad?: (entries: Array<{
62
+ source: MosaicT;
63
+ data?: DataT;
64
+ }>) => void;
36
65
  };
37
66
  /**
38
67
  * A deck.gl layer for rendering a mosaic of raster sources.
@@ -43,6 +72,12 @@ export type MosaicLayerProps<MosaicT extends MosaicSource = MosaicSource, DataT
43
72
  export declare class MosaicLayer<MosaicT extends MosaicSource = MosaicSource, DataT = any> extends CompositeLayer<MosaicLayerProps<MosaicT, DataT>> {
44
73
  static layerName: string;
45
74
  static defaultProps: Partial<MosaicLayerProps<MosaicSource, any>>;
75
+ state: {
76
+ index: Flatbush | null;
77
+ };
78
+ initializeState(context: LayerContext): void;
79
+ updateState(params: UpdateParameters<this>): void;
80
+ private _buildSpatialIndex;
46
81
  renderTileLayer(renderSource: MosaicLayerProps<MosaicT, DataT>["renderSource"]): TileLayer;
47
82
  renderLayers(): Layer | null | LayersList;
48
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mosaic-layer.d.ts","sourceRoot":"","sources":["../../src/mosaic-layer/mosaic-layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,MAAM,MAAM,gBAAgB,CAC1B,OAAO,SAAS,YAAY,GAAG,YAAY,EAC3C,KAAK,GAAG,GAAG,IACT,mBAAmB,GACrB,IAAI,CACF,cAAc,EACZ,QAAQ,GACR,SAAS,GACT,SAAS,GACT,kBAAkB,GAClB,cAAc,GACd,aAAa,CAChB,GAAG;IACF;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,EAAE,OAAO,EAAE,CAAC;IAEnB,kCAAkC;IAClC,SAAS,CAAC,EAAE,CACV,MAAM,EAAE,OAAO,EACf,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAC3B,OAAO,CAAC,KAAK,CAAC,CAAC;IAEpB,sBAAsB;IACtB,YAAY,EAAE,CACZ,MAAM,EAAE,OAAO,EACf,IAAI,EAAE;QACJ,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,KACE,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC;CAChC,CAAC;AAIJ;;;;;GAKG;AACH,qBAAa,WAAW,CACtB,OAAO,SAAS,YAAY,GAAG,YAAY,EAC3C,KAAK,GAAG,GAAG,CACX,SAAQ,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxD,OAAgB,SAAS,SAAiB;IAC1C,OAAgB,YAAY,+CAAgB;IAE5C,eAAe,CACb,YAAY,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,cAAc,CAAC,GAC7D,SAAS;IA0DH,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;CAYnD"}
1
+ {"version":3,"file":"mosaic-layer.d.ts","sourceRoot":"","sources":["../../src/mosaic-layer/mosaic-layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,KAAK,EACL,YAAY,EACZ,UAAU,EACV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAG3D,MAAM,MAAM,gBAAgB,CAC1B,OAAO,SAAS,YAAY,GAAG,YAAY,EAC3C,KAAK,GAAG,GAAG,IACT,mBAAmB,GACrB,IAAI,CACF,cAAc,EACZ,cAAc,GACd,QAAQ,GACR,kBAAkB,GAClB,cAAc,GACd,aAAa,GACb,SAAS,GACT,SAAS,CACZ,GAAG;IACF;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,EAAE,OAAO,EAAE,CAAC;IAEnB,kCAAkC;IAClC,SAAS,CAAC,EAAE,CACV,MAAM,EAAE,OAAO,EACf,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAC3B,OAAO,CAAC,KAAK,CAAC,CAAC;IAEpB,sBAAsB;IACtB,YAAY,EAAE,CACZ,MAAM,EAAE,OAAO,EACf,IAAI,EAAE;QACJ,IAAI,CAAC,EAAE,KAAK,CAAC;QACb,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,KACE,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC;IAE/B;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,KAAK,CAAA;KAAE,KAAK,IAAI,CAAC;IAEjE;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,KAAK,IAAI,CAAC;IAElE;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,KAAK,CAAA;KAAE,KAAK,IAAI,CAAC;IAEnE;;;OAGG;IACH,cAAc,CAAC,EAAE,CACf,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,KAAK,CAAA;KAAE,CAAC,KAC9C,IAAI,CAAC;CACX,CAAC;AAMJ;;;;;GAKG;AACH,qBAAa,WAAW,CACtB,OAAO,SAAS,YAAY,GAAG,YAAY,EAC3C,KAAK,GAAG,GAAG,CACX,SAAQ,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACxD,OAAgB,SAAS,SAAiB;IAC1C,OAAgB,YAAY,+CAAgB;IAEpC,KAAK,EAAE;QAEb,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;KACxB,CAAC;IAEO,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAK5C,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;IAU1D,OAAO,CAAC,kBAAkB;IAgB1B,eAAe,CACb,YAAY,EAAE,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,cAAc,CAAC,GAC7D,SAAS;IAmGH,YAAY,IAAI,KAAK,GAAG,IAAI,GAAG,UAAU;CAYnD"}
@@ -1,7 +1,10 @@
1
1
  import { CompositeLayer } from "@deck.gl/core";
2
2
  import { TileLayer } from "@deck.gl/geo-layers";
3
+ import Flatbush from "flatbush";
3
4
  import { MosaicTileset2D } from "./mosaic-tileset-2d.js";
4
- const defaultProps = {};
5
+ const defaultProps = {
6
+ sources: [],
7
+ };
5
8
  /**
6
9
  * A deck.gl layer for rendering a mosaic of raster sources.
7
10
  *
@@ -11,15 +14,40 @@ const defaultProps = {};
11
14
  export class MosaicLayer extends CompositeLayer {
12
15
  static layerName = "MosaicLayer";
13
16
  static defaultProps = defaultProps;
17
+ initializeState(context) {
18
+ super.initializeState(context);
19
+ this._buildSpatialIndex();
20
+ }
21
+ updateState(params) {
22
+ super.updateState(params);
23
+ const { props, oldProps } = params;
24
+ if (props.sources !== oldProps.sources) {
25
+ this._buildSpatialIndex();
26
+ }
27
+ }
28
+ _buildSpatialIndex() {
29
+ const { sources } = this.props;
30
+ if (sources.length === 0) {
31
+ this.setState({ index: null });
32
+ return;
33
+ }
34
+ const index = new Flatbush(sources.length);
35
+ for (const source of sources) {
36
+ index.add(...source.bbox);
37
+ }
38
+ index.finish();
39
+ this.setState({ index });
40
+ }
14
41
  renderTileLayer(renderSource) {
15
- const { id, minZoom, maxZoom, extent, maxCacheByteSize, maxCacheSize, maxRequests, } = this.props;
16
- // The arrow function is defined here so its lexical `this` is the
17
- // MosaicLayer instance (which deck.gl reuses across prop updates),
18
- // ensuring `this.props.sources` returns the latest array on every call.
42
+ const { id, minZoom, maxZoom, debounceTime, extent, maxCacheByteSize, maxCacheSize, maxRequests, onSourceLoad, onSourceError, onSourceUnload, onViewportLoad, } = this.props;
43
+ // Arrow functions bind to the MosaicLayer instance, which deck.gl reuses
44
+ // across prop updates — so `this.props` and `this.state` always reflect
45
+ // the latest values when the tileset reads them.
19
46
  const getSources = () => this.props.sources;
47
+ const getIndex = () => this.state.index;
20
48
  class MosaicTileset2DFactory extends MosaicTileset2D {
21
49
  constructor(opts) {
22
- super(getSources, opts);
50
+ super(getSources, getIndex, opts);
23
51
  }
24
52
  }
25
53
  return new TileLayer({
@@ -27,6 +55,7 @@ export class MosaicLayer extends CompositeLayer {
27
55
  TilesetClass: MosaicTileset2DFactory,
28
56
  minZoom,
29
57
  maxZoom,
58
+ debounceTime,
30
59
  extent,
31
60
  ...(maxCacheByteSize !== undefined && { maxCacheByteSize }),
32
61
  maxCacheSize,
@@ -50,6 +79,38 @@ export class MosaicLayer extends CompositeLayer {
50
79
  const { source, signal, data: userData } = data;
51
80
  return renderSource(source, { data: userData, signal });
52
81
  },
82
+ ...(onSourceLoad && {
83
+ onTileLoad: (tile) => {
84
+ // `tile.index` is a `ResolvedSource<MosaicT>` from
85
+ // MosaicTileset2D.getTileIndices, which structurally extends
86
+ // MosaicT.
87
+ const source = tile.index;
88
+ onSourceLoad(source, { data: tile.content?.data });
89
+ },
90
+ }),
91
+ ...(onSourceError && {
92
+ onTileError: (error, tile) => {
93
+ if (!tile) {
94
+ return;
95
+ }
96
+ const source = tile.index;
97
+ onSourceError(source, { error });
98
+ },
99
+ }),
100
+ ...(onSourceUnload && {
101
+ onTileUnload: (tile) => {
102
+ const source = tile.index;
103
+ onSourceUnload(source, { data: tile.content?.data });
104
+ },
105
+ }),
106
+ ...(onViewportLoad && {
107
+ onViewportLoad: (tiles) => {
108
+ onViewportLoad(tiles.map((tile) => ({
109
+ source: tile.index,
110
+ data: tile.content?.data,
111
+ })));
112
+ },
113
+ }),
53
114
  });
54
115
  }
55
116
  renderLayers() {
@@ -1 +1 @@
1
- {"version":3,"file":"mosaic-layer.js","sourceRoot":"","sources":["../../src/mosaic-layer/mosaic-layer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAoDzD,MAAM,YAAY,GAA8B,EAAE,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,OAAO,WAGX,SAAQ,cAAgD;IACxD,MAAM,CAAU,SAAS,GAAG,aAAa,CAAC;IAC1C,MAAM,CAAU,YAAY,GAAG,YAAY,CAAC;IAE5C,eAAe,CACb,YAA8D;QAE9D,MAAM,EACJ,EAAE,EACF,OAAO,EACP,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,YAAY,EACZ,WAAW,GACZ,GAAG,IAAI,CAAC,KAAK,CAAC;QAEf,kEAAkE;QAClE,mEAAmE;QACnE,wEAAwE;QACxE,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5C,MAAM,sBAAuB,SAAQ,eAAwB;YAC3D,YAAY,IAAS;gBACnB,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC1B,CAAC;SACF;QAED,OAAO,IAAI,SAAS,CAIjB;YACD,EAAE,EAAE,gBAAgB,EAAE,EAAE;YACxB,YAAY,EAAE,sBAAsB;YACpC,OAAO;YACP,OAAO;YACP,MAAM;YACN,GAAG,CAAC,gBAAgB,KAAK,SAAS,IAAI,EAAE,gBAAgB,EAAE,CAAC;YAC3D,YAAY;YACZ,WAAW;YACX,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC1B,yDAAyD;gBACzD,qEAAqE;gBACrE,2CAA2C;gBAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAA2B,CAAC;gBAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;gBACxB,MAAM,QAAQ,GACZ,IAAI,CAAC,KAAK,CAAC,SAAS;oBACpB,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;gBAElD,OAAO;oBACL,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,QAAQ;oBACd,MAAM;iBACP,CAAC;YACJ,CAAC;YACD,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE;gBACzB,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;gBACvB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;gBAChD,OAAO,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1D,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAEQ,YAAY;QACnB,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE7C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,0EAA0E;QAC1E,uEAAuE;QACvE,6DAA6D;QAC7D,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC"}
1
+ {"version":3,"file":"mosaic-layer.js","sourceRoot":"","sources":["../../src/mosaic-layer/mosaic-layer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { Viewport } from "@deck.gl/core";
2
2
  import type { _Tileset2DProps as Tileset2DProps } from "@deck.gl/geo-layers";
3
3
  import { _Tileset2D as Tileset2D } from "@deck.gl/geo-layers";
4
+ import type Flatbush from "flatbush";
4
5
  /** Tile index.
5
6
  *
6
7
  * Note this is essentially just to type-check deck.gl, since getTileIndices
@@ -22,7 +23,7 @@ export type MosaicSource = {
22
23
  * spliced at runtime, so a given source keeps the same cache slot across
23
24
  * updates.
24
25
  */
25
- key?: string;
26
+ id?: string;
26
27
  /**
27
28
  * Geographic bounds (WGS84) of the source in [minX, minY, maxX, maxY] format
28
29
  */
@@ -40,30 +41,20 @@ export type MosaicSource = {
40
41
  * closure returns a new array reference (compared by `===`); mutating the
41
42
  * array in place will not be detected.
42
43
  */
43
- /** A source augmented with the `TileIndex` fields and a resolved `key`
44
+ /** A source augmented with the `TileIndex` fields and a resolved `id`
44
45
  * (defaulting to the array position) so deck.gl typing is satisfied and the
45
46
  * cache identifier is always defined. */
46
47
  type ResolvedSource<MosaicT> = TileIndex & MosaicT & {
47
- key: string;
48
+ id: string;
48
49
  };
49
50
  export declare class MosaicTileset2D<MosaicT extends MosaicSource> extends Tileset2D {
50
51
  /** Closure returning the parent layer's current sources array. Re-evaluated
51
52
  * on each `getTileIndices` call so updates to the layer's `sources` prop
52
53
  * propagate without recreating the tileset. */
53
54
  private getSources;
54
- /** Last sources array reference the index was built from. Compared by `===`
55
- * against the closure's next return value to decide whether to rebuild. */
56
- private cachedRaw;
57
- /** Sources + spatial index built from `cachedRaw`. `null` means the last
58
- * observed sources list was empty (Flatbush requires at least one item). */
59
- private cached;
60
- constructor(getSources: () => MosaicT[], opts: Tileset2DProps);
61
- /**
62
- * Returns the prepared sources + spatial index for the current sources
63
- * array, rebuilding only if the closure has produced a new array reference
64
- * since the last call. Returns `null` when the sources list is empty.
65
- */
66
- private buildSpatialIndex;
55
+ /** Access the spatial index on the MosaicLayer instance. */
56
+ private getIndex;
57
+ constructor(getSources: () => MosaicT[], getIndex: () => Flatbush | null, opts: Tileset2DProps);
67
58
  /** The Tileset2D cache key for a source. */
68
59
  getTileId(tileIndex: TileIndex): string;
69
60
  /** Must override to provide a zoom level for the tile. */
@@ -1 +1 @@
1
- {"version":3,"file":"mosaic-tileset-2d.d.ts","sourceRoot":"","sources":["../../src/mosaic-layer/mosaic-tileset-2d.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,UAAU,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG9D;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH;;yCAEyC;AACzC,KAAK,cAAc,CAAC,OAAO,IAAI,SAAS,GAAG,OAAO,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AASrE,qBAAa,eAAe,CAAC,OAAO,SAAS,YAAY,CAAE,SAAQ,SAAS;IAC1E;;mDAE+C;IAC/C,OAAO,CAAC,UAAU,CAAkB;IAEpC;+EAC2E;IAC3E,OAAO,CAAC,SAAS,CAA0B;IAE3C;gFAC4E;IAC5E,OAAO,CAAC,MAAM,CAAoC;gBAEtC,UAAU,EAAE,MAAM,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc;IAK7D;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAqCzB,4CAA4C;IACnC,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAMhD,0DAA0D;IACjD,WAAW,CAAC,UAAU,EAAE,SAAS,GAAG,MAAM;IAInD,gEAAgE;IACvD,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAK1D,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS;IAI/C,cAAc,CAAC,EACtB,QAAQ,EACR,OAAO,EACP,OAAO,GACR,EAAE;QACD,QAAQ,EAAE,QAAQ,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,cAAc,CAAC,OAAO,CAAC,EAAE;CAiB9B"}
1
+ {"version":3,"file":"mosaic-tileset-2d.d.ts","sourceRoot":"","sources":["../../src/mosaic-layer/mosaic-tileset-2d.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,UAAU,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AAErC;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB;;;;;;OAMG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH;;yCAEyC;AACzC,KAAK,cAAc,CAAC,OAAO,IAAI,SAAS,GAAG,OAAO,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpE,qBAAa,eAAe,CAAC,OAAO,SAAS,YAAY,CAAE,SAAQ,SAAS;IAC1E;;mDAE+C;IAC/C,OAAO,CAAC,UAAU,CAAkB;IAEpC,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAwB;gBAGtC,UAAU,EAAE,MAAM,OAAO,EAAE,EAC3B,QAAQ,EAAE,MAAM,QAAQ,GAAG,IAAI,EAC/B,IAAI,EAAE,cAAc;IAOtB,4CAA4C;IACnC,SAAS,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAMhD,0DAA0D;IACjD,WAAW,CAAC,UAAU,EAAE,SAAS,GAAG,MAAM;IAInD,gEAAgE;IACvD,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAK1D,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS;IAI/C,cAAc,CAAC,EACtB,QAAQ,EACR,OAAO,EACP,OAAO,GACR,EAAE;QACD,QAAQ,EAAE,QAAQ,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,cAAc,CAAC,OAAO,CAAC,EAAE;CA4C9B"}
@@ -1,62 +1,22 @@
1
1
  import { _Tileset2D as Tileset2D } from "@deck.gl/geo-layers";
2
- import Flatbush from "flatbush";
2
+ import { _sortItemsByDistanceFromViewportCenter as sortItemsByDistanceFromViewportCenter } from "@developmentseed/deck.gl-raster";
3
3
  export class MosaicTileset2D extends Tileset2D {
4
4
  /** Closure returning the parent layer's current sources array. Re-evaluated
5
5
  * on each `getTileIndices` call so updates to the layer's `sources` prop
6
6
  * propagate without recreating the tileset. */
7
7
  getSources;
8
- /** Last sources array reference the index was built from. Compared by `===`
9
- * against the closure's next return value to decide whether to rebuild. */
10
- cachedRaw = null;
11
- /** Sources + spatial index built from `cachedRaw`. `null` means the last
12
- * observed sources list was empty (Flatbush requires at least one item). */
13
- cached = null;
14
- constructor(getSources, opts) {
8
+ /** Access the spatial index on the MosaicLayer instance. */
9
+ getIndex;
10
+ constructor(getSources, getIndex, opts) {
15
11
  super(opts);
12
+ this.getIndex = getIndex;
16
13
  this.getSources = getSources;
17
14
  }
18
- /**
19
- * Returns the prepared sources + spatial index for the current sources
20
- * array, rebuilding only if the closure has produced a new array reference
21
- * since the last call. Returns `null` when the sources list is empty.
22
- */
23
- buildSpatialIndex() {
24
- const raw = this.getSources();
25
- if (raw === this.cachedRaw) {
26
- return this.cached;
27
- }
28
- this.cachedRaw = raw;
29
- if (raw.length === 0) {
30
- this.cached = null;
31
- return null;
32
- }
33
- // Augment each source with a resolved `key` (used by getTileId for
34
- // cache keying) and dummy `x`/`y`/`z` fields to satisfy deck.gl's
35
- // TileIndex typing. The x/y/z values are never read because getTileId is
36
- // overridden below.
37
- const sources = raw.map((source, i) => ({
38
- ...source,
39
- key: source.key ?? String(i),
40
- // TODO: remove x, y, z fields when merged
41
- // https://github.com/visgl/deck.gl/pull/10299
42
- x: i,
43
- y: 0,
44
- z: 0,
45
- }));
46
- const index = new Flatbush(raw.length);
47
- for (const source of raw) {
48
- const [minX, minY, maxX, maxY] = source.bbox;
49
- index.add(minX, minY, maxX, maxY);
50
- }
51
- index.finish();
52
- this.cached = { sources, index };
53
- return this.cached;
54
- }
55
15
  /** The Tileset2D cache key for a source. */
56
16
  getTileId(tileIndex) {
57
- // `getTileIndices` always returns `ResolvedSource`s, so a `key` is
17
+ // `getTileIndices` always returns `ResolvedSource`s, so an `id` is
58
18
  // present on every value deck.gl will pass back here.
59
- return tileIndex.key;
19
+ return tileIndex.id;
60
20
  }
61
21
  /** Must override to provide a zoom level for the tile. */
62
22
  getTileZoom(_tileIndex) {
@@ -64,8 +24,8 @@ export class MosaicTileset2D extends Tileset2D {
64
24
  }
65
25
  /** Must override because our tileIndex does not have x, y, z */
66
26
  getTileMetadata(tileIndex) {
67
- const { key, bbox } = tileIndex;
68
- return { key, bbox };
27
+ const { id, bbox } = tileIndex;
28
+ return { id, bbox };
69
29
  }
70
30
  getParentIndex(tileIndex) {
71
31
  return tileIndex;
@@ -77,13 +37,33 @@ export class MosaicTileset2D extends Tileset2D {
77
37
  if (viewport.zoom > (maxZoom ?? Infinity)) {
78
38
  return [];
79
39
  }
80
- const built = this.buildSpatialIndex();
81
- if (built === null) {
40
+ const index = this.getIndex();
41
+ if (!index) {
82
42
  return [];
83
43
  }
84
- const bounds = viewport.getBounds();
85
- const indices = built.index.search(...bounds);
86
- return indices.map((sourceIndex) => built.sources[sourceIndex]);
44
+ const viewportBounds = viewport.getBounds();
45
+ const indices = index.search(...viewportBounds);
46
+ const sources = this.getSources();
47
+ const selectedSources = indices.map((sourceIndex) => {
48
+ const source = sources[sourceIndex];
49
+ return {
50
+ // Remove once https://github.com/visgl/deck.gl/pull/10299
51
+ // is merged and released
52
+ x: 0,
53
+ y: 0,
54
+ z: 0,
55
+ ...source,
56
+ id: source.id ?? String(sourceIndex),
57
+ };
58
+ });
59
+ const { maxRequests } = this.opts;
60
+ if (selectedSources.length <= maxRequests) {
61
+ return selectedSources;
62
+ }
63
+ return sortItemsByDistanceFromViewportCenter(selectedSources, viewport, (source) => {
64
+ const [minX, minY, maxX, maxY] = source.bbox;
65
+ return [(minX + maxX) * 0.5, (minY + maxY) * 0.5];
66
+ });
87
67
  }
88
68
  }
89
69
  //# sourceMappingURL=mosaic-tileset-2d.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mosaic-tileset-2d.js","sourceRoot":"","sources":["../../src/mosaic-layer/mosaic-tileset-2d.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mosaic-tileset-2d.js","sourceRoot":"","sources":["../../src/mosaic-layer/mosaic-tileset-2d.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,sCAAsC,IAAI,qCAAqC,EAAE,MAAM,iCAAiC,CAAC;AA6ClI,MAAM,OAAO,eAA8C,SAAQ,SAAS;IAC1E;;mDAE+C;IACvC,UAAU,CAAkB;IAEpC,4DAA4D;IACpD,QAAQ,CAAwB;IAExC,YACE,UAA2B,EAC3B,QAA+B,EAC/B,IAAoB;QAEpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,4CAA4C;IACnC,SAAS,CAAC,SAAoB;QACrC,mEAAmE;QACnE,sDAAsD;QACtD,OAAQ,SAAqC,CAAC,EAAE,CAAC;IACnD,CAAC;IAED,0DAA0D;IACjD,WAAW,CAAC,UAAqB;QACxC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,gEAAgE;IACvD,eAAe,CAAC,SAAoB;QAC3C,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,SAA+C,CAAC;QACrE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;IAEQ,cAAc,CAAC,SAAoB;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAEQ,cAAc,CAAC,EACtB,QAAQ,EACR,OAAO,EACP,OAAO,GAKR;QACC,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,OAAO,IAAI,QAAQ,CAAC,EAAE,CAAC;YAC1C,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAE,CAAC;YACrC,OAAO;gBACL,0DAA0D;gBAC1D,yBAAyB;gBACzB,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;gBACJ,GAAG,MAAM;gBACT,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC;aACrC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAClC,IAAI,eAAe,CAAC,MAAM,IAAI,WAAW,EAAE,CAAC;YAC1C,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,OAAO,qCAAqC,CAC1C,eAAe,EACf,QAAQ,EACR,CAAC,MAAM,EAAE,EAAE;YACT,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;YAC7C,OAAO,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAU,CAAC;QAC7D,CAAC,CACF,CAAC;IACJ,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  import type { CompositeLayerProps, Layer, UpdateParameters } from "@deck.gl/core";
2
2
  import type { _Tile2DHeader as Tile2DHeader, TileLayerProps, _TileLoadProps as TileLoadProps } from "@deck.gl/geo-layers";
3
- import type { Corners, GetTileDataOptions, MultiTilesetDescriptor, ProjectionFunction, RasterModule, RenderTileResult, TilesetDescriptor, UvTransform } from "@developmentseed/deck.gl-raster";
3
+ import type { Corners, GetTileDataOptions, MultiRasterTilesetDescriptor, ProjectionFunction, RasterModule, RasterTilesetDescriptor, RenderTileResult, UvTransform } from "@developmentseed/deck.gl-raster";
4
4
  import { RasterTileLayer } from "@developmentseed/deck.gl-raster";
5
5
  import type { DecoderPool, GeoTIFF } from "@developmentseed/geotiff";
6
6
  import type { EpsgResolver } from "@developmentseed/proj";
@@ -133,7 +133,7 @@ export type MultiCOGLayerProps = CompositeLayerProps & Pick<TileLayerProps, "deb
133
133
  signal?: AbortSignal;
134
134
  /**
135
135
  * Called once all configured sources have been opened and the
136
- * {@link MultiTilesetDescriptor} has been built.
136
+ * {@link MultiRasterTilesetDescriptor} has been built.
137
137
  *
138
138
  * `geographicBounds` is computed from the primary (finest-resolution)
139
139
  * source and reprojected to WGS84; it matches the shape returned by
@@ -176,15 +176,15 @@ export type MultiCOGLayerProps = CompositeLayerProps & Pick<TileLayerProps, "deb
176
176
  };
177
177
  /**
178
178
  * A deck.gl {@link CompositeLayer} that opens multiple Cloud-Optimized GeoTIFFs
179
- * (COGs) in parallel, builds a {@link TilesetDescriptor} for each, and groups
180
- * them into a single {@link MultiTilesetDescriptor}.
179
+ * (COGs) in parallel, builds a {@link RasterTilesetDescriptor} for each, and groups
180
+ * them into a single {@link MultiRasterTilesetDescriptor}.
181
181
  *
182
182
  * The finest-resolution source is automatically selected as the primary
183
183
  * tileset, which drives the tile grid. Secondary sources are sampled at the
184
184
  * closest matching resolution.
185
185
  *
186
186
  * @see {@link MultiCOGLayerProps} for accepted props.
187
- * @see {@link createMultiTilesetDescriptor} for the grouping logic.
187
+ * @see {@link createMultiRasterTilesetDescriptor} for the grouping logic.
188
188
  * @see {@link geoTiffToDescriptor} for the per-source tileset descriptor.
189
189
  */
190
190
  export declare class MultiCOGLayer extends RasterTileLayer<MultiTileResult, MultiCOGLayerProps> {
@@ -192,13 +192,13 @@ export declare class MultiCOGLayer extends RasterTileLayer<MultiTileResult, Mult
192
192
  static defaultProps: typeof RasterTileLayer.defaultProps;
193
193
  state: {
194
194
  sources: Map<string, SourceState> | null;
195
- multiDescriptor: MultiTilesetDescriptor | null;
195
+ multiDescriptor: MultiRasterTilesetDescriptor | null;
196
196
  };
197
197
  initializeState(): void;
198
198
  updateState({ changeFlags, props, oldProps, }: UpdateParameters<this>): void;
199
199
  /**
200
200
  * Open all configured COG sources in parallel, compute shared projection
201
- * functions, and build the {@link MultiTilesetDescriptor}.
201
+ * functions, and build the {@link MultiRasterTilesetDescriptor}.
202
202
  *
203
203
  * All sources are assumed to share the same CRS; the projection of the
204
204
  * first source is used for the shared coordinate converters.
@@ -218,7 +218,7 @@ export declare class MultiCOGLayer extends RasterTileLayer<MultiTileResult, Mult
218
218
  * @returns Per-band textures, UV transforms, and reprojection functions.
219
219
  */
220
220
  _getTileData(tile: TileLoadProps, options: GetTileDataOptions): Promise<MultiTileResult>;
221
- protected _tilesetDescriptor(): TilesetDescriptor | undefined;
221
+ protected _tilesetDescriptor(): RasterTilesetDescriptor | undefined;
222
222
  protected _getTileDataCallback(): ((tile: TileLoadProps, options: GetTileDataOptions) => Promise<MultiTileResult>) | undefined;
223
223
  protected _renderTileCallback(): ((data: MultiTileResult) => RenderTileResult | null) | undefined;
224
224
  protected _renderDebug(tile: Tile2DHeader<MultiTileResult>, data: MultiTileResult | null): Layer[];
@@ -1 +1 @@
1
- {"version":3,"file":"multi-cog-layer.d.ts","sourceRoot":"","sources":["../src/multi-cog-layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,KAAK,EACL,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EACV,aAAa,IAAI,YAAY,EAC7B,cAAc,EACd,cAAc,IAAI,aAAa,EAChC,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EACV,OAAO,EACP,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EAEjB,WAAW,EACZ,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,eAAe,EAIhB,MAAM,iCAAiC,CAAC;AAKzC,OAAO,KAAK,EACV,WAAW,EACX,OAAO,EAGR,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAO1D,OAAO,KAAK,EAAU,OAAO,EAAiB,MAAM,eAAe,CAAC;AAsBpE,iDAAiD;AACjD,UAAU,YAAY;IACpB,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,WAAW,EAAE,WAAW,CAAC;IACzB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,2EAA2E;AAC3E,UAAU,aAAa;IACrB,yEAAyE;IACzE,oBAAoB,EAAE,OAAO,EAAE,CAAC;IAChC,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,WAAW,EAAE,WAAW,CAAC;IACzB,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,yDAAyD;AACzD,UAAU,kBAAkB;IAC1B,2EAA2E;IAC3E,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACnC;AAED,qGAAqG;AACrG,UAAU,eAAe;IACvB,mDAAmD;IACnD,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjC,mEAAmE;IACnE,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,mEAAmE;IACnE,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,WAAW,CAAC;CACjC;AAED,qDAAqD;AACrD,UAAU,WAAW;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAClD,IAAI,CACF,cAAc,EACZ,cAAc,GACd,cAAc,GACd,kBAAkB,GAClB,aAAa,GACb,oBAAoB,CACvB,GAAG;IACF;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAE9C;;;;OAIG;IACH,SAAS,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAE9D;;;;OAIG;IACH,cAAc,CAAC,EAAE,YAAY,EAAE,CAAC;IAEhC;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,KACE,IAAI,CAAC;IAEV;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACxB,CAAC;AAQJ;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAc,SAAQ,eAAe,CAChD,eAAe,EACf,kBAAkB,CACnB;IACC,OAAgB,SAAS,SAAmB;IAI5C,OAAgB,YAAY,EACC,OAAO,eAAe,CAAC,YAAY,CAAC;IAEzD,KAAK,EAAE;QACb,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC;QACzC,eAAe,EAAE,sBAAsB,GAAG,IAAI,CAAC;KAChD,CAAC;IAEO,eAAe,IAAI,IAAI;IAOvB,WAAW,CAAC,EACnB,WAAW,EACX,KAAK,EACL,QAAQ,GACT,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;IAahC;;;;;;;;OAQG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAyFvC;;;;;;;;;;OAUG;IACG,YAAY,CAChB,IAAI,EAAE,aAAa,EACnB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,eAAe,CAAC;cA6FR,kBAAkB,IAAI,iBAAiB,GAAG,SAAS;cAInD,oBAAoB,YAK7B,aAAa,WACV,kBAAkB,KAC1B,OAAO,CAAC,eAAe,CAAC;cAGV,mBAAmB,YAItB,eAAe,KAAG,gBAAgB,GAAG,IAAI;cAItC,YAAY,CAC7B,IAAI,EAAE,YAAY,CAAC,eAAe,CAAC,EACnC,IAAI,EAAE,eAAe,GAAG,IAAI,GAC3B,KAAK,EAAE;IAgBV;;;;;;;OAOG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;;;;OAKG;YACW,iBAAiB;IAyC/B;;;;;;OAMG;YACW,mBAAmB;IAmGjC;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;CA+I3B"}
1
+ {"version":3,"file":"multi-cog-layer.d.ts","sourceRoot":"","sources":["../src/multi-cog-layer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { PathLayer, TextLayer } from "@deck.gl/layers";
2
- import { createMultiTilesetDescriptor, RasterTileLayer, resolveSecondaryTiles, selectSecondaryLevel, tilesetLevelsEqual, } from "@developmentseed/deck.gl-raster";
2
+ import { createMultiRasterTilesetDescriptor, RasterTileLayer, resolveSecondaryTiles, selectSecondaryLevel, tilesetLevelsEqual, } from "@developmentseed/deck.gl-raster";
3
3
  import { buildCompositeBandsProps, CompositeBands, } from "@developmentseed/deck.gl-raster/gpu-modules";
4
4
  import { assembleTiles, defaultDecoderPool } from "@developmentseed/geotiff";
5
5
  import { epsgResolver as defaultEpsgResolver, makeClampedForwardTo3857, metersPerUnit, parseWkt, } from "@developmentseed/proj";
@@ -26,15 +26,15 @@ const defaultProps = {
26
26
  };
27
27
  /**
28
28
  * A deck.gl {@link CompositeLayer} that opens multiple Cloud-Optimized GeoTIFFs
29
- * (COGs) in parallel, builds a {@link TilesetDescriptor} for each, and groups
30
- * them into a single {@link MultiTilesetDescriptor}.
29
+ * (COGs) in parallel, builds a {@link RasterTilesetDescriptor} for each, and groups
30
+ * them into a single {@link MultiRasterTilesetDescriptor}.
31
31
  *
32
32
  * The finest-resolution source is automatically selected as the primary
33
33
  * tileset, which drives the tile grid. Secondary sources are sampled at the
34
34
  * closest matching resolution.
35
35
  *
36
36
  * @see {@link MultiCOGLayerProps} for accepted props.
37
- * @see {@link createMultiTilesetDescriptor} for the grouping logic.
37
+ * @see {@link createMultiRasterTilesetDescriptor} for the grouping logic.
38
38
  * @see {@link geoTiffToDescriptor} for the per-source tileset descriptor.
39
39
  */
40
40
  export class MultiCOGLayer extends RasterTileLayer {
@@ -63,7 +63,7 @@ export class MultiCOGLayer extends RasterTileLayer {
63
63
  }
64
64
  /**
65
65
  * Open all configured COG sources in parallel, compute shared projection
66
- * functions, and build the {@link MultiTilesetDescriptor}.
66
+ * functions, and build the {@link MultiRasterTilesetDescriptor}.
67
67
  *
68
68
  * All sources are assumed to share the same CRS; the projection of the
69
69
  * first source is used for the shared coordinate converters.
@@ -117,7 +117,7 @@ export class MultiCOGLayer extends RasterTileLayer {
117
117
  tilesetMap.set(cogSource.name, descriptor);
118
118
  sourceMap.set(cogSource.name, { geotiff: cogSource.geotiff });
119
119
  }
120
- const multiDescriptor = createMultiTilesetDescriptor(tilesetMap);
120
+ const multiDescriptor = createMultiRasterTilesetDescriptor(tilesetMap);
121
121
  this.setState({
122
122
  sources: sourceMap,
123
123
  multiDescriptor,
@@ -1 +1 @@
1
- {"version":3,"file":"multi-cog-layer.js","sourceRoot":"","sources":["../src/multi-cog-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-cog-layer.js","sourceRoot":"","sources":["../src/multi-cog-layer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@developmentseed/deck.gl-geotiff",
3
- "version": "0.7.0-beta.1",
3
+ "version": "0.7.0",
4
4
  "description": "GeoTIFF and Cloud-Optimized GeoTIFF visualization in deck.gl",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -43,12 +43,12 @@
43
43
  "@cogeotiff/core": "^9.5.0",
44
44
  "flatbush": "^4.5.1",
45
45
  "proj4": "^2.20.8",
46
- "@developmentseed/affine": "^0.7.0-beta.1",
47
- "@developmentseed/deck.gl-raster": "^0.7.0-beta.1",
48
- "@developmentseed/morecantile": "^0.7.0-beta.1",
49
- "@developmentseed/geotiff": "^0.7.0-beta.1",
50
- "@developmentseed/proj": "^0.7.0-beta.1",
51
- "@developmentseed/raster-reproject": "^0.7.0-beta.1"
46
+ "@developmentseed/deck.gl-raster": "^0.7.0",
47
+ "@developmentseed/morecantile": "^0.7.0",
48
+ "@developmentseed/proj": "^0.7.0",
49
+ "@developmentseed/raster-reproject": "^0.7.0",
50
+ "@developmentseed/affine": "^0.7.0",
51
+ "@developmentseed/geotiff": "^0.7.0"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "@deck.gl/core": "^9.3.0",
@@ -1,90 +0,0 @@
1
- import type { CompositeLayerProps, UpdateParameters } from "@deck.gl/core";
2
- import { CompositeLayer } from "@deck.gl/core";
3
- import { RasterLayer } from "@developmentseed/deck.gl-raster";
4
- import type { DecoderPool, GeoTIFF } from "@developmentseed/geotiff";
5
- import type { EpsgResolver, ProjectionDefinition } from "@developmentseed/proj";
6
- import { epsgResolver } from "@developmentseed/proj";
7
- import type { ReprojectionFns } from "@developmentseed/raster-reproject";
8
- export interface GeoTIFFLayerProps extends CompositeLayerProps {
9
- /**
10
- * GeoTIFF input.
11
- *
12
- * - {@link URL} or `string` pointing to a GeoTIFF
13
- * - {@link ArrayBuffer} containing the GeoTIFF data
14
- * - An instance of the {@link GeoTIFF} class.
15
- */
16
- geotiff: GeoTIFF | string | URL | ArrayBuffer;
17
- /**
18
- * A function callback for parsing numeric EPSG codes to projection
19
- * information (as returned by `wkt-parser`).
20
- *
21
- * The default implementation:
22
- * - makes a request to epsg.io to resolve EPSG codes found in the GeoTIFF.
23
- * - caches any previous requests
24
- * - parses PROJJSON response with `wkt-parser`
25
- */
26
- epsgResolver?: EpsgResolver;
27
- /**
28
- * Decoder pool for decoding image chunks.
29
- *
30
- * If none is provided, a default DecoderPool will be created and shared
31
- * between all COGLayer and GeoTIFFLayer instances.
32
- */
33
- pool?: DecoderPool;
34
- /**
35
- * Maximum reprojection error in pixels for mesh refinement.
36
- * Lower values create denser meshes with higher accuracy.
37
- * @default 0.125
38
- */
39
- maxError?: number;
40
- /**
41
- * Enable debug visualization showing the triangulation mesh
42
- * @default false
43
- */
44
- debug?: boolean;
45
- /**
46
- * Opacity of the debug mesh overlay (0-1)
47
- * @default 0.5
48
- */
49
- debugOpacity?: number;
50
- /**
51
- * Called when the GeoTIFF metadata has been loaded and parsed.
52
- */
53
- onGeoTIFFLoad?: (geotiff: GeoTIFF, options: {
54
- projection: ProjectionDefinition;
55
- /**
56
- * Bounds of the image in geographic coordinates (WGS84) [minLon, minLat,
57
- * maxLon, maxLat]
58
- */
59
- geographicBounds: {
60
- west: number;
61
- south: number;
62
- east: number;
63
- north: number;
64
- };
65
- }) => void;
66
- }
67
- /**
68
- * GeoTIFFLayer renders a GeoTIFF file from an arbitrary projection.
69
- *
70
- * The GeoTIFFLayer differs from the COGLayer in that it doesn't assume any
71
- * internal tiling. Rather, it fetches the entire full-resolution image and
72
- * displays it directly.
73
- */
74
- export declare class GeoTIFFLayer extends CompositeLayer<GeoTIFFLayerProps> {
75
- static layerName: string;
76
- static defaultProps: {
77
- epsgResolver: typeof epsgResolver;
78
- };
79
- state: {
80
- reprojectionFns?: ReprojectionFns;
81
- imageData?: ImageData;
82
- height?: number;
83
- width?: number;
84
- };
85
- initializeState(): void;
86
- updateState(params: UpdateParameters<this>): void;
87
- _parseGeoTIFF(): Promise<void>;
88
- renderLayers(): RasterLayer | null;
89
- }
90
- //# sourceMappingURL=geotiff-layer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"geotiff-layer.d.ts","sourceRoot":"","sources":["../src/geotiff-layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAY,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAKzE,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D;;;;;;OAMG;IACH,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,WAAW,CAAC;IAE9C;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B;;;;;OAKG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,aAAa,CAAC,EAAE,CACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE;QACP,UAAU,EAAE,oBAAoB,CAAC;QACjC;;;WAGG;QACH,gBAAgB,EAAE;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,KACE,IAAI,CAAC;CACX;AAMD;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IACjE,OAAgB,SAAS,SAAkB;IAC3C,OAAgB,YAAY;;MAAgB;IAEpC,KAAK,EAAE;QACb,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IAEO,eAAe,IAAI,IAAI;IAIvB,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC;IAe7C,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCpC,YAAY;CAsBb"}
@@ -1,81 +0,0 @@
1
- import { CompositeLayer } from "@deck.gl/core";
2
- import { RasterLayer } from "@developmentseed/deck.gl-raster";
3
- import { epsgResolver, parseWkt } from "@developmentseed/proj";
4
- import proj4 from "proj4";
5
- import { fetchGeoTIFF, getGeographicBounds } from "./geotiff/geotiff.js";
6
- import { extractGeotiffReprojectors } from "./geotiff-reprojection.js";
7
- const defaultProps = {
8
- epsgResolver,
9
- };
10
- /**
11
- * GeoTIFFLayer renders a GeoTIFF file from an arbitrary projection.
12
- *
13
- * The GeoTIFFLayer differs from the COGLayer in that it doesn't assume any
14
- * internal tiling. Rather, it fetches the entire full-resolution image and
15
- * displays it directly.
16
- */
17
- export class GeoTIFFLayer extends CompositeLayer {
18
- static layerName = "GeoTIFFLayer";
19
- static defaultProps = defaultProps;
20
- initializeState() {
21
- this.setState({});
22
- }
23
- updateState(params) {
24
- super.updateState(params);
25
- const { props, oldProps, changeFlags } = params;
26
- const needsUpdate = Boolean(changeFlags.dataChanged) ||
27
- props.geotiff !== oldProps.geotiff ||
28
- props.maxError !== oldProps.maxError;
29
- if (needsUpdate) {
30
- this._parseGeoTIFF();
31
- }
32
- }
33
- async _parseGeoTIFF() {
34
- const geotiff = await fetchGeoTIFF(this.props.geotiff);
35
- const crs = geotiff.crs;
36
- const sourceProjection = typeof crs === "number"
37
- ? await this.props.epsgResolver(crs)
38
- : parseWkt(crs);
39
- // @ts-expect-error proj4 has incomplete types that don't support wkt-parser
40
- // output
41
- const converter = proj4(sourceProjection, "EPSG:4326");
42
- if (this.props.onGeoTIFFLoad) {
43
- const geographicBounds = getGeographicBounds(geotiff, converter);
44
- this.props.onGeoTIFFLoad(geotiff, {
45
- projection: sourceProjection,
46
- geographicBounds,
47
- });
48
- }
49
- // @ts-expect-error unused variable
50
- // biome-ignore lint/correctness/noUnusedVariables: not implemented
51
- const reprojectionFns = await extractGeotiffReprojectors(geotiff, sourceProjection);
52
- // Our GeoTIFF implementation doesn't currently support reading the full
53
- // image; it only supports reading tiles.
54
- throw new Error("Loading GeoTIFF image data not yet implemented");
55
- // const { texture, height, width } = await loadRgbImage(image);
56
- // this.setState({
57
- // reprojectionFns,
58
- // imageData: texture,
59
- // height,
60
- // width,
61
- // });
62
- }
63
- renderLayers() {
64
- const { reprojectionFns, imageData, height, width } = this.state;
65
- if (!reprojectionFns || !imageData || !height || !width) {
66
- return null;
67
- }
68
- const { maxError, debug, debugOpacity } = this.props;
69
- return new RasterLayer(this.getSubLayerProps({
70
- id: "raster",
71
- width,
72
- height,
73
- reprojectionFns,
74
- maxError,
75
- texture: imageData,
76
- debug,
77
- debugOpacity,
78
- }));
79
- }
80
- }
81
- //# sourceMappingURL=geotiff-layer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"geotiff-layer.js","sourceRoot":"","sources":["../src/geotiff-layer.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import type { Affine } from "@developmentseed/affine";
2
- import type { ProjectionFunction } from "@developmentseed/deck.gl-raster";
3
- import type { GeoTIFF } from "@developmentseed/geotiff";
4
- import type { ProjectionDefinition } from "@developmentseed/proj";
5
- import type { ReprojectionFns } from "@developmentseed/raster-reproject";
6
- import type { PROJJSONDefinition } from "proj4/dist/lib/core";
7
- import type Projection from "proj4/dist/lib/Proj";
8
- export declare function extractGeotiffReprojectors(geotiff: GeoTIFF, sourceProjection: string | PROJJSONDefinition | ProjectionDefinition, outputCrs?: string | PROJJSONDefinition | Projection): Promise<ReprojectionFns>;
9
- export declare function fromAffine(geotransform: Affine): {
10
- forwardTransform: ProjectionFunction;
11
- inverseTransform: ProjectionFunction;
12
- };
13
- //# sourceMappingURL=geotiff-reprojection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"geotiff-reprojection.d.ts","sourceRoot":"","sources":["../src/geotiff-reprojection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAC;AAMlD,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,MAAM,GAAG,kBAAkB,GAAG,oBAAoB,EACpE,SAAS,GAAE,MAAM,GAAG,kBAAkB,GAAG,UAAwB,GAChE,OAAO,CAAC,eAAe,CAAC,CAc1B;AAED,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG;IAChD,gBAAgB,EAAE,kBAAkB,CAAC;IACrC,gBAAgB,EAAE,kBAAkB,CAAC;CACtC,CAQA"}
@@ -1,26 +0,0 @@
1
- import * as affine from "@developmentseed/affine";
2
- import proj4 from "proj4";
3
- // Derived from existing work here:
4
- // https://github.com/developmentseed/lonboard/blob/35a1f3d691604ad9e083bf10a4bfde4158171486/src/cog-tileset/claude-tileset-2d-improved.ts#L141
5
- //
6
- // TODO: return a RasterReprojector instance, given the IFD and tile of interest?
7
- export async function extractGeotiffReprojectors(geotiff, sourceProjection, outputCrs = "EPSG:4326") {
8
- // @ts-expect-error - proj4 type definitions are incomplete and don't include
9
- // support for wkt-parser output
10
- const converter = proj4(sourceProjection, outputCrs);
11
- const { forwardTransform, inverseTransform } = fromAffine(geotiff.transform);
12
- return {
13
- forwardTransform,
14
- inverseTransform,
15
- forwardReproject: (x, y) => converter.forward([x, y], false),
16
- inverseReproject: (x, y) => converter.inverse([x, y], false),
17
- };
18
- }
19
- export function fromAffine(geotransform) {
20
- const inverseGeotransform = affine.invert(geotransform);
21
- return {
22
- forwardTransform: (x, y) => affine.apply(geotransform, x, y),
23
- inverseTransform: (x, y) => affine.apply(inverseGeotransform, x, y),
24
- };
25
- }
26
- //# sourceMappingURL=geotiff-reprojection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"geotiff-reprojection.js","sourceRoot":"","sources":["../src/geotiff-reprojection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAC;AAKlD,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,mCAAmC;AACnC,+IAA+I;AAC/I,EAAE;AACF,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAgB,EAChB,gBAAoE,EACpE,YAAsD,WAAW;IAEjE,6EAA6E;IAC7E,gCAAgC;IAChC,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACrD,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAE7E,OAAO;QACL,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CACzC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;QAClC,gBAAgB,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CACzC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,YAAoB;IAI7C,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACxD,OAAO;QACL,gBAAgB,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CACzC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;QAClC,gBAAgB,EAAE,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CACzC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC;KAC1C,CAAC;AACJ,CAAC"}