@developmentseed/deck.gl-geotiff 0.7.0 → 0.8.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
- import type { UpdateParameters } from "@deck.gl/core";
1
+ import type { LayerContext, UpdateParameters } from "@deck.gl/core";
2
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
- import type { DecoderPool, GeoTIFF, Overview } from "@developmentseed/geotiff";
4
+ import type { ConcurrencyLimiter, DecoderPool, GeoTIFF, Overview } from "@developmentseed/geotiff";
5
5
  import type { EpsgResolver, ProjectionDefinition } from "@developmentseed/proj";
6
6
  import type { Texture } from "@luma.gl/core";
7
7
  import type { TextureDataT } from "./geotiff/render-pipeline.js";
@@ -92,6 +92,18 @@ export type COGLayerProps<DataT extends MinimalTileData = DefaultDataT> = Omit<R
92
92
  * automatically aborted.
93
93
  */
94
94
  signal?: AbortSignal;
95
+ /**
96
+ * Caps concurrent HTTP requests for this layer's source fetches.
97
+ *
98
+ * Defaults to a maximum of 6 concurrent requests per origin, which aligns
99
+ * with browser limits of 6 HTTP/1.1 requests per origin. If your sources
100
+ * support HTTP/2 or HTTP/3, you may want to increase this limit or disable
101
+ * it entirely by passing `null`.
102
+ *
103
+ * Ignored when `geotiff` is a pre-opened `GeoTIFF` instance — wire the
104
+ * limiter via {@link GeoTIFF.fromUrl} at construction time instead.
105
+ */
106
+ concurrencyLimiter?: ConcurrencyLimiter | null;
95
107
  };
96
108
  /**
97
109
  * COGLayer renders a COG using a tiled approach with reprojection.
@@ -104,8 +116,13 @@ export declare class COGLayer<DataT extends MinimalTileData = DefaultDataT> exte
104
116
  tilesetDescriptor?: RasterTilesetDescriptor;
105
117
  defaultGetTileData?: COGLayerProps<TextureDataT>["getTileData"];
106
118
  defaultRenderTile?: COGLayerProps<TextureDataT>["renderTile"];
119
+ /** Aborts the in-flight header read when the `geotiff` prop changes or the
120
+ * layer is removed
121
+ */
122
+ abortController?: AbortController;
107
123
  };
108
124
  initializeState(): void;
125
+ finalizeState(context: LayerContext): void;
109
126
  updateState(params: UpdateParameters<this>): void;
110
127
  clearState(): void;
111
128
  _parseGeoTIFF(): Promise<void>;
@@ -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/cog-layer.js CHANGED
@@ -2,6 +2,7 @@ import { RasterTileLayer } from "@developmentseed/deck.gl-raster";
2
2
  import { defaultDecoderPool } from "@developmentseed/geotiff";
3
3
  import { epsgResolver, makeClampedForwardTo3857, metersPerUnit, parseWkt, } from "@developmentseed/proj";
4
4
  import proj4 from "proj4";
5
+ import { DEFAULT_CONCURRENCY_LIMITER } from "./default-concurrency-limiter.js";
5
6
  import { fetchGeoTIFF, getGeographicBounds } from "./geotiff/geotiff.js";
6
7
  import { inferRenderPipeline } from "./geotiff/render-pipeline.js";
7
8
  import { geoTiffToDescriptor } from "./geotiff-tileset.js";
@@ -18,9 +19,14 @@ export class COGLayer extends RasterTileLayer {
18
19
  static defaultProps = {
19
20
  ...RasterTileLayer.defaultProps,
20
21
  epsgResolver,
22
+ concurrencyLimiter: DEFAULT_CONCURRENCY_LIMITER,
21
23
  };
22
24
  initializeState() {
23
- this.setState({});
25
+ this.setState({ abortController: new AbortController() });
26
+ }
27
+ finalizeState(context) {
28
+ this.state.abortController?.abort();
29
+ super.finalizeState(context);
24
30
  }
25
31
  updateState(params) {
26
32
  super.updateState(params);
@@ -42,11 +48,28 @@ export class COGLayer extends RasterTileLayer {
42
48
  });
43
49
  }
44
50
  async _parseGeoTIFF() {
45
- const geotiff = await fetchGeoTIFF(this.props.geotiff);
51
+ const signal = this.state.abortController?.signal;
52
+ let geotiff;
53
+ try {
54
+ geotiff = await fetchGeoTIFF(this.props.geotiff, {
55
+ concurrencyLimiter: this.props.concurrencyLimiter,
56
+ signal,
57
+ });
58
+ }
59
+ catch (err) {
60
+ // Layer removed mid-open (finalizeState aborted the signal); drop it.
61
+ if (signal?.aborted) {
62
+ return;
63
+ }
64
+ throw err;
65
+ }
46
66
  const crs = geotiff.crs;
47
67
  const sourceProjection = typeof crs === "number"
48
68
  ? await this.props.epsgResolver(crs)
49
69
  : parseWkt(crs);
70
+ if (signal?.aborted) {
71
+ return;
72
+ }
50
73
  // @ts-expect-error - proj4 typings are incomplete and don't support
51
74
  // wkt-parser input
52
75
  const converter4326 = proj4(sourceProjection, "EPSG:4326");
@@ -1 +1 @@
1
- {"version":3,"file":"cog-layer.js","sourceRoot":"","sources":["../src/cog-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cog-layer.js","sourceRoot":"","sources":["../src/cog-layer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { PerOriginSemaphore } from "@developmentseed/geotiff";
2
+ /**
3
+ * Shared default concurrency limiter for every COGLayer / MultiCOGLayer that
4
+ * doesn't override its `concurrencyLimiter` prop. A single module-level
5
+ * `PerOriginSemaphore({ maxRequests: 6 })` so two layers fetching from the
6
+ * same origin (e.g. the same S3 bucket) share *one* HTTP/1.1 connection
7
+ * pool. The cap matches Chrome's default per-origin HTTP/1.1 limit.
8
+ */
9
+ export declare const DEFAULT_CONCURRENCY_LIMITER: PerOriginSemaphore;
10
+ //# sourceMappingURL=default-concurrency-limiter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-concurrency-limiter.d.ts","sourceRoot":"","sources":["../src/default-concurrency-limiter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,oBAEtC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { PerOriginSemaphore } from "@developmentseed/geotiff";
2
+ /**
3
+ * Shared default concurrency limiter for every COGLayer / MultiCOGLayer that
4
+ * doesn't override its `concurrencyLimiter` prop. A single module-level
5
+ * `PerOriginSemaphore({ maxRequests: 6 })` so two layers fetching from the
6
+ * same origin (e.g. the same S3 bucket) share *one* HTTP/1.1 connection
7
+ * pool. The cap matches Chrome's default per-origin HTTP/1.1 limit.
8
+ */
9
+ export const DEFAULT_CONCURRENCY_LIMITER = new PerOriginSemaphore({
10
+ maxRequests: 6,
11
+ });
12
+ //# sourceMappingURL=default-concurrency-limiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-concurrency-limiter.js","sourceRoot":"","sources":["../src/default-concurrency-limiter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,kBAAkB,CAAC;IAChE,WAAW,EAAE,CAAC;CACf,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { RasterArray } from "@developmentseed/geotiff";
1
+ import type { ConcurrencyLimiter, Priority, RasterArray } from "@developmentseed/geotiff";
2
2
  import { GeoTIFF } from "@developmentseed/geotiff";
3
3
  import type { Converter } from "proj4";
4
4
  /**
@@ -8,7 +8,11 @@ import type { Converter } from "proj4";
8
8
  * already RGBA, it is returned unchanged.
9
9
  */
10
10
  export declare function addAlphaChannel(rgbImage: RasterArray): RasterArray;
11
- export declare function fetchGeoTIFF(input: GeoTIFF | string | URL | ArrayBuffer): Promise<GeoTIFF>;
11
+ export declare function fetchGeoTIFF(input: GeoTIFF | string | URL | ArrayBuffer, options?: {
12
+ concurrencyLimiter?: ConcurrencyLimiter | null;
13
+ getPriority?: () => Priority;
14
+ signal?: AbortSignal;
15
+ }): Promise<GeoTIFF>;
12
16
  /**
13
17
  * Calculate the WGS84 bounding box of a GeoTIFF image
14
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"geotiff.d.ts","sourceRoot":"","sources":["../../src/geotiff/geotiff.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,CAwClE;AAED,wBAAsB,YAAY,CAChC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,WAAW,GAC1C,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAsB9D"}
1
+ {"version":3,"file":"geotiff.d.ts","sourceRoot":"","sources":["../../src/geotiff/geotiff.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,QAAQ,EACR,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,CAwClE;AAED,wBAAsB,YAAY,CAChC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,GAAG,GAAG,WAAW,EAC3C,OAAO,GAAE;IACP,kBAAkB,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,QAAQ,CAAC;IAC7B,MAAM,CAAC,EAAE,WAAW,CAAC;CACjB,GACL,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAsB9D"}
@@ -43,9 +43,9 @@ export function addAlphaChannel(rgbImage) {
43
43
  throw new Error(`Unexpected number of channels in raster data: ${rgbImage.data.length / (height * width)}`);
44
44
  }
45
45
  }
46
- export async function fetchGeoTIFF(input) {
46
+ export async function fetchGeoTIFF(input, options = {}) {
47
47
  if (typeof input === "string" || input instanceof URL) {
48
- return await GeoTIFF.fromUrl(input);
48
+ return await GeoTIFF.fromUrl(input, options);
49
49
  }
50
50
  if (input instanceof ArrayBuffer) {
51
51
  return await GeoTIFF.fromArrayBuffer(input);
@@ -1 +1 @@
1
- {"version":3,"file":"geotiff.js","sourceRoot":"","sources":["../../src/geotiff/geotiff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geotiff.js","sourceRoot":"","sources":["../../src/geotiff/geotiff.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export type { COGLayerProps, GetTileDataOptions, } from "./cog-layer.js";
2
2
  export { COGLayer } from "./cog-layer.js";
3
+ export { DEFAULT_CONCURRENCY_LIMITER } from "./default-concurrency-limiter.js";
3
4
  export { addAlphaChannel } from "./geotiff/geotiff.js";
4
5
  export * as texture from "./geotiff/texture.js";
5
6
  export type { MosaicLayerProps } from "./mosaic-layer/mosaic-layer.js";
@@ -1 +1 @@
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"}
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,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,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
@@ -1,4 +1,5 @@
1
1
  export { COGLayer } from "./cog-layer.js";
2
+ export { DEFAULT_CONCURRENCY_LIMITER } from "./default-concurrency-limiter.js";
2
3
  export { addAlphaChannel } from "./geotiff/geotiff.js";
3
4
  export * as texture from "./geotiff/texture.js";
4
5
  export { MosaicLayer } from "./mosaic-layer/mosaic-layer.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
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
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,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"}
@@ -2,9 +2,10 @@ import type { CompositeLayerProps, Layer, LayerContext, LayersList, UpdateParame
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 type { ConcurrencyLimiter, Priority } from "@developmentseed/geotiff";
5
6
  import Flatbush from "flatbush";
6
7
  import type { MosaicSource } from "./mosaic-tileset-2d.js";
7
- export type MosaicLayerProps<MosaicT extends MosaicSource = MosaicSource, DataT = any> = CompositeLayerProps & Pick<TileLayerProps, "debounceTime" | "extent" | "maxCacheByteSize" | "maxCacheSize" | "maxRequests" | "maxZoom" | "minZoom"> & {
8
+ export type MosaicLayerProps<MosaicT extends MosaicSource = MosaicSource, DataT = any> = CompositeLayerProps & Pick<TileLayerProps, "extent" | "maxCacheByteSize" | "maxCacheSize" | "maxRequests" | "maxZoom" | "minZoom"> & {
8
9
  /**
9
10
  * List of mosaic sources to render.
10
11
  *
@@ -25,9 +26,32 @@ export type MosaicLayerProps<MosaicT extends MosaicSource = MosaicSource, DataT
25
26
  * arbitrary mutations of `sources`.
26
27
  */
27
28
  sources: MosaicT[];
29
+ /**
30
+ * Caps concurrent HTTP requests for this layer's source fetches.
31
+ *
32
+ * Defaults to a maximum of 6 concurrent requests per origin, which aligns
33
+ * with browser limits of 6 HTTP/1.1 requests per origin. If your sources
34
+ * support HTTP/2 or HTTP/3, you may want to increase this limit or disable
35
+ * it entirely by passing `null`.
36
+ */
37
+ concurrencyLimiter?: ConcurrencyLimiter | null;
28
38
  /** Fetch data for this source. */
29
39
  getSource?: (source: MosaicT, opts: {
30
40
  signal?: AbortSignal;
41
+ /**
42
+ * The layer's current `concurrencyLimiter` prop. Forward to
43
+ * {@link GeoTIFF.fromUrl}'s `concurrencyLimiter` option so this
44
+ * source's fetches join the shared per-origin queue.
45
+ */
46
+ concurrencyLimiter?: ConcurrencyLimiter | null;
47
+ /**
48
+ * Callback that provides dynamic priority for fetches related to this
49
+ * source.
50
+ *
51
+ * This is designed to re-sort the limiter's queue on viewport pan,
52
+ * preferring sources closer to the viewport center.
53
+ */
54
+ getPriority?: () => Priority;
31
55
  }) => Promise<DataT>;
32
56
  /** Render a source */
33
57
  renderSource: (source: MosaicT, opts: {
@@ -1 +1 @@
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
+ {"version":3,"file":"mosaic-layer.d.ts","sourceRoot":"","sources":["../../src/mosaic-layer/mosaic-layer.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,42 @@
1
- import { CompositeLayer } from "@deck.gl/core";
1
+ import { _GlobeViewport, CompositeLayer, WebMercatorViewport, } from "@deck.gl/core";
2
2
  import { TileLayer } from "@deck.gl/geo-layers";
3
3
  import Flatbush from "flatbush";
4
+ import { DEFAULT_CONCURRENCY_LIMITER } from "../default-concurrency-limiter.js";
4
5
  import { MosaicTileset2D } from "./mosaic-tileset-2d.js";
5
6
  const defaultProps = {
7
+ concurrencyLimiter: DEFAULT_CONCURRENCY_LIMITER,
6
8
  sources: [],
7
9
  };
10
+ /**
11
+ * Build the limiter `getPriority` callback for one mosaic source: euclidean
12
+ * distance from the source's bbox center to the current viewport center, in
13
+ * lon/lat degree-space (just an ordering key — great-circle isn't needed).
14
+ *
15
+ * `getViewport` is read on every call, so the limiter re-sorts its queue as
16
+ * the viewport pans, pulling newly-central sources ahead of edge sources.
17
+ *
18
+ * Returns `undefined` for non-geographic viewports — where the source bbox and
19
+ * viewport center don't share a coordinate space — so the limiter falls back
20
+ * to FIFO instead of comparing mismatched units. The viewport type is checked
21
+ * once here; it isn't expected to change under the layer.
22
+ */
23
+ function createGetPriorityCallback(bbox, getViewport) {
24
+ const viewport = getViewport();
25
+ if (!(viewport instanceof WebMercatorViewport) &&
26
+ !(viewport instanceof _GlobeViewport)) {
27
+ return undefined;
28
+ }
29
+ const [minX, minY, maxX, maxY] = bbox;
30
+ const sourceCx = (minX + maxX) / 2;
31
+ const sourceCy = (minY + maxY) / 2;
32
+ return () => {
33
+ // Geographic viewport (checked above); both types expose lon/lat.
34
+ const v = getViewport();
35
+ const dx = sourceCx - v.longitude;
36
+ const dy = sourceCy - v.latitude;
37
+ return Math.hypot(dx, dy);
38
+ };
39
+ }
8
40
  /**
9
41
  * A deck.gl layer for rendering a mosaic of raster sources.
10
42
  *
@@ -39,7 +71,7 @@ export class MosaicLayer extends CompositeLayer {
39
71
  this.setState({ index });
40
72
  }
41
73
  renderTileLayer(renderSource) {
42
- const { id, minZoom, maxZoom, debounceTime, extent, maxCacheByteSize, maxCacheSize, maxRequests, onSourceLoad, onSourceError, onSourceUnload, onViewportLoad, } = this.props;
74
+ const { id, concurrencyLimiter, extent, maxCacheByteSize, maxCacheSize, maxRequests, maxZoom, minZoom, onSourceLoad, onSourceError, onSourceUnload, onViewportLoad, } = this.props;
43
75
  // Arrow functions bind to the MosaicLayer instance, which deck.gl reuses
44
76
  // across prop updates — so `this.props` and `this.state` always reflect
45
77
  // the latest values when the tileset reads them.
@@ -53,21 +85,27 @@ export class MosaicLayer extends CompositeLayer {
53
85
  return new TileLayer({
54
86
  id: `mosaic-layer-${id}`,
55
87
  TilesetClass: MosaicTileset2DFactory,
56
- minZoom,
57
- maxZoom,
58
- debounceTime,
59
- extent,
60
- ...(maxCacheByteSize !== undefined && { maxCacheByteSize }),
61
- maxCacheSize,
62
- maxRequests,
88
+ ...omitUndefined({
89
+ minZoom,
90
+ maxZoom,
91
+ extent,
92
+ maxCacheByteSize,
93
+ maxCacheSize,
94
+ maxRequests,
95
+ }),
63
96
  getTileData: async (data) => {
64
97
  // We hard-cast this because TilesetClass is not generic.
65
98
  // MosaicTileset2D returns MosaicT in `index`, but TileLayer's typing
66
99
  // exposes only the plain `TileIndex` here.
67
100
  const index = data.index;
68
101
  const { signal } = data;
102
+ const getPriority = createGetPriorityCallback(index.bbox, () => this.context.viewport);
69
103
  const userData = this.props.getSource &&
70
- (await this.props.getSource(index, { signal }));
104
+ (await this.props.getSource(index, {
105
+ signal,
106
+ concurrencyLimiter,
107
+ getPriority,
108
+ }));
71
109
  return {
72
110
  source: index,
73
111
  data: userData,
@@ -124,4 +162,18 @@ export class MosaicLayer extends CompositeLayer {
124
162
  return this.renderTileLayer(renderSource);
125
163
  }
126
164
  }
165
+ /**
166
+ * Drop keys whose value is `undefined`.
167
+ *
168
+ * Passing down an explicit `undefined` will override any default prop values.
169
+ */
170
+ function omitUndefined(obj) {
171
+ const result = {};
172
+ for (const key in obj) {
173
+ if (obj[key] !== undefined) {
174
+ result[key] = obj[key];
175
+ }
176
+ }
177
+ return result;
178
+ }
127
179
  //# sourceMappingURL=mosaic-layer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mosaic-layer.js","sourceRoot":"","sources":["../../src/mosaic-layer/mosaic-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mosaic-layer.js","sourceRoot":"","sources":["../../src/mosaic-layer/mosaic-layer.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,cAAc,EACd,cAAc,EACd,mBAAmB,GACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAyGzD,MAAM,YAAY,GAA8B;IAC9C,kBAAkB,EAAE,2BAA2B;IAC/C,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,SAAS,yBAAyB,CAChC,IAA+C,EAC/C,WAA2B;IAE3B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IACE,CAAC,CAAC,QAAQ,YAAY,mBAAmB,CAAC;QAC1C,CAAC,CAAC,QAAQ,YAAY,cAAc,CAAC,EACrC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC;IACtC,MAAM,QAAQ,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAEnC,OAAO,GAAW,EAAE;QAClB,kEAAkE;QAClE,MAAM,CAAC,GAAG,WAAW,EAA0C,CAAC;QAChE,MAAM,EAAE,GAAG,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC;QAClC,MAAM,EAAE,GAAG,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,WAGX,SAAQ,cAAgD;IACxD,MAAM,CAAU,SAAS,GAAG,aAAa,CAAC;IAC1C,MAAM,CAAU,YAAY,GAAG,YAAY,CAAC;IAOnC,eAAe,CAAC,OAAqB;QAC5C,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEQ,WAAW,CAAC,MAA8B;QACjD,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE1B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAEnC,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;YACvC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,kBAAkB;QACxB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,KAAK,CAAC,MAAM,EAAE,CAAC;QAEf,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,eAAe,CACb,YAA8D;QAE9D,MAAM,EACJ,EAAE,EACF,kBAAkB,EAClB,MAAM,EACN,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,OAAO,EACP,OAAO,EACP,YAAY,EACZ,aAAa,EACb,cAAc,EACd,cAAc,GACf,GAAG,IAAI,CAAC,KAAK,CAAC;QAEf,yEAAyE;QACzE,wEAAwE;QACxE,iDAAiD;QACjD,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5C,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACxC,MAAM,sBAAuB,SAAQ,eAAwB;YAC3D,YAAY,IAAS;gBACnB,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;SACF;QAED,OAAO,IAAI,SAAS,CAIjB;YACD,EAAE,EAAE,gBAAgB,EAAE,EAAE;YACxB,YAAY,EAAE,sBAAsB;YACpC,GAAG,aAAa,CAAC;gBACf,OAAO;gBACP,OAAO;gBACP,MAAM;gBACN,gBAAgB;gBAChB,YAAY;gBACZ,WAAW;aACZ,CAAC;YACF,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,WAAW,GAAG,yBAAyB,CAC3C,KAAK,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAC5B,CAAC;gBACF,MAAM,QAAQ,GACZ,IAAI,CAAC,KAAK,CAAC,SAAS;oBACpB,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE;wBACjC,MAAM;wBACN,kBAAkB;wBAClB,WAAW;qBACZ,CAAC,CAAC,CAAC;gBAEN,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;YACD,GAAG,CAAC,YAAY,IAAI;gBAClB,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;oBACnB,mDAAmD;oBACnD,6DAA6D;oBAC7D,WAAW;oBACX,MAAM,MAAM,GAAG,IAAI,CAAC,KAA2B,CAAC;oBAChD,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrD,CAAC;aACF,CAAC;YACF,GAAG,CAAC,aAAa,IAAI;gBACnB,WAAW,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;oBAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,OAAO;oBACT,CAAC;oBACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAA2B,CAAC;oBAChD,aAAa,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBACnC,CAAC;aACF,CAAC;YACF,GAAG,CAAC,cAAc,IAAI;gBACpB,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;oBACrB,MAAM,MAAM,GAAG,IAAI,CAAC,KAA2B,CAAC;oBAChD,cAAc,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvD,CAAC;aACF,CAAC;YACF,GAAG,CAAC,cAAc,IAAI;gBACpB,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE;oBACxB,cAAc,CACZ,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;wBACnB,MAAM,EAAE,IAAI,CAAC,KAA2B;wBACxC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI;qBACzB,CAAC,CAAC,CACJ,CAAC;gBACJ,CAAC;aACF,CAAC;SACH,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;;AAGH;;;;GAIG;AACH,SAAS,aAAa,CAAmB,GAAM;IAC7C,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,8 +1,8 @@
1
- import type { CompositeLayerProps, Layer, UpdateParameters } from "@deck.gl/core";
1
+ import type { CompositeLayerProps, Layer, LayerContext, UpdateParameters } from "@deck.gl/core";
2
2
  import type { _Tile2DHeader as Tile2DHeader, TileLayerProps, _TileLoadProps as TileLoadProps } from "@deck.gl/geo-layers";
3
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
- import type { DecoderPool, GeoTIFF } from "@developmentseed/geotiff";
5
+ import type { ConcurrencyLimiter, DecoderPool, GeoTIFF } from "@developmentseed/geotiff";
6
6
  import type { EpsgResolver } from "@developmentseed/proj";
7
7
  import type { Texture } from "@luma.gl/core";
8
8
  /** Data returned per band from tile fetching. */
@@ -173,6 +173,15 @@ export type MultiCOGLayerProps = CompositeLayerProps & Pick<TileLayerProps, "deb
173
173
  * @default 1
174
174
  */
175
175
  debugLevel?: 1 | 2 | 3;
176
+ /**
177
+ * Caps concurrent HTTP requests for this layer's source fetches.
178
+ *
179
+ * Defaults to a maximum of 6 concurrent requests per origin, which aligns
180
+ * with browser limits of 6 HTTP/1.1 requests per origin. If your sources
181
+ * support HTTP/2 or HTTP/3, you may want to increase this limit or disable
182
+ * it entirely by passing `null`.
183
+ */
184
+ concurrencyLimiter?: ConcurrencyLimiter | null;
176
185
  };
177
186
  /**
178
187
  * A deck.gl {@link CompositeLayer} that opens multiple Cloud-Optimized GeoTIFFs
@@ -193,8 +202,12 @@ export declare class MultiCOGLayer extends RasterTileLayer<MultiTileResult, Mult
193
202
  state: {
194
203
  sources: Map<string, SourceState> | null;
195
204
  multiDescriptor: MultiRasterTilesetDescriptor | null;
205
+ /** Aborts the in-flight header reads when the layer is removed, freeing
206
+ * their limiter slots for fresh work. */
207
+ abortController?: AbortController;
196
208
  };
197
209
  initializeState(): void;
210
+ finalizeState(context: LayerContext): void;
198
211
  updateState({ changeFlags, props, oldProps, }: UpdateParameters<this>): void;
199
212
  /**
200
213
  * Open all configured COG sources in parallel, compute shared projection
@@ -1 +1 @@
1
- {"version":3,"file":"multi-cog-layer.d.ts","sourceRoot":"","sources":["../src/multi-cog-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-cog-layer.d.ts","sourceRoot":"","sources":["../src/multi-cog-layer.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { buildCompositeBandsProps, CompositeBands, } from "@developmentseed/deck
4
4
  import { assembleTiles, defaultDecoderPool } from "@developmentseed/geotiff";
5
5
  import { epsgResolver as defaultEpsgResolver, makeClampedForwardTo3857, metersPerUnit, parseWkt, } from "@developmentseed/proj";
6
6
  import proj4 from "proj4";
7
+ import { DEFAULT_CONCURRENCY_LIMITER } from "./default-concurrency-limiter.js";
7
8
  import { fetchGeoTIFF, getGeographicBounds } from "./geotiff/geotiff.js";
8
9
  import { geoTiffToDescriptor } from "./geotiff-tileset.js";
9
10
  /**
@@ -23,7 +24,34 @@ const defaultProps = {
23
24
  ...RasterTileLayer.defaultProps,
24
25
  epsgResolver: { type: "accessor", value: defaultEpsgResolver },
25
26
  debugLevel: { type: "number", value: 1 },
27
+ concurrencyLimiter: DEFAULT_CONCURRENCY_LIMITER,
26
28
  };
29
+ /**
30
+ * Open every configured source's GeoTIFF in parallel and resolve each one's
31
+ * projection. Returns `null` when `signal` aborts mid-open (the layer was
32
+ * removed), so the caller can bail without applying stale state.
33
+ */
34
+ async function openCogSources(entries, options) {
35
+ const { concurrencyLimiter, epsgResolver, signal } = options;
36
+ try {
37
+ return await Promise.all(entries.map(async ([name, config]) => {
38
+ const geotiff = await fetchGeoTIFF(config.url, {
39
+ concurrencyLimiter,
40
+ signal,
41
+ });
42
+ const crs = geotiff.crs;
43
+ const sourceProjection = typeof crs === "number" ? await epsgResolver(crs) : parseWkt(crs);
44
+ return { name, geotiff, sourceProjection };
45
+ }));
46
+ }
47
+ catch (err) {
48
+ // Layer removed mid-open (finalizeState aborted the signal); bail.
49
+ if (signal?.aborted) {
50
+ return null;
51
+ }
52
+ throw err;
53
+ }
54
+ }
27
55
  /**
28
56
  * A deck.gl {@link CompositeLayer} that opens multiple Cloud-Optimized GeoTIFFs
29
57
  * (COGs) in parallel, builds a {@link RasterTilesetDescriptor} for each, and groups
@@ -47,8 +75,15 @@ export class MultiCOGLayer extends RasterTileLayer {
47
75
  this.setState({
48
76
  sources: null,
49
77
  multiDescriptor: null,
78
+ // One controller for the layer's lifetime; aborted in finalizeState so
79
+ // header reads still in flight when the layer is removed are cancelled.
80
+ abortController: new AbortController(),
50
81
  });
51
82
  }
83
+ finalizeState(context) {
84
+ this.state.abortController?.abort();
85
+ super.finalizeState(context);
86
+ }
52
87
  updateState({ changeFlags, props, oldProps, }) {
53
88
  if (changeFlags.dataChanged || props.sources !== oldProps.sources) {
54
89
  // Reset state so renderLayers() returns null while we re-open COGs.
@@ -73,15 +108,18 @@ export class MultiCOGLayer extends RasterTileLayer {
73
108
  async _parseAllSources() {
74
109
  const { sources } = this.props;
75
110
  const entries = Object.entries(sources);
76
- // Open all COGs in parallel
77
- const cogSources = await Promise.all(entries.map(async ([name, config]) => {
78
- const geotiff = await fetchGeoTIFF(config.url);
79
- const crs = geotiff.crs;
80
- const sourceProjection = typeof crs === "number"
81
- ? await this.props.epsgResolver(crs)
82
- : parseWkt(crs);
83
- return { name, geotiff, sourceProjection };
84
- }));
111
+ if (entries.length === 0) {
112
+ return;
113
+ }
114
+ const signal = this.state.abortController?.signal;
115
+ const cogSources = await openCogSources(entries, {
116
+ concurrencyLimiter: this.props.concurrencyLimiter,
117
+ epsgResolver: this.props.epsgResolver,
118
+ signal,
119
+ });
120
+ if (cogSources === null) {
121
+ return;
122
+ }
85
123
  // Use the first source's projection for shared projection functions
86
124
  // (all sources must share the same CRS)
87
125
  const firstCogSource = cogSources[0];
@@ -118,6 +156,11 @@ export class MultiCOGLayer extends RasterTileLayer {
118
156
  sourceMap.set(cogSource.name, { geotiff: cogSource.geotiff });
119
157
  }
120
158
  const multiDescriptor = createMultiRasterTilesetDescriptor(tilesetMap);
159
+ // Layer was removed while we resolved projections; don't setState on a
160
+ // finalized layer.
161
+ if (signal?.aborted) {
162
+ return;
163
+ }
121
164
  this.setState({
122
165
  sources: sourceMap,
123
166
  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",
3
+ "version": "0.8.0-beta.2",
4
4
  "description": "GeoTIFF and Cloud-Optimized GeoTIFF visualization in deck.gl",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -33,22 +33,22 @@
33
33
  "url": "git+https://github.com/developmentseed/deck.gl-raster.git"
34
34
  },
35
35
  "devDependencies": {
36
- "@chunkd/source-file": "^11.2.0",
37
- "@types/node": "^25.6.0",
36
+ "@chunkd/source-file": "^11.2.1",
37
+ "@types/node": "^25.9.1",
38
38
  "jsdom": "^29.1.1",
39
39
  "typescript": "^6.0.3",
40
- "vitest": "^4.1.5"
40
+ "vitest": "^4.1.7"
41
41
  },
42
42
  "dependencies": {
43
43
  "@cogeotiff/core": "^9.5.0",
44
44
  "flatbush": "^4.5.1",
45
45
  "proj4": "^2.20.8",
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"
46
+ "@developmentseed/affine": "^0.8.0-beta.2",
47
+ "@developmentseed/geotiff": "^0.8.0-beta.2",
48
+ "@developmentseed/deck.gl-raster": "^0.8.0-beta.2",
49
+ "@developmentseed/proj": "^0.8.0-beta.2",
50
+ "@developmentseed/raster-reproject": "^0.8.0-beta.2",
51
+ "@developmentseed/morecantile": "^0.8.0-beta.2"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "@deck.gl/core": "^9.3.0",