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