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
default<MultiCOGLayerProps>
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
staticdefaultProps: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
staticlayerName: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