@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.
- package/dist/cog-layer.d.ts +3 -3
- package/dist/cog-layer.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/mosaic-layer/mosaic-layer.d.ts +39 -4
- package/dist/mosaic-layer/mosaic-layer.d.ts.map +1 -1
- package/dist/mosaic-layer/mosaic-layer.js +67 -6
- package/dist/mosaic-layer/mosaic-layer.js.map +1 -1
- package/dist/mosaic-layer/mosaic-tileset-2d.d.ts +7 -16
- package/dist/mosaic-layer/mosaic-tileset-2d.d.ts.map +1 -1
- package/dist/mosaic-layer/mosaic-tileset-2d.js +34 -54
- package/dist/mosaic-layer/mosaic-tileset-2d.js.map +1 -1
- package/dist/multi-cog-layer.d.ts +8 -8
- package/dist/multi-cog-layer.d.ts.map +1 -1
- package/dist/multi-cog-layer.js +6 -6
- package/dist/multi-cog-layer.js.map +1 -1
- package/package.json +7 -7
- package/dist/geotiff-layer.d.ts +0 -90
- package/dist/geotiff-layer.d.ts.map +0 -1
- package/dist/geotiff-layer.js +0 -81
- package/dist/geotiff-layer.js.map +0 -1
- package/dist/geotiff-reprojection.d.ts +0 -13
- package/dist/geotiff-reprojection.d.ts.map +0 -1
- package/dist/geotiff-reprojection.js +0 -26
- package/dist/geotiff-reprojection.js.map +0 -1
package/dist/cog-layer.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { UpdateParameters } from "@deck.gl/core";
|
|
2
|
-
import type { MinimalTileData, GetTileDataOptions as RasterTileGetTileDataOptions, RasterTileLayerProps,
|
|
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?:
|
|
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():
|
|
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>`.
|
package/dist/cog-layer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cog-layer.d.ts","sourceRoot":"","sources":["../src/cog-layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,IAAI,4BAA4B,EAClD,oBAAoB,EACpB,
|
|
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,
|
|
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 {
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,kBAAkB,
|
|
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":"
|
|
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" | "
|
|
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.
|
|
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 `
|
|
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,
|
|
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
|
-
//
|
|
17
|
-
//
|
|
18
|
-
//
|
|
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":"
|
|
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
|
-
|
|
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 `
|
|
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
|
-
|
|
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
|
-
/**
|
|
55
|
-
|
|
56
|
-
|
|
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;
|
|
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
|
|
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
|
-
/**
|
|
9
|
-
|
|
10
|
-
|
|
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
|
|
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.
|
|
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 {
|
|
68
|
-
return {
|
|
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
|
|
81
|
-
if (
|
|
40
|
+
const index = this.getIndex();
|
|
41
|
+
if (!index) {
|
|
82
42
|
return [];
|
|
83
43
|
}
|
|
84
|
-
const
|
|
85
|
-
const indices =
|
|
86
|
-
|
|
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":"AAEA,OAAO,EAAE,UAAU,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,
|
|
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,
|
|
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
|
|
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
|
|
180
|
-
* them into a single {@link
|
|
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
|
|
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:
|
|
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
|
|
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():
|
|
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,
|
|
1
|
+
{"version":3,"file":"multi-cog-layer.d.ts","sourceRoot":"","sources":["../src/multi-cog-layer.ts"],"names":[],"mappings":"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"}
|
package/dist/multi-cog-layer.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PathLayer, TextLayer } from "@deck.gl/layers";
|
|
2
|
-
import {
|
|
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
|
|
30
|
-
* them into a single {@link
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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/
|
|
47
|
-
"@developmentseed/
|
|
48
|
-
"@developmentseed/
|
|
49
|
-
"@developmentseed/
|
|
50
|
-
"@developmentseed/
|
|
51
|
-
"@developmentseed/
|
|
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",
|
package/dist/geotiff-layer.d.ts
DELETED
|
@@ -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"}
|
package/dist/geotiff-layer.js
DELETED
|
@@ -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":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG9D,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAuEvE,MAAM,YAAY,GAAG;IACnB,YAAY;CACb,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,OAAO,YAAa,SAAQ,cAAiC;IACjE,MAAM,CAAU,SAAS,GAAG,cAAc,CAAC;IAC3C,MAAM,CAAU,YAAY,GAAG,YAAY,CAAC;IASnC,eAAe;QACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAEQ,WAAW,CAAC,MAA8B;QACjD,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE1B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAEhD,MAAM,WAAW,GACf,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC;YAChC,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO;YAClC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,CAAC;QAEvC,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACxB,MAAM,gBAAgB,GACpB,OAAO,GAAG,KAAK,QAAQ;YACrB,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,YAAa,CAAC,GAAG,CAAC;YACrC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAEpB,4EAA4E;QAC5E,SAAS;QACT,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;QAEvD,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAC7B,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACjE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE;gBAChC,UAAU,EAAE,gBAAgB;gBAC5B,gBAAgB;aACjB,CAAC,CAAC;QACL,CAAC;QAED,mCAAmC;QACnC,mEAAmE;QACnE,MAAM,eAAe,GAAG,MAAM,0BAA0B,CACtD,OAAO,EACP,gBAAgB,CACjB,CAAC;QAEF,wEAAwE;QACxE,yCAAyC;QACzC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAClE,gEAAgE;QAEhE,kBAAkB;QAClB,qBAAqB;QACrB,wBAAwB;QACxB,YAAY;QACZ,WAAW;QACX,MAAM;IACR,CAAC;IAED,YAAY;QACV,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAEjE,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAErD,OAAO,IAAI,WAAW,CACpB,IAAI,CAAC,gBAAgB,CAAC;YACpB,EAAE,EAAE,QAAQ;YACZ,KAAK;YACL,MAAM;YACN,eAAe;YACf,QAAQ;YACR,OAAO,EAAE,SAAS;YAClB,KAAK;YACL,YAAY;SACb,CAAC,CACH,CAAC;IACJ,CAAC"}
|
|
@@ -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"}
|