Interface: TilesetLevel
Defined in: packages/deck.gl-raster/src/raster-tileset/tileset-interface.ts:9
A single zoom level in a generic raster tileset.
This interface abstracts over both TileMatrixSet levels and Zarr multiscale levels, enabling a single traversal algorithm to work with both.
Properties
crsBoundsToTileRange()
crsBoundsToTileRange: (
projectedMinX,projectedMinY,projectedMaxX,projectedMaxY) =>object
Defined in: packages/deck.gl-raster/src/raster-tileset/tileset-interface.ts:52
Get the range of tile indices that overlap a given CRS bounding box.
The returned range is inclusive on both ends: a consumer should
iterate for (let col = minCol; col <= maxCol; col++).
Used by the traversal algorithm to find child tiles from a parent tile's projected bounds.
Parameters
projectedMinX
number
projectedMinY
number
projectedMaxX
number
projectedMaxY
number
Returns
object
maxCol
maxCol:
number
maxRow
maxRow:
number
minCol
minCol:
number
minRow
minRow:
number
matrixHeight
matrixHeight:
number
Defined in: packages/deck.gl-raster/src/raster-tileset/tileset-interface.ts:14
Number of tiles down this level (rows).
matrixWidth
matrixWidth:
number
Defined in: packages/deck.gl-raster/src/raster-tileset/tileset-interface.ts:11
Number of tiles across this level (columns).
metersPerPixel
metersPerPixel:
number
Defined in: packages/deck.gl-raster/src/raster-tileset/tileset-interface.ts:28
Meters per pixel — used for LOD selection.
For TileMatrix: scaleDenominator * SCREEN_PIXEL_SIZE (0.00028 m).
For Zarr: sqrt(|scaleX * scaleY|) * mpu (meters per CRS unit).
projectedTileCorners()
projectedTileCorners: (
col,row) =>Corners
Defined in: packages/deck.gl-raster/src/raster-tileset/tileset-interface.ts:41
Get the projected bounding box of a tile in the source CRS.
The tileset is not guaranteed to be axis aligned, so this returns a rotated rectangle as four corners, which preserves rotation/skew information that would be lost in an axis-aligned bbox.
For TMS this delegates to xy_bounds(); for Zarr it uses affine math
directly. Using a function (rather than a stored affine) lets TMS handle
variable tile widths (coalesced rows) and bottomLeft origins cleanly.
Parameters
col
number
row
number
Returns
tileHeight
tileHeight:
number
Defined in: packages/deck.gl-raster/src/raster-tileset/tileset-interface.ts:20
Height of each tile in pixels.
tileTransform()
tileTransform: (
col,row) =>object
Defined in: packages/deck.gl-raster/src/raster-tileset/tileset-interface.ts:71
Get per-tile forward/inverse coordinate transforms for the tile at
(col, row).
forwardTransform(px, py)maps a pixel coordinate within the tile (origin at the top-left of the tile, (0,0) at the top-left pixel) to a coordinate in the source CRS.inverseTransform(cx, cy)is its inverse.
For axis-aligned tilesets these are affine; the interface allows non-affine transforms (e.g. GCPs) in the future.
Parameters
col
number
row
number
Returns
object
forwardTransform()
forwardTransform: (
x,y) => [number,number]
Parameters
x
number
y
number
Returns
[number, number]
inverseTransform()
inverseTransform: (
x,y) => [number,number]
Parameters
x
number
y
number
Returns
[number, number]
tileWidth
tileWidth:
number
Defined in: packages/deck.gl-raster/src/raster-tileset/tileset-interface.ts:17
Width of each tile in pixels.