Skip to main content

Class: MultiCOGLayer

Defined in: packages/deck.gl-geotiff/src/multi-cog-layer.ts:300

A deck.gl CompositeLayer that opens multiple Cloud-Optimized GeoTIFFs (COGs) in parallel, builds a TilesetDescriptor for each, and groups them into a single MultiTilesetDescriptor.

The finest-resolution source is automatically selected as the primary tileset, which drives the tile grid. Secondary sources are sampled at the closest matching resolution.

See

  • MultiCOGLayerProps for accepted props.
  • createMultiTilesetDescriptor for the grouping logic.
  • geoTiffToDescriptor for the per-source tileset descriptor.

Extends

Properties

state

state: object

Defined in: packages/deck.gl-geotiff/src/multi-cog-layer.ts:304

forwardTo3857

forwardTo3857: ((x, y) => [number, number]) | null

Union Members
Function

(x, y) => [number, number]

Apply the forward projection from input CRS to output CRS.

Parameters
x

number

y

number

Returns

[number, number]


null

forwardTo4326

forwardTo4326: ((x, y) => [number, number]) | null

Union Members
Function

(x, y) => [number, number]

Apply the forward projection from input CRS to output CRS.

Parameters
x

number

y

number

Returns

[number, number]


null

inverseFrom3857

inverseFrom3857: ((x, y) => [number, number]) | null

Union Members
Function

(x, y) => [number, number]

Apply the inverse projection from output CRS back to input CRS.

Parameters
x

number

y

number

Returns

[number, number]


null

inverseFrom4326

inverseFrom4326: ((x, y) => [number, number]) | null

Union Members
Function

(x, y) => [number, number]

Apply the inverse projection from output CRS back to input CRS.

Parameters
x

number

y

number

Returns

[number, number]


null

multiDescriptor

multiDescriptor: MultiTilesetDescriptor | null

sources

sources: Map<string, SourceState> | null

Overrides

CompositeLayer.state


defaultProps

static defaultProps: object

Defined in: packages/deck.gl-geotiff/src/multi-cog-layer.ts:302

debug

debug: object

debug.type

type: "boolean"

debug.value

value: boolean = false

debugLevel

debugLevel: object

debugLevel.type

type: "number"

debugLevel.value

value: number = 1

debugOpacity

debugOpacity: object

debugOpacity.type

type: "number"

debugOpacity.value

value: number = 0.5

epsgResolver

epsgResolver: object

epsgResolver.type

type: "accessor"

epsgResolver.value

value: (epsg) => Promise<ProjectionDefinition> = defaultEpsgResolver

Parameters
epsg

number

Returns

Promise<ProjectionDefinition>

maxError

maxError: object

maxError.type

type: "number"

maxError.value

value: number = 0.125

Overrides

CompositeLayer.defaultProps


layerName

static layerName: string = "MultiCOGLayer"

Defined in: packages/deck.gl-geotiff/src/multi-cog-layer.ts:301

Overrides

CompositeLayer.layerName

Methods

_getTileData()

_getTileData(tile): Promise<MultiTileResult>

Defined in: packages/deck.gl-geotiff/src/multi-cog-layer.ts:454

Fetch tile data for all configured sources at the given tile index.

Primary-grid sources are fetched directly at (x, y, z). Secondary sources are resolved to covering tiles at the closest matching zoom level, fetched (potentially multiple tiles), stitched if necessary, and returned with the appropriate UV transform.

Parameters

tile

TileLoadProps

Tile load props from the TileLayer, containing index and signal.

Returns

Promise<MultiTileResult>

Per-band textures, UV transforms, and reprojection functions.


_parseAllSources()

_parseAllSources(): Promise<void>

Defined in: packages/deck.gl-geotiff/src/multi-cog-layer.ts:350

Open all configured COG sources in parallel, compute shared projection functions, and build the MultiTilesetDescriptor.

All sources are assumed to share the same CRS; the projection of the first source is used for the shared coordinate converters.

Returns

Promise<void>

Resolves when all sources have been opened and state has been set.


_renderSubLayers()

_renderSubLayers(props, forwardTo4326, inverseFrom4326, forwardTo3857, inverseFrom3857): Layer<{ }> | LayersList | null

Defined in: packages/deck.gl-geotiff/src/multi-cog-layer.ts:718

Create sub-layers for a single loaded tile.

Builds a RasterLayer with reprojection functions and a render pipeline that starts with a CompositeBands module binding all band textures, followed by any user-provided pipeline modules.

Parameters

props

LayerProps & object & _TileLayerProps<MultiTileResult> & object

forwardTo4326

(x, y) => [number, number]

inverseFrom4326

(x, y) => [number, number]

forwardTo3857

(x, y) => [number, number]

inverseFrom3857

(x, y) => [number, number]

Returns

Layer<{ }> | LayersList | null


initializeState()

initializeState(): void

Defined in: packages/deck.gl-geotiff/src/multi-cog-layer.ts:313

Returns

void

Overrides

CompositeLayer.initializeState


renderLayers()

renderLayers(): Layer<{ }> | LayersList | null

Defined in: packages/deck.gl-geotiff/src/multi-cog-layer.ts:1047

Returns

Layer<{ }> | LayersList | null

Overrides

CompositeLayer.renderLayers


renderTileLayer()

renderTileLayer(multiDescriptor, forwardTo4326, inverseFrom4326, forwardTo3857, inverseFrom3857): TileLayer

Defined in: packages/deck.gl-geotiff/src/multi-cog-layer.ts:992

Build the tile layer that drives tile traversal and rendering.

Creates a RasterTileset2D factory from the primary tileset, then returns a TileLayer wired up with tile fetching and sub-layer rendering.

Parameters

multiDescriptor

MultiTilesetDescriptor

forwardTo4326

(x, y) => [number, number]

inverseFrom4326

(x, y) => [number, number]

forwardTo3857

(x, y) => [number, number]

inverseFrom3857

(x, y) => [number, number]

Returns

TileLayer


updateState()

updateState(__namedParameters): void

Defined in: packages/deck.gl-geotiff/src/multi-cog-layer.ts:324

Default implementation, all attributes will be invalidated and updated when data changes

Parameters

__namedParameters

UpdateParameters<MultiCOGLayer>

Returns

void

Overrides

CompositeLayer.updateState