Class TLcdGeoSPOTRaster

All Implemented Interfaces:
ILcdRaster, ILcdBounded, ILcdCache

public class TLcdGeoSPOTRaster extends ALcdImageMosaic implements ILcdRaster
This ILcdRaster contains additional information about the GeoSPOT tile that it represents.

Since:
3.3
  • Constructor Details

    • TLcdGeoSPOTRaster

      public TLcdGeoSPOTRaster(ILcdBounds aBounds, ILcdTile[][] aTiles, double aPixelDensity, int aDefaultValue, ColorModel aColorModel, TLcdGeoSPOTRasterDescriptor aRasterDescriptor, ILcdModelReference aModelReference)
      Creates a new TLcdGeoSPOTRaster with a regular tiling.
      Parameters:
      aBounds - the bounds of the raster in model coordinates.
      aTiles - the array of tiles of the raster.
      aPixelDensity - an estimate of the number of pixels per unit area in model coordinates.
      aDefaultValue - a default value in case the raster cannot resolve a point.
      aColorModel - an optional ColorModel that overrides the ColorModel of the raster's tiles.
      aRasterDescriptor - the descriptor containing GeoSPOT metadata.
    • TLcdGeoSPOTRaster

      public TLcdGeoSPOTRaster(ILcdBounds aBounds, double aTileWidth, double aTileHeight, ILcdTile[][] aTiles, double aPixelDensity, int aDefaultValue, ColorModel aColorModel, TLcdGeoSPOTRasterDescriptor aRasterDescriptor, ILcdModelReference aModelReference)
      Creates a new TLcdGeoSPOTRaster. The tiling is regular, except possibly for the tiles in the right-most column and in the bottom row. If the sums of the tile widths and the tile heights extend beyond the bounds of the raster, the extending parts are considered to be padding and they are ignored.

      For a raster with a uniform pixel density, the tile width (and similarly the tile height) in model coordinates can be computed as follows:

      <tile width> = <tile width in pixels> / <raster width in pixels> * <raster width>

      Parameters:
      aBounds - the bounds of the raster in model coordinates.
      aTileWidth - the width of the tiles in model coordinates.
      aTileHeight - the height of the tiles in model coordinates.
      aTiles - the array of tiles of the raster.
      aPixelDensity - an estimate of the number of pixels per unit area in model coordinates.
      aDefaultValue - a default value in case the raster cannot resolve a point.
      aColorModel - an optional ColorModel that overrides the ColorModel of the raster's tiles.
      aRasterDescriptor - the descriptor containing GeoSPOT metadata.
  • Method Details

    • getGeoSPOTRasterDescriptor

      public TLcdGeoSPOTRasterDescriptor getGeoSPOTRasterDescriptor()
      Returns the descriptor containing GeoSPOT metadata.
    • getTileWidth

      public double getTileWidth()
      Description copied from interface: ILcdRaster
      Returns the width of a single tile, expressed in raster coordinates.

      Note that the tiles in the last (right-most) column can be smaller then other columns. The width of the last column is:

      
        getBounds().getWidth() - getTileWidth() * (getTileColumnCount() - 1)
       
      Specified by:
      getTileWidth in interface ILcdRaster
    • getTileHeight

      public double getTileHeight()
      Description copied from interface: ILcdRaster
      Returns the height of a single tile, expressed in raster coordinates.

      Note that the tiles in the last (bottom) row can be smaller then other rows. The height of the last row is:

      
        getBounds().getHeight() - getTileHeight() * (getTileRowCount() - 1)
       
      Specified by:
      getTileHeight in interface ILcdRaster
    • getTileRowCount

      public int getTileRowCount()
      Description copied from interface: ILcdRaster
      Returns the number of the tile rows in the raster.
      Specified by:
      getTileRowCount in interface ILcdRaster
    • getTileColumnCount

      public int getTileColumnCount()
      Description copied from interface: ILcdRaster
      Returns the number of the tile columns in the raster.
      Specified by:
      getTileColumnCount in interface ILcdRaster
    • getPixelDensity

      public double getPixelDensity()
      Description copied from interface: ILcdRaster
      Returns the average number of pixels per unit of area in raster coordinates.
      Specified by:
      getPixelDensity in interface ILcdRaster
    • getType

      public int getType()
      Description copied from interface: ILcdRaster
      Returns the internal storage type of the raster values.
      Specified by:
      getType in interface ILcdRaster
      Returns:
      one of ILcdTile.BYTE, ILcdTile.SHORT, or ILcdTile.INT.
    • getPixelSize

      public int getPixelSize()
      Description copied from interface: ILcdRaster
      Returns the pixel size of the tiles in this raster, expressed in bits.
      Specified by:
      getPixelSize in interface ILcdRaster
    • getDefaultValue

      public int getDefaultValue()
      Description copied from interface: ILcdRaster
      Returns the pixel value that is returned for points outside the bounds of the raster.
      Specified by:
      getDefaultValue in interface ILcdRaster
      See Also:
    • setDefaultValue

      public void setDefaultValue(int aValue)
      Description copied from interface: ILcdRaster
      Sets the pixel value that is returned for points outside the bounds of the raster.
      Specified by:
      setDefaultValue in interface ILcdRaster
      Parameters:
      aValue - the default pixel value.
    • retrieveTile

      public ILcdTile retrieveTile(int aRow, int aColumn)
      Description copied from interface: ILcdRaster
      Retrieves the specified tile.
      Specified by:
      retrieveTile in interface ILcdRaster
      Parameters:
      aRow - the row number of the tile in the grid of tiles, ranging between 0 and the number of rows minus 1.
      aColumn - the column number of the tile in the grid of tiles, ranging between 0 and the number of columns minus 1.
      Returns:
      the specified tile.
    • retrieveValue

      public int retrieveValue(double aX, double aY)
      Description copied from interface: ILcdRaster
      Retrieves the raster value at the specified location.
      Specified by:
      retrieveValue in interface ILcdRaster
      Parameters:
      aX - the x ordinate of the value, expressed in raster coordinates.
      aY - the y ordinate of the value, expressed in raster coordinates.
      Returns:
      the integer raster value at the specified location.
    • getColorModel

      public ColorModel getColorModel()
      Description copied from interface: ILcdRaster
      Returns the optional color model of the raster.
      Specified by:
      getColorModel in interface ILcdRaster
      Returns:
      the color model, or null if the raster doesn't have an explicit color model.
    • setColorModel

      public void setColorModel(ColorModel aColorModel)
      Description copied from interface: ILcdRaster
      Sets the ColorModel of the raster.
      Specified by:
      setColorModel in interface ILcdRaster
      Parameters:
      aColorModel - the color model.
    • getBounds

      public ILcdBounds getBounds()
      Description copied from class: ALcdImage
      Returns the bounds of the image. This method returns the same bounds that are also available in the image's configuration.
      Specified by:
      getBounds in interface ILcdBounded
      Overrides:
      getBounds in class ALcdImage
      Returns:
      the image's bounds
    • insertIntoCache

      public void insertIntoCache(Object aKey, Object aObject)
      Description copied from interface: ILcdCache
      Inserts a cache Object corresponding to the given key Object.
      Specified by:
      insertIntoCache in interface ILcdCache
      Parameters:
      aKey - the key Object that will be used to identify the Object. The key must therefore be a unique identifier, typically the caller itself: insertIntoCache(this, ...).
      aObject - the Object to be cached.
    • getCachedObject

      public Object getCachedObject(Object aKey)
      Description copied from interface: ILcdCache
      Looks up and returns the cached Object corresponding to the given key.
      Specified by:
      getCachedObject in interface ILcdCache
      Parameters:
      aKey - the key Object that was used for storing the cache Object.
      Returns:
      the cached Object, or null if there is no Object corresponding to the given key.
    • removeCachedObject

      public Object removeCachedObject(Object aKey)
      Description copied from interface: ILcdCache
      Looks up and removes the cached Object corresponding to the given key.
      Specified by:
      removeCachedObject in interface ILcdCache
      Parameters:
      aKey - the key Object that was used for storing the cache Object.
      Returns:
      the cached Object, or null if there was no Object corresponding to the given key.
    • clearCache

      public void clearCache()
      Description copied from interface: ILcdCache
      Clears the cache.
      Specified by:
      clearCache in interface ILcdCache
    • getTile

      public ALcdBasicImage getTile(long aTileX, long aTileY)
      Description copied from class: ALcdImageMosaic
      Returns a single tile from this image. May return 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.

      Specified by:
      getTile in class ALcdImageMosaic
      Parameters:
      aTileX - the tile x coordinate in [0, getConfiguration().getColumnCount()[
      aTileY - the tile y coordinate in [0, getConfiguration().getRowCount()[
      Returns:
      the tile or null
    • getConfiguration

      public ALcdImageMosaic.Configuration getConfiguration()
      Description copied from class: ALcdImageMosaic
      Returns an image configuration object describing the properties of this image mosaic's data.
      Specified by:
      getConfiguration in class ALcdImageMosaic
      Returns:
      the image's configuration