Class ALcdRaster

java.lang.Object
com.luciad.format.raster.ALcdRaster
All Implemented Interfaces:
ILcdRaster, ILcdBounded, ILcdCache, ILcdDisposable, AutoCloseable
Direct Known Subclasses:
TLcdRaster

public abstract class ALcdRaster extends Object implements ILcdRaster, ILcdDisposable
Base class for ILcdRaster implementations.
Since:
2014.0
  • Constructor Details

    • ALcdRaster

      public ALcdRaster(ILcdBounds aBounds, double aTileWidth, double aTileHeight, double aPixelDensity, int aDefaultValue, ColorModel aColorModel)
      Creates a new ALcdRaster. 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.
      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.
  • Method Details

    • 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.
    • 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.
    • 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
    • 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
    • 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 aDefaultValue)
      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:
      aDefaultValue - the default pixel value.
    • 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.
    • getBounds

      public ILcdBounds getBounds()
      Description copied from interface: ILcdBounded
      Returns the ILcdBounds by which the geometry of this ILcdBounded object is bounded.

      If the geometry does not allow retrieving valid bounds (for example a polyline with 0 points) the return value is unspecified. It is highly recommended to return an undefined bounds. You can create undefined bounds using the default constructors of TLcdLonLatBounds or TLcdXYBounds.

      Specified by:
      getBounds in interface ILcdBounded
      Returns:
      the ILcdBounds by which the geometry of this ILcdBounded object is bounded.
    • 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
    • dispose

      public void dispose()
      Description copied from interface: ILcdDisposable

      Disposes of this object and allows it to release any system resources that it is holding.

      The result of calling any other method (other than finalize) on this object subsequent to a call to this method is undefined.

      Specified by:
      dispose in interface ILcdDisposable
    • 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