Class ALcdEarthTileSet

java.lang.Object
com.luciad.earth.tileset.ALcdEarthTileSet
All Implemented Interfaces:
ILcdEarthTileSet, ILcdBounded, ILcdDisposable, AutoCloseable
Direct Known Subclasses:
TLcdEarthAssetGXYViewTileSet, TLcdEarthAssetTerrainElevationTileSet, TLcdEarthCompositeImageTileSet, TLcdEarthCompositeTileSet, TLcdEarthGXYViewTileSet, TLcdEarthTerrainElevationTileSet, TLcdEarthTerrainHeightTileSet

public abstract class ALcdEarthTileSet extends Object implements ILcdEarthTileSet
Abstract base class for ILcdEarthTileSet implementations.
Since:
8.2
  • Constructor Details

    • ALcdEarthTileSet

      public ALcdEarthTileSet(int aLevels)
      Creates a tileset with the given number of levels and 2x2 tiles at level 0.
      Parameters:
      aLevels - The number of tile levels in this tileset.
    • ALcdEarthTileSet

      public ALcdEarthTileSet(int aLevels, long aLevel0Rows, long aLevel0Columns)
      Creates a tileset with the given number of levels and tile layout at level 0.Setting the tile layout at level 0 allows keeping the produced tiles approximately square if this tileset covers a non-rectangular region. For example using 2 rows and 4 columns at level 0 for a tileset that covers the entire planet results in square tiles (in a geodetic reference).
      Parameters:
      aLevels - The number of tile levels in this tileset.
      aLevel0Rows - The number of tile rows at level 0.
      aLevel0Columns - The number of tile columns at level 0.
      See Also:
  • Method Details

    • getTileColumnCount

      public long getTileColumnCount(int aLevel)
      Description copied from interface: ILcdEarthTileSet
      Returns the number of columns in the tile grid at the given level. Each level should have twice the number of columns of the previous one.
      Specified by:
      getTileColumnCount in interface ILcdEarthTileSet
      Parameters:
      aLevel - the level to be queried
      Returns:
      the number of tile columns on the specified level
    • updateTile

      public void updateTile(ALcdEarthTile aTile, TLcdEarthTileOperationMode aMode, ILcdEarthTileSetCallback aCallback, Object aContext)
      Description copied from interface: ILcdEarthTileSet
      Produces an updated version of the given tile, if necessary. Produces the same tile if the given tile is up to date.
      Specified by:
      updateTile in interface ILcdEarthTileSet
      Parameters:
      aTile - tile to check
      aMode - controls the synchronous or asynchronous behaviour of the tileset
      aCallback - will be invoked when the tile is available to be used
      aContext - application-specific data to be used by the tileset, if any
    • getTileRowCount

      public long getTileRowCount(int aLevel)
      Description copied from interface: ILcdEarthTileSet
      Returns the number of rows in the tile grid at the given level. Each level should have twice the number of rows of the previous one.
      Specified by:
      getTileRowCount in interface ILcdEarthTileSet
      Parameters:
      aLevel - the level to be queried
      Returns:
      the number of tile rows on the specified level
    • getLevelCount

      public int getLevelCount()
      Description copied from interface: ILcdEarthTileSet
      Returns the number of available detail levels. Level 0 is the coarsest level.
      Specified by:
      getLevelCount in interface ILcdEarthTileSet
      Returns:
      the number of available detail levels
    • getTileBoundsSFCT

      protected void getTileBoundsSFCT(int aLevel, long aTileX, long aTileY, ILcd2DEditableBounds aBoundsSFCT)
    • cancelTile

      public void cancelTile(int aLevel, long aTileX, long aTileY, ILcdEarthTileSetCoverage aCoverage, ILcdGeoReference aGeoReference, TLcdEarthTileFormat aFormat, ILcdEarthTileSetCallback aCallback, Object aContext)
      Description copied from interface: ILcdEarthTileSet
      Cancels any pending tile requests for the given parameters. This method is only meaningful in tilesets that support the asynchronous operation mode. If cancelTile() is called, the tileset is no longer required to invoke the ILcdEarthTileSetCallback for the tile in question. The tileset is not obligated to honor the cancelTile() request, but if cancelTile() is not called, then it is required to invoke the ILcdEarthTileSetCallback at some point.
      Specified by:
      cancelTile in interface ILcdEarthTileSet
      Parameters:
      aLevel - the level from which the tile is requested
      aTileX - the column index of the requested tile
      aTileY - the row index of the requested tile
      aCoverage - the coverage from which the tile is requested
      aGeoReference - the reference system in which the tile is requested
      aFormat - the format in which the tile is requested
      aCallback - would be invoked when the tile would have been available to be used
      aContext - application-specific data to be used by the tileset, if any
    • dispose

      public void dispose()
      Description copied from interface: ILcdEarthTileSet
      This method releases all resources held by the repository, such as file locks, threads or server connections.
      Specified by:
      dispose in interface ILcdDisposable
      Specified by:
      dispose in interface ILcdEarthTileSet
    • produceTile

      public ALcdEarthTile produceTile(ILcdEarthTileSetCoverage aCoverage, int aLevel, long aX, long aY, ILcdGeoReference aGeoReference, TLcdEarthTileFormat aFormat, Object aContext) throws IOException
      Description copied from interface: ILcdEarthTileSet
      Gets a tile from the repository.
      Specified by:
      produceTile in interface ILcdEarthTileSet
      Parameters:
      aCoverage - the coverage from which to query a tile
      aLevel - the detail level for which to query a tile
      aX - the column index at which to query a tile
      aY - the row index at which to query a tile
      aGeoReference - the georeference of the requested tile
      aFormat - the format of the requested tile
      aContext - application-specific data to be used by the tileset, if any
      Returns:
      the requested tile, or null if the repository does not contain this tile
      Throws:
      IOException - if the tile cannot be produced
    • containsTile

      public boolean containsTile(ILcdEarthTileSetCoverage aCoverage, int aLevel, long aX, long aY, Object aContext)
      Description copied from interface: ILcdEarthTileSet
      Returns true if the repository contains the specified tile.
      Specified by:
      containsTile in interface ILcdEarthTileSet
      Parameters:
      aCoverage - the coverage from which to query a tile
      aLevel - the detail level for which to query a tile
      aX - the column index at which to query a tile
      aY - the row index at which to query a tile
      aContext - application-specific data to be used by the tileset, if any
      Returns:
      true if the repository contains the requested tile
    • updateTile

      public ALcdEarthTile updateTile(ALcdEarthTile aEarthTile, Object aContext) throws IOException
      Description copied from interface: ILcdEarthTileSet
      Returns an updated version of the specified tile.
      Specified by:
      updateTile in interface ILcdEarthTileSet
      Parameters:
      aEarthTile - the tile to check
      aContext - application-specific data to be used by the tileset, if any
      Returns:
      the tile itself or a new, updated version
      Throws:
      IOException - if the tile cannot be updated
    • isFormatSupported

      public boolean isFormatSupported(ILcdEarthTileSetCoverage aCoverage, TLcdEarthTileFormat aFormat)
      Returns true only for the coverage's native format.
      Specified by:
      isFormatSupported in interface ILcdEarthTileSet
      Parameters:
      aCoverage - the coverage to check for
      aFormat - the format to check for
      Returns:
      true if the given coverage can be queried with the given format
    • isGeoReferenceSupported

      public boolean isGeoReferenceSupported(ILcdEarthTileSetCoverage aCoverage, ILcdGeoReference aGeoReference)
      Returns true only for the coverage's native georeference.
      Specified by:
      isGeoReferenceSupported in interface ILcdEarthTileSet
      Parameters:
      aCoverage - the coverage to check for
      aGeoReference - the reference to check for
      Returns:
      true if the given coverage can be queried with the given reference
    • containsTileSetCoverage

      public boolean containsTileSetCoverage(String aCoverageName)
      Description copied from interface: ILcdEarthTileSet
      Returns true if the repository contains a coverage with the specified name.
      Specified by:
      containsTileSetCoverage in interface ILcdEarthTileSet
      Parameters:
      aCoverageName - the name of the coverage to look for
      Returns:
      true if the repository contains a coverage with the specified name, false otherwise
    • getTileSetCoverage

      public ILcdEarthTileSetCoverage getTileSetCoverage(String aCoverageName)
      Description copied from interface: ILcdEarthTileSet
      Returns the tileset coverage with the specified name.
      Specified by:
      getTileSetCoverage in interface ILcdEarthTileSet
      Parameters:
      aCoverageName - the name of the coverage to look for
      Returns:
      the tileset coverage with the specified name