Skip to main content

Class: AffineTilesetLevel

Defined in: packages/deck.gl-raster/src/raster-tileset/affine-tileset-level.ts:33

A RasterTilesetLevel described by a single affine transform plus tile and array sizes.

This handles axis-aligned, rotated, skewed, and non-square-pixel grids uniformly. Sources that fit this shape (tiled GeoTIFF overviews, GeoZarr multiscales) can construct one of these per resolution level instead of implementing RasterTilesetLevel manually.

Implements

Constructors

Constructor

new AffineTilesetLevel(options): AffineTilesetLevel

Defined in: packages/deck.gl-raster/src/raster-tileset/affine-tileset-level.ts:48

Parameters

options

AffineTilesetLevelOptions

Returns

AffineTilesetLevel

Properties

matrixHeight

readonly matrixHeight: number

Defined in: packages/deck.gl-raster/src/raster-tileset/affine-tileset-level.ts:37

Number of tiles down this level (rows).

Implementation of

RasterTilesetLevel.matrixHeight


matrixWidth

readonly matrixWidth: number

Defined in: packages/deck.gl-raster/src/raster-tileset/affine-tileset-level.ts:36

Number of tiles across this level (columns).

Implementation of

RasterTilesetLevel.matrixWidth


metersPerPixel

readonly metersPerPixel: number

Defined in: packages/deck.gl-raster/src/raster-tileset/affine-tileset-level.ts:38

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).

Implementation of

RasterTilesetLevel.metersPerPixel


projectedBounds

readonly projectedBounds: Bounds

Defined in: packages/deck.gl-raster/src/raster-tileset/affine-tileset-level.ts:43

Source-CRS bounding box of the level's array [minX, minY, maxX, maxY]. Computed from the affine applied to the four array corners.


tileHeight

readonly tileHeight: number

Defined in: packages/deck.gl-raster/src/raster-tileset/affine-tileset-level.ts:35

Height of each tile in pixels.

Implementation of

RasterTilesetLevel.tileHeight


tileWidth

readonly tileWidth: number

Defined in: packages/deck.gl-raster/src/raster-tileset/affine-tileset-level.ts:34

Width of each tile in pixels.

Implementation of

RasterTilesetLevel.tileWidth

Methods

crsBoundsToTileRange()

crsBoundsToTileRange(projectedMinX, projectedMinY, projectedMaxX, projectedMaxY): object

Defined in: packages/deck.gl-raster/src/raster-tileset/affine-tileset-level.ts:109

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

Implementation of

RasterTilesetLevel.crsBoundsToTileRange


projectedTileCorners()

projectedTileCorners(col, row): Corners

Defined in: packages/deck.gl-raster/src/raster-tileset/affine-tileset-level.ts:77

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

Corners

Implementation of

RasterTilesetLevel.projectedTileCorners


tileTransform()

tileTransform(col, row): object

Defined in: packages/deck.gl-raster/src/raster-tileset/affine-tileset-level.ts:90

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: ProjectionFunction

inverseTransform

inverseTransform: ProjectionFunction

Implementation of

RasterTilesetLevel.tileTransform