uk.ac.leeds.ccg.andyt.grids.core
Class Grid2DSquareCellInt

java.lang.Object
  extended by uk.ac.leeds.ccg.andyt.grids.utilities.ErrorHandler
      extended by uk.ac.leeds.ccg.andyt.grids.core.Grid2DSquareCellAbstract
          extended by uk.ac.leeds.ccg.andyt.grids.core.Grid2DSquareCellInt
All Implemented Interfaces:
java.io.Serializable

public class Grid2DSquareCellInt
extends Grid2DSquareCellAbstract
implements java.io.Serializable

A class to represent and manipulate int precision Grid2DSquareCellAbstract instances.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class uk.ac.leeds.ccg.andyt.grids.core.Grid2DSquareCellAbstract
Grid2DSquareCellAbstract.CellID, Grid2DSquareCellAbstract.ChunkID
 
Field Summary
 
Fields inherited from class uk.ac.leeds.ccg.andyt.grids.core.Grid2DSquareCellAbstract
chunkNcols, chunkNrows, dimensions, dimensionsScale, directory, grid2DSquareCellChunks, gridStatistics, name, nChunkCols, nChunkRows, ncols, nrows, unsignedLongPowersOf2
 
Fields inherited from class uk.ac.leeds.ccg.andyt.grids.utilities.ErrorHandler
handleOutOfMemoryErrorFalse, handleOutOfMemoryErrorTrue, memoryReserve
 
Constructor Summary
  Grid2DSquareCellInt()
          Creates a new Grid2DSquareCellInt0
protected Grid2DSquareCellInt(java.io.File directory, java.io.File gridFile, java.io.ObjectInputStream ois)
          Creates a new Grid2DSquareCellInt.
  Grid2DSquareCellInt(GridStatisticsAbstract gridStatistics, java.io.File directory, java.io.File gridFile, Grid2DSquareCellIntChunkAbstractFactory grid2DSquareCellIntChunkFactory, int chunkNrows, int chunkNcols, long startRowIndex, long startColIndex, long endRowIndex, long endColIndex)
          Returns a new Grid2DSquareCellInt with values obtained from gridFile.
  Grid2DSquareCellInt(GridStatisticsAbstract gridStatistics, java.io.File directory, Grid2DSquareCellAbstract grid2DSquareCell, Grid2DSquareCellIntChunkAbstractFactory grid2DSquareCellIntChunkFactory, int chunkNrows, int chunkNcols, long startRowIndex, long startColIndex, long endRowIndex, long endColIndex)
          Creates a new Grid2DSquareCellInt based on values in grid2DSquareCell.
protected Grid2DSquareCellInt(GridStatisticsAbstract gridStatistics, java.io.File directory, Grid2DSquareCellIntChunkAbstractFactory grid2DSquareCellIntChunkFactory, int chunkNrows, int chunkNcols, long nrows, long ncols, java.math.BigDecimal[] dimensions)
          Creates a new Grid2DSquareCellInt with each cell value equal to Integer.MinValue.
 
Method Summary
 int addToCell(double x, double y, int valueToAdd, boolean handleOutOfMemoryError)
          Returns current value of cell containing the point given by x-coordinate x, y-coordinate y, and adds valueToAdd to that cell.
 int addToCell(Grid2DSquareCellAbstract.CellID cellID, int valueToAdd, boolean handleOutOfMemoryError)
          Returns the value of the cell with cell ID cellID and adds valueToAdd to that cell.
 int addToCell(long cellRowIndex, long cellColIndex, int valueToAdd, boolean handleOutOfMemoryError)
          Returns current value of cell with row index rowIndex and column index colIndex and adds valueToAdd to that cell.
 void clear()
          TODO: Clears all resources to do with this.
 int getCell(double x, double y, boolean handleOutOfMemoryError)
          For returning the value of the cell containing point given by x-coordinate x, y-coordinate y as a int.
 int getCell(Grid2DSquareCellAbstract.CellID cellID)
          For returning the value of the cell with cell ID cellID as a int.
 int getCell(Grid2DSquareCellIntChunkAbstract grid2DSquareCellChunk, int chunkRowIndex, int chunkColIndex, int chunkCellRowIndex, int chunkCellColIndex, boolean handleOutOfMemoryError)
          Returns the value at cellRowIndex, cellColIndex.
 int getCell(long cellRowIndex, long cellColIndex, boolean handleOutOfMemoryError)
          Returns the value at cellRowIndex, cellColIndex else returns noDataValue.
 int[] getCells(double x, double y, double distance, boolean handleOutOfMemoryError)
          Returns a int[] of all cell values for cells thats centroids are intersected by circle with centre at x-coordinate x, y-coordinate y, and radius distance.
protected  int[] getCells(double x, double y, long cellRowIndex, long cellColIndex, double distance, boolean handleOutOfMemoryError)
          Returns a int[] of all cell values for cells thats centroids are intersected by circle with centre at x-coordinate x, y-coordinate y, and radius distance.
 int[] getCells(long cellRowIndex, long cellColIndex, double distance, boolean handleOutOfMemoryError)
          Returns a int[] of all cell values for cells thats centroids are intersected by circle with centre at centroid of cell given by cell row index cellRowIndex, cell column index cellColIndex, and radius distance.
 Grid2DSquareCellIntChunkAbstract getGrid2DSquareCellIntChunk(Grid2DSquareCellAbstract.ChunkID chunkID, boolean handleOutOfMemoryError)
          Returns grid2DSquareCellIntChunksAbstract for the given ChunkID
 Grid2DSquareCellIntChunkAbstract getGrid2DSquareCellIntChunk(int chunkRowIndex, int chunkColIndex, boolean handleOutOfMemoryError)
          Returns grid2DSquareCellIntChunks.
 double getNearestValueDouble(double x, double y, boolean handleOutOfMemoryError)
          Returns the average of the nearest data values to point given by x-coordinate x, y-coordinate y as a double.
protected  double getNearestValueDouble(double x, double y, long cellRowIndex, long cellColIndex, int noDataValue, boolean handleOutOfMemoryError)
          Returns the average of the nearest data values to point given by x-coordinate x, y-coordinate y in position given by row index rowIndex, column index colIndex as a double.
 double getNearestValueDouble(long cellRowIndex, long cellColIndex, boolean handleOutOfMemoryError)
          Returns the average of the nearest data values to position given by row index rowIndex, column index colIndex as a double.
 double getNearestValueDoubleDistance(double x, double y, boolean handleOutOfMemoryError)
          Returns the distance to the nearest data value from point given by x-coordinate x, y-coordinate y.
protected  double getNearestValueDoubleDistance(double x, double y, long cellRowIndex, long cellColIndex, int noDataValue, boolean handleOutOfMemoryError)
          Returns the distance to the nearest data value from point given by x-coordinate x, y-coordinate y in position given by row index rowIndex, column index colIndex.
 double getNearestValueDoubleDistance(long cellRowIndex, long cellColIndex, boolean handleOutOfMemoryError)
          Returns the distance to the nearest data value from position given by row index rowIndex, column index colIndex.
 Grid2DSquareCellAbstract.CellID[] getNearestValuesCellIDs(double x, double y, boolean handleOutOfMemoryError)
          Returns a CellID[] - The CellIDs of the nearest cells with data values to point given by x-coordinate x, y-coordinate y.
protected  Grid2DSquareCellAbstract.CellID[] getNearestValuesCellIDs(double x, double y, long cellRowIndex, long cellColIndex, int noDataValue, boolean handleOutOfMemoryError)
          Returns a CellID[] - The CellIDs of the nearest cells with data values nearest to point with position given by: x-coordinate x, y-coordinate y; and, cell row index cellRowIndex, cell column index cellColIndex.
 Grid2DSquareCellAbstract.CellID[] getNearestValuesCellIDs(long cellRowIndex, long cellColIndex, boolean handleOutOfMemoryError)
          Returns a CellID[] - The CellIDs of the nearest cells with data values to position given by row index rowIndex, column index colIndex.
 int getNoDataValue(boolean handleOutOfMemoryError)
          Returns this.noDataValue.
 java.math.BigDecimal getNoDataValueBigDecimal(boolean handleOutOfMemoryError)
          Returns the this.noDataValue converted to a BigDecimal.
protected  void initAll(Grid2DSquareCellAbstract grid2DSquareCell)
          Initialises all fields from an existing instance.
protected  void initCell(long cellRowIndex, long cellColIndex, int valueToInitialise, boolean handleOutOfMemoryError)
          Initilises the value at cellRowIndex, cellColIndex
protected  void initCellFast(long cellRowIndex, long cellColIndex, int valueToInitialise, boolean handleOutOfMemoryError)
          Initilises the value at cellRowIndex, cellColIndex and does nothing about this.gridStatistics
 java.util.Iterator iterator(boolean handleOutOfMemoryError)
          Returns an iterator over the cell value in this.
 int setCell(double x, double y, int newValue, boolean handleOutOfMemoryError)
          For returning the value at x-coordinate x, y-coordinate y and setting it to newValue.
 int setCell(Grid2DSquareCellAbstract.CellID cellID, int newValue, boolean handleOutOfMemoryError)
          For returning the value of the cell with cell ID cellID and setting it to newValue.
 int setCell(Grid2DSquareCellIntChunkAbstract grid2DSquareCellChunk, int chunkRowIndex, int chunkColIndex, int chunkCellRowIndex, int chunkCellColIndex, int newValue, boolean handleOutOfMemoryError)
          Returns the value at cellRowIndex, cellColIndex and sets it to newValue.
 int setCell(int chunkRowIndex, int chunkColIndex, int chunkCellRowIndex, int chunkCellColIndex, int newValue, boolean handleOutOfMemoryError)
          For returning the value of the cell in chunk given by chunkRowIndex and chunkColIndex and cell in the chunk given by chunkCellColIndex and chunkCellRowIndex and setting it to newValue.
 int setCell(long cellRowIndex, long cellColIndex, int newValue, boolean handleOutOfMemoryError)
          For returning the value at cellRowIndex, cellColIndex and setting it to newValue.
 java.lang.String toString(boolean handleOutOfMemoryError)
          Returns a string description of the instance.
 
Methods inherited from class uk.ac.leeds.ccg.andyt.grids.core.Grid2DSquareCellAbstract
cache, cacheAndClearChunks, cacheChunk, cacheChunk, cacheChunk, cacheChunkExcept, cacheChunkExcept, cacheChunkExceptReverseOrder, cacheChunkExceptReverseOrder, cacheChunks, cacheChunks, cacheChunksExcept, cacheChunksExcept, clearChunk, clearChunk, clearChunkExcept, clearChunks, clearChunks, clearChunksExcept, clearChunksExcept, getCellBoundsDoubleArray, getCellBoundsDoubleArray, getCellColIndex, getCellColIndex, getCellDouble, getCellDouble, getCellDouble, getCellDouble, getCellID, getCellID, getCellIDs, getCellIDs, getCellIDs, getCellInt, getCellInt, getCellInt, getCellRowIndex, getCellRowIndex, getCellsizeDouble, getCellX, getCellX, getCellXBigDecimal, getCellXBigDecimal, getCellXDouble, getCellXDouble, getCellY, getCellY, getCellYBigDecimal, getCellYBigDecimal, getCellYDouble, getCellYDouble, getChunkCellColIndex, getChunkCellColIndex, getChunkCellRowIndex, getChunkCellRowIndex, getChunkColIndex, getChunkColIndex, getChunkNcols, getChunkNcols, getChunkNcolsFinalColChunks, getChunkNrows, getChunkNrows, getChunkNrowsFinalRowChunks, getChunkRowIndex, getChunkRowIndex, getDimensions, getDimensionsScale, getDirectory, getGrid2DSquareCellChunk, getGrid2DSquareCellChunk, getGrid2DSquareCellChunks, getGridBounds, getGridStatistics, getHeightBigDecimal, getHeightDouble, getName, getNChunkCols, getNChunkRows, getNcols, getNearestCellID, getNearestCellID, getNearestCellID, getNextChunk, getNextChunkRowMinor, getNoDataValueDouble, getNrows, getPreviousChunk, getWidthBigDecimal, getWidthDouble, inGrid, inGrid, inGrid, inGrid, inGrid, inGrid, inGrid, initAll, initChunkNcols, initChunkNrows, initDimensions, initNChunkCols, initNChunkRows, initNcols, initNrows, isCached, restoreChunk, restoreChunk, setChunk, setName, toString
 
Methods inherited from class uk.ac.leeds.ccg.andyt.grids.utilities.ErrorHandler
clearMemoryReserve, initMemoryReserve, initMemoryReserve
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Grid2DSquareCellInt

public Grid2DSquareCellInt()
Creates a new Grid2DSquareCellInt0


Grid2DSquareCellInt

protected Grid2DSquareCellInt(java.io.File directory,
                              java.io.File gridFile,
                              java.io.ObjectInputStream ois)
Creates a new Grid2DSquareCellInt. Warning: Concurrent modification problems are likely to arise if directory is that of another Grid2DSquareCellAbstract in use. If a completely new instance is wanted then use: Grid2DSquareCellInt(GridStatisticsAbstract,File,Grid2DSquareCellAbstract, Grid2DSquareCellIntChunkAbstractFactory,int,int.long,long,long,long, double)

Parameters:
directory - The File directory to be used for caching information and data about this.
gridFile - The File that ois was constructed from.
ois - The ObjectInputStream used in first attempt to construct this. TODO 1. check - is directory used?

Grid2DSquareCellInt

protected Grid2DSquareCellInt(GridStatisticsAbstract gridStatistics,
                              java.io.File directory,
                              Grid2DSquareCellIntChunkAbstractFactory grid2DSquareCellIntChunkFactory,
                              int chunkNrows,
                              int chunkNcols,
                              long nrows,
                              long ncols,
                              java.math.BigDecimal[] dimensions)
Creates a new Grid2DSquareCellInt with each cell value equal to Integer.MinValue. N.B. This method can be used to test which type of chunks are more efficient in different situations. If this becomes clear then it may be possible to automatically optimise chunk storage. Although, optimisiation is going to be difficult owing to the trade off between fast access and low memory.

Parameters:
gridStatistics - The GridStatisticsAbstract to accompany this.
directory - The directory to be used for caching data.
grid2DSquareCellIntChunkFactory - The Grid2DSquareCellIntChunkAbstractFactory prefered for creating chunks.
chunkNrows - The number of rows of cells in any chunk.
chunkNcols - The number of columns of cells in any chunk.
nrows - The number of rows of cells.
ncols - The number of columns of cells.
dimensions - The cellsize, xmin, ymin, xmax and ymax.

Grid2DSquareCellInt

public Grid2DSquareCellInt(GridStatisticsAbstract gridStatistics,
                           java.io.File directory,
                           Grid2DSquareCellAbstract grid2DSquareCell,
                           Grid2DSquareCellIntChunkAbstractFactory grid2DSquareCellIntChunkFactory,
                           int chunkNrows,
                           int chunkNcols,
                           long startRowIndex,
                           long startColIndex,
                           long endRowIndex,
                           long endColIndex)
Creates a new Grid2DSquareCellInt based on values in grid2DSquareCell.

Parameters:
gridStatistics - The GridStatisticsAbstract to accompany this.
directory - Cache directory.
grid2DSquareCell - The Grid2DSquareCellAbstract from which this will be constructed.
grid2DSquareCellIntChunkFactory - The Grid2DSquareCellIntChunkAbstractFactory prefered to construct chunks of this.
chunkNrows - The number of rows of cells in any chunk.
chunkNcols - The number of columns of cells in any chunk.
startRowIndex - The inputGrid row index which is the bottom most row of this.
startColIndex - The inputGrid column index which is the left most column of this.
endRowIndex - The inputGrid row index which is the top most row of this.
endColIndex - The inputGrid column index which is the right most column of this.

Grid2DSquareCellInt

public Grid2DSquareCellInt(GridStatisticsAbstract gridStatistics,
                           java.io.File directory,
                           java.io.File gridFile,
                           Grid2DSquareCellIntChunkAbstractFactory grid2DSquareCellIntChunkFactory,
                           int chunkNrows,
                           int chunkNcols,
                           long startRowIndex,
                           long startColIndex,
                           long endRowIndex,
                           long endColIndex)
Returns a new Grid2DSquareCellInt with values obtained from gridFile. Currently gridFile must be a directory of a Grid2DSquareCellDouble or Grid2DSquareCellInt or a ESRI Asciigrid format Files with a name ending ".asc".

Parameters:
gridStatistics - The GridStatisticsAbstract to accompany the returned grid.
directory - The directory to be used for storing cached Grid2DSquareCellDouble information.
gridFile - Either a directory, or a formatted File with a specific extension containing the data and information about the Grid2DSquareCellDouble to be returned.
grid2DSquareCellIntChunkFactory - The Grid2DSquareCellIntChunkAbstractFactory prefered to construct chunks of this.
chunkNrows - The Grid2DSquareCellDouble chunkNrows.
chunkNcols - The Grid2DSquareCellDouble chunkNcols.
startRowIndex - The topmost row index of the grid stored as gridFile.
startColIndex - The leftmost column index of the grid stored as gridFile.
endRowIndex - The bottom row index of the grid stored as gridFile.
endColIndex - The rightmost column index of the grid stored as gridFile.
Method Detail

toString

public java.lang.String toString(boolean handleOutOfMemoryError)
Returns a string description of the instance. Basically the values of each field.

Specified by:
toString in class Grid2DSquareCellAbstract
Parameters:
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

initAll

protected void initAll(Grid2DSquareCellAbstract grid2DSquareCell)
Initialises all fields from an existing instance. Main use in constructors: Grid2DSquareCellDouble(File,File,ObjectInputStream). Grid2DSquareCellInt(File,File,ObjectInputStream).

Specified by:
initAll in class Grid2DSquareCellAbstract
Parameters:
grid2DSquareCell - the Grid2DSquareCellAbstract from which the field values of this are set.

getGrid2DSquareCellIntChunk

public Grid2DSquareCellIntChunkAbstract getGrid2DSquareCellIntChunk(int chunkRowIndex,
                                                                    int chunkColIndex,
                                                                    boolean handleOutOfMemoryError)
Returns grid2DSquareCellIntChunks.

Parameters:
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

getGrid2DSquareCellIntChunk

public Grid2DSquareCellIntChunkAbstract getGrid2DSquareCellIntChunk(Grid2DSquareCellAbstract.ChunkID chunkID,
                                                                    boolean handleOutOfMemoryError)
Returns grid2DSquareCellIntChunksAbstract for the given ChunkID

Parameters:
chunkID -
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

clear

public void clear()
TODO: Clears all resources to do with this.


getNoDataValue

public final int getNoDataValue(boolean handleOutOfMemoryError)
Returns this.noDataValue.

Parameters:
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

getNoDataValueBigDecimal

public java.math.BigDecimal getNoDataValueBigDecimal(boolean handleOutOfMemoryError)
Returns the this.noDataValue converted to a BigDecimal.

Specified by:
getNoDataValueBigDecimal in class Grid2DSquareCellAbstract
Parameters:
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

getCell

public int getCell(long cellRowIndex,
                   long cellColIndex,
                   boolean handleOutOfMemoryError)
Returns the value at cellRowIndex, cellColIndex else returns noDataValue.

Parameters:
cellRowIndex -
cellColIndex -
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

getCell

public int getCell(Grid2DSquareCellIntChunkAbstract grid2DSquareCellChunk,
                   int chunkRowIndex,
                   int chunkColIndex,
                   int chunkCellRowIndex,
                   int chunkCellColIndex,
                   boolean handleOutOfMemoryError)
Returns the value at cellRowIndex, cellColIndex.

Parameters:
chunkRowIndex - .
chunkColIndex - .
chunkCellRowIndex - .
chunkCellColIndex - .
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

getCell

public final int getCell(double x,
                         double y,
                         boolean handleOutOfMemoryError)
For returning the value of the cell containing point given by x-coordinate x, y-coordinate y as a int.

Parameters:
x - The x-coordinate of the point.
y - The y-coordinate of the point.
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

getCell

public final int getCell(Grid2DSquareCellAbstract.CellID cellID)
For returning the value of the cell with cell ID cellID as a int.

Parameters:
cellID - the CellID of the cell.
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown. TODO: No java.lang.OutOfMemoryError handling needed here?

setCell

public final int setCell(double x,
                         double y,
                         int newValue,
                         boolean handleOutOfMemoryError)
For returning the value at x-coordinate x, y-coordinate y and setting it to newValue.

Parameters:
x - the x-coordinate of the point.
y - the y-coordinate of the point.
newValue -
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

setCell

public final int setCell(Grid2DSquareCellAbstract.CellID cellID,
                         int newValue,
                         boolean handleOutOfMemoryError)
For returning the value of the cell with cell ID cellID and setting it to newValue.

Parameters:
cellID - the CellID of the cell.
newValue -
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown. TODO: No java.lang.OutOfMemoryError handling needed here?

setCell

public int setCell(long cellRowIndex,
                   long cellColIndex,
                   int newValue,
                   boolean handleOutOfMemoryError)
For returning the value at cellRowIndex, cellColIndex and setting it to newValue.

Parameters:
cellRowIndex -
cellColIndex -
newValue -
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

setCell

public int setCell(int chunkRowIndex,
                   int chunkColIndex,
                   int chunkCellRowIndex,
                   int chunkCellColIndex,
                   int newValue,
                   boolean handleOutOfMemoryError)
For returning the value of the cell in chunk given by chunkRowIndex and chunkColIndex and cell in the chunk given by chunkCellColIndex and chunkCellRowIndex and setting it to newValue.

Parameters:
chunkRowIndex -
chunkColIndex -
chunkCellRowIndex -
chunkCellColIndex -
newValue -
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

setCell

public int setCell(Grid2DSquareCellIntChunkAbstract grid2DSquareCellChunk,
                   int chunkRowIndex,
                   int chunkColIndex,
                   int chunkCellRowIndex,
                   int chunkCellColIndex,
                   int newValue,
                   boolean handleOutOfMemoryError)
Returns the value at cellRowIndex, cellColIndex and sets it to newValue.

Parameters:
grid2DSquareCellChunk -
chunkRowIndex -
chunkColIndex -
chunkCellRowIndex -
chunkCellColIndex -
newValue -
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

initCell

protected void initCell(long cellRowIndex,
                        long cellColIndex,
                        int valueToInitialise,
                        boolean handleOutOfMemoryError)
Initilises the value at cellRowIndex, cellColIndex

Parameters:
cellRowIndex -
cellColIndex -
valueToInitialise -
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

initCellFast

protected void initCellFast(long cellRowIndex,
                            long cellColIndex,
                            int valueToInitialise,
                            boolean handleOutOfMemoryError)
Initilises the value at cellRowIndex, cellColIndex and does nothing about this.gridStatistics

Parameters:
cellRowIndex -
cellColIndex -
valueToInitialise -
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

getCells

public int[] getCells(double x,
                      double y,
                      double distance,
                      boolean handleOutOfMemoryError)
Returns a int[] of all cell values for cells thats centroids are intersected by circle with centre at x-coordinate x, y-coordinate y, and radius distance.

Parameters:
x - the x-coordinate of the circle centre from which cell values are returned.
y - the y-coordinate of the circle centre from which cell values are returned.
distance - the radius of the circle for which intersected cell values are returned.
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

getCells

public int[] getCells(long cellRowIndex,
                      long cellColIndex,
                      double distance,
                      boolean handleOutOfMemoryError)
Returns a int[] of all cell values for cells thats centroids are intersected by circle with centre at centroid of cell given by cell row index cellRowIndex, cell column index cellColIndex, and radius distance.

Parameters:
cellRowIndex - the row index for the cell thats centroid is the circle centre from which cell values are returned.
cellColIndex - the column index for the cell thats centroid is the circle centre from which cell values are returned.
distance - the radius of the circle for which intersected cell values are returned.
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

getCells

protected int[] getCells(double x,
                         double y,
                         long cellRowIndex,
                         long cellColIndex,
                         double distance,
                         boolean handleOutOfMemoryError)
Returns a int[] of all cell values for cells thats centroids are intersected by circle with centre at x-coordinate x, y-coordinate y, and radius distance.

Parameters:
x - The x-coordinate of the circle centre from which cell values are returned.
y - The y-coordinate of the circle centre from which cell values are returned.
cellRowIndex - The row index at y.
cellColIndex - The col index at x.
distance - The radius of the circle for which intersected cell values are returned.
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

getNearestValueDouble

public double getNearestValueDouble(double x,
                                    double y,
                                    boolean handleOutOfMemoryError)
Returns the average of the nearest data values to point given by x-coordinate x, y-coordinate y as a double.

Parameters:
x - The x-coordinate of the point
y - The y-coordinate of the point
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

getNearestValueDouble

public double getNearestValueDouble(long cellRowIndex,
                                    long cellColIndex,
                                    boolean handleOutOfMemoryError)
Returns the average of the nearest data values to position given by row index rowIndex, column index colIndex as a double.

Parameters:
cellRowIndex - The row index from which average of the nearest data values is returned.
cellColIndex - The column index from which average of the nearest data values is returned.
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

getNearestValueDouble

protected double getNearestValueDouble(double x,
                                       double y,
                                       long cellRowIndex,
                                       long cellColIndex,
                                       int noDataValue,
                                       boolean handleOutOfMemoryError)
Returns the average of the nearest data values to point given by x-coordinate x, y-coordinate y in position given by row index rowIndex, column index colIndex as a double.

Parameters:
x - The x-coordinate of the point
y - The y-coordinate of the point
cellRowIndex - The row index from which average of the nearest data values is returned.
cellColIndex - The column index from which average of the nearest data values is returned.
noDataValue -
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

getNearestValuesCellIDs

public Grid2DSquareCellAbstract.CellID[] getNearestValuesCellIDs(double x,
                                                                 double y,
                                                                 boolean handleOutOfMemoryError)
Returns a CellID[] - The CellIDs of the nearest cells with data values to point given by x-coordinate x, y-coordinate y.

Parameters:
x - the x-coordinate of the point
y - the y-coordinate of the point
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

getNearestValuesCellIDs

public Grid2DSquareCellAbstract.CellID[] getNearestValuesCellIDs(long cellRowIndex,
                                                                 long cellColIndex,
                                                                 boolean handleOutOfMemoryError)
Returns a CellID[] - The CellIDs of the nearest cells with data values to position given by row index rowIndex, column index colIndex.

Parameters:
cellRowIndex - The row index from which the cell IDs of the nearest cells with data values are returned.
cellColIndex - The column index from which the cell IDs of the nearest cells with data values are returned.
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

getNearestValuesCellIDs

protected Grid2DSquareCellAbstract.CellID[] getNearestValuesCellIDs(double x,
                                                                    double y,
                                                                    long cellRowIndex,
                                                                    long cellColIndex,
                                                                    int noDataValue,
                                                                    boolean handleOutOfMemoryError)
Returns a CellID[] - The CellIDs of the nearest cells with data values nearest to point with position given by: x-coordinate x, y-coordinate y; and, cell row index cellRowIndex, cell column index cellColIndex.

Parameters:
x - the x-coordinate of the point
y - the y-coordinate of the point
cellRowIndex - The row index from which the cell IDs of the nearest cells with data values are returned.
cellColIndex - The column index from which the cell IDs of the nearest cells with data values are returned.
noDataValue - The no data value of the this.
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

getNearestValueDoubleDistance

public double getNearestValueDoubleDistance(double x,
                                            double y,
                                            boolean handleOutOfMemoryError)
Returns the distance to the nearest data value from point given by x-coordinate x, y-coordinate y.

Parameters:
x - The x-coordinate of the point.
y - The y-coordinate of the point.
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

getNearestValueDoubleDistance

public double getNearestValueDoubleDistance(long cellRowIndex,
                                            long cellColIndex,
                                            boolean handleOutOfMemoryError)
Returns the distance to the nearest data value from position given by row index rowIndex, column index colIndex.

Parameters:
cellRowIndex - The cell row index of the cell from which the distance nearest to the nearest cell value is returned.
cellColIndex - The cell column index of the cell from which the distance nearest to the nearest cell value is returned.
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

getNearestValueDoubleDistance

protected double getNearestValueDoubleDistance(double x,
                                               double y,
                                               long cellRowIndex,
                                               long cellColIndex,
                                               int noDataValue,
                                               boolean handleOutOfMemoryError)
Returns the distance to the nearest data value from point given by x-coordinate x, y-coordinate y in position given by row index rowIndex, column index colIndex.

Parameters:
x - The x-coordinate of the point.
y - The y-coordinate of the point.
cellRowIndex - The cell row index of the cell from which the distance nearest to the nearest cell value is returned.
cellColIndex - The cell column index of the cell from which the distance nearest to the nearest cell value is returned.
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

addToCell

public final int addToCell(double x,
                           double y,
                           int valueToAdd,
                           boolean handleOutOfMemoryError)
Returns current value of cell containing the point given by x-coordinate x, y-coordinate y, and adds valueToAdd to that cell.

Parameters:
x - the x-coordinate of the point
y - the y-coordinate of the point
valueToAdd - the value to be added to the cell containing the point
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

addToCell

public final int addToCell(Grid2DSquareCellAbstract.CellID cellID,
                           int valueToAdd,
                           boolean handleOutOfMemoryError)
Returns the value of the cell with cell ID cellID and adds valueToAdd to that cell.

Parameters:
cellID - the CellID of the cell.
valueToAdd - the value to be added to the cell containing the point
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.

addToCell

public int addToCell(long cellRowIndex,
                     long cellColIndex,
                     int valueToAdd,
                     boolean handleOutOfMemoryError)
Returns current value of cell with row index rowIndex and column index colIndex and adds valueToAdd to that cell.

Parameters:
cellRowIndex - the row index of the cell.
cellColIndex - the col index of the cell.
valueToAdd - the value to be added to the cell.
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown. NB1. If cell is not contained in this then then returns noDataValue. NB2. Adding to noDataValue is done as if adding to a cell with value of 0. TODO: Check Arithmetic

iterator

public java.util.Iterator iterator(boolean handleOutOfMemoryError)
Returns an iterator over the cell value in this.

Specified by:
iterator in class Grid2DSquareCellAbstract
Parameters:
handleOutOfMemoryError - If true then OutOfMemoryErrors are caught in this method then caching operations are initiated prior to retrying. If false then OutOfMemoryErrors are caught and thrown.