Pyramid
Description
Represents a pyramid of tile data. A tile pyramid is organized as a cubemap, where each cubemap face defines as quad-tree. The quad-tree nodes each hold a single data tile.
The topmost level (level index 0) contains only a single data tile: +---------------+ | | | | +---> tileX | | | | | | | | V | | tileY | | +---------------+ According to quad-tree semantics, each data tile is split into four children: +-------+-------+ | | | | | | +---> tileX | | | | +-------+-------+ | | | | V | | | tileY | | | +-------+-------+ This is done until the bottommost level (level count, minus one) is reached: +---+---+---+---+ | | | | | +---+---+---+---+ +---> tileX | | | | | | +---+---+---+---+ | | | | | | V +---+---+---+---+ tileY | | | | | +---+---+---+---+
Tile pyramids can be sparse, i.e. some tiles can be void. The pyramid flags (see Pyramid.Flags, Pyramid.Flags.Opaque) define how void tiles shall be handled during rendering.
+-------+-------+ +---+---+---+---+ | | | | | | | X | | | | +---+---+---+---+ | | | | | | | | +-------+-------+ +---+---+---+---+ X := void tiles | | | | X | X | | | | X | | +---+---+---+---+ | | | | X | X | | | +-------+-------+ +---+---+---+---+
Tile pyramids come in two flavours:
-
projected (i.e. rectangular)
-
unprojected (i.e. cubemap)
The georeference raster of a pyramid always spans the maximum pyramid level, independent of the actual pyramid size, assuming a tile pad of zero (see Pyramid.Info.pad ):
(0|0) : raster coordinates of top-left corner of top-left tile, on any level. (m|m) : raster coordinates of bottom-right corner of bottom-right tile, on any level.
where m
is 1073741824
. This means that the georeference raster has Coverage.Type.PixelIsPoint semantics.