public abstract class ALcdImageMosaic extends ALcdImage
ALcdBasicImage
s. Each image in the grid is called a tile.
Some important properties of a mosaic are:
geographical bounds
and the individual tiles are ordered as in the model reference:
bounds's location
(e.g. the lower-left corner of the bounds)ALcdBasicImage
are ordered in the opposite direction vertically.
All tiles cover a geographic area of the same size, except for the first and last tile rows and columns. This is indicated by
ALcdImageMosaic.Configuration.getTileGridBounds()
.
The following image shows a 2x2 area-sampled mosaic image. The tile (0,0) is in the lower-left corner. It is sparse because the tile (1,0) is missing. It has variable resolution because the tiles have a different number of pixels.
You can obtain an image mosaic from one of the model decoders, by implementing this interface or by using one of the available builders:
TLcdImageMosaicBuilder
: image mosaic and multi-level image mosaicsTLcdRasterImageBuilder
: adapt a legacy rasterTLcdEarthImageBuilder
: adapt a legacy tile setModifier and Type | Class and Description |
---|---|
static class |
ALcdImageMosaic.Configuration
Describes the configuration of an ALcdImageMosaic.
|
IMAGE_DATA_TYPE
Modifier | Constructor and Description |
---|---|
protected |
ALcdImageMosaic()
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
abstract ALcdImageMosaic.Configuration |
getConfiguration()
Returns an image configuration object describing the properties of this
image mosaic's data.
|
abstract ALcdBasicImage |
getTile(long aTileX,
long aTileY)
Returns a single tile from this image.
|
asMultilevelMosaic, fromDomainObject, getBounds
public abstract ALcdBasicImage getTile(long aTileX, long aTileY)
null
if no data
is available. If the supplied sampling parameters allow it, however, the
image may also create a new tile by extrapolating data from other levels
of detail.
Note that this method may require costly IO. Even if data is loaded lazily then some IO may still be required to
determine if the tile exists or not. So typically this method should not be invoked from the paint thread. Also
note that a mosaic may contain many tiles (ex. millions) so iterating over all tiles may take a very long time.aTileX
- the tile x coordinate in [0, getConfiguration().getColumnCount()[
aTileY
- the tile y coordinate in [0, getConfiguration().getRowCount()[
null
public abstract ALcdImageMosaic.Configuration getConfiguration()
getConfiguration
in class ALcdImage