Skip to main content

Type Alias: MultiCOGLayerProps

MultiCOGLayerProps = CompositeLayerProps & Pick<TileLayerProps, "debounceTime" | "maxCacheSize" | "maxCacheByteSize" | "maxRequests" | "refinementStrategy"> & object

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

Props accepted by MultiCOGLayer.

Extends CompositeLayerProps with multi-source COG configuration and optional tile-layer tuning knobs forwarded to the underlying TileLayerProps | TileLayer.

Type Declaration​

composite?​

optional composite?: object

Map source bands to RGB(A) output channels.

See​

buildCompositeBandsProps

composite.a?​

optional a?: string

composite.b?​

optional b?: string

composite.g?​

optional g?: string

composite.r​

r: string

concurrencyLimiter?​

optional concurrencyLimiter?: ConcurrencyLimiter | null

Caps concurrent HTTP requests for this layer's source fetches.

Defaults to a maximum of 6 concurrent requests per origin, which aligns with browser limits of 6 HTTP/1.1 requests per origin. If your sources support HTTP/2 or HTTP/3, you may want to increase this limit or disable it entirely by passing null.

debug?​

optional debug?: boolean

Enable debug overlay showing tile boundaries and metadata labels for all tilesets.

Default​

false

debugLevel?​

optional debugLevel?: 1 | 2 | 3

Controls how much detail is shown in debug text labels.

  • 1: tile index and resolution only
  • 2: adds UV transform and tile count
  • 3: adds stitched dimensions and meters/pixel

Default​

1

debugOpacity?​

optional debugOpacity?: number

Opacity of the reprojection mesh debug overlay. Only used when debug is true. Forwarded to the underlying RasterLayer.

Default​

0.5

epsgResolver?​

optional epsgResolver?: EpsgResolver

EPSG code resolver used to look up projection definitions for numeric CRS codes found in GeoTIFF metadata.

Default​

defaultEpsgResolver

See​

EpsgResolver

maxError?​

optional maxError?: number

Maximum reprojection error for mesh refinement: how far a tile's mesh may draw a point from where it belongs on the map, in output pixels (one input pixel's size on the map, normally at the center of the meshed area). Lower values create denser meshes with higher accuracy.

Default​

0.125

onGeoTIFFLoad?​

optional onGeoTIFFLoad?: (sources, options) => void

Called once all configured sources have been opened and the MultiRasterTilesetDescriptor has been built.

geographicBounds is computed from the primary (finest-resolution) source and reprojected to WGS84; it matches the shape returned by COGLayerProps.onGeoTIFFLoad and is suitable for passing to MapLibre's fitBounds.

Parameters​

sources​

Map<string, GeoTIFF>

options​
geographicBounds​

{ east: number; north: number; south: number; west: number; }

geographicBounds.east​

number

geographicBounds.north​

number

geographicBounds.south​

number

geographicBounds.west​

number

primaryKey​

string

Returns​

void

pool?​

optional pool?: DecoderPool

Decoder pool for parallel image chunk decompression.

See​

DecoderPool

renderPipeline?​

optional renderPipeline?: RasterModule[]

Post-processing render pipeline modules applied after compositing.

Modules see each band's samples in units that depend on its data type, so give values such as a nodata value or a rescale range in those units:

  • uint8 and uint16 bands are normalized to 0-1: a sample divided by 255 or 65535.

  • Every other type (signed integers, uint32 and floats) keeps its raw value.

    Support for these types is experimental, and the units they arrive in are likely to change.

See​

RasterModule

resampling?​

optional resampling?: "linear" | "nearest"

How band textures are resampled when drawn.

  • "linear" blends the four nearest pixels, for a smooth image.
  • "nearest" uses the single nearest pixel, so pixel edges stay sharp and every value drawn is a value in the data.

Use "nearest" with an exact-match nodata filter such as FilterNoDataVal: linear blending mixes the nodata value into the pixels around it, so those pixels no longer match it and are drawn as a rim around the nodata area.

Changing this prop updates tiles that are already loaded, without fetching them again.

A band whose texture format the device can't filter is always drawn with "nearest", such as a 16-bit band stored as 32-bit floats on a device without float filtering.

Default​

"linear"

signal?​

optional signal?: AbortSignal

AbortSignal to cancel loading of all sources.

sources​

sources: Record<string, MultiCOGSourceConfig>

Named sources -- each key becomes a band name used when compositing.

See​

MultiCOGSourceConfig

See​