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

java.lang.Object
  extended by uk.ac.leeds.ccg.andyt.grids.core.Grid2DSquareCellChunkAbstract
      extended by uk.ac.leeds.ccg.andyt.grids.core.Grid2DSquareCellDoubleChunkAbstract
          extended by uk.ac.leeds.ccg.andyt.grids.core.Grid2DSquareCellDoubleChunk64CellMap
All Implemented Interfaces:
java.io.Serializable

public class Grid2DSquareCellDoubleChunk64CellMap
extends Grid2DSquareCellDoubleChunkAbstract
implements java.io.Serializable

The maximum size of this Grid2DSquareCellDoubleChunkAbstract is 64 cells.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class uk.ac.leeds.ccg.andyt.grids.core.Grid2DSquareCellChunkAbstract
Grid2DSquareCellChunkAbstract.ChunkCellID
 
Field Summary
 
Fields inherited from class uk.ac.leeds.ccg.andyt.grids.core.Grid2DSquareCellChunkAbstract
chunkID, grid2DSquareCell
 
Constructor Summary
protected Grid2DSquareCellDoubleChunk64CellMap()
          Default constructor.
protected Grid2DSquareCellDoubleChunk64CellMap(Grid2DSquareCellDoubleChunkAbstract grid2DSquareCellDoubleChunk, Grid2DSquareCellAbstract.ChunkID chunkID)
          TODO: docs
protected Grid2DSquareCellDoubleChunk64CellMap(Grid2DSquareCellDouble grid2DSquareCellDouble, Grid2DSquareCellAbstract.ChunkID chunkID)
          TODO: documentation deal with case: ( grid2DSquareCellDouble.getChunkNrows() * grid2DSquareCellDouble.getChunkNcols() > 64 )
 
Method Summary
 void clearData()
          Clears the data associated with this.
 java.math.BigDecimal getArithmeticMeanBigDecimal(int numberOfDecimalPlaces)
          For returning the Arithmetic Mean of all non noDataValues as a BigDecimal.
 double getArithmeticMeanDouble(int numberOfDecimalPlaces)
          For returning the Arithmetic Mean of all non noDataValues as a double.
 double getCell(int chunkCellRowIndex, int chunkCellColIndex, double noDataValue)
          Returns the value at position given by: chunk cell row chunkCellRowIndex; chunk cell row chunkCellColIndex.
 gnu.trove.TDoubleLongHashMap getData()
          Returns this.data
 java.math.BigInteger getDiversity()
          For returning the number of different values.
 double getGeometricMeanDouble()
          For returning the Geometric Mean of all non noDataValues as a double Warning! This is imprecise and it can happen that Math.pow does not return what might be expected! (For example, negative powers in the range (0,1) for negative numbers.) TODO: Develop a pow function such as com.ibm.icu.math.BigDecimal.pow This resource is not used here due to licensing, but it could be...
 double getHarmonicMeanDouble()
          Returns the Harmonic Mean of all non noDataValues as a double.
 double getMaxDouble()
          For returning the maximum of all non noDataValues as a double
 double getMedianDouble()
          For returning the median of all non noDataValues as a double
 double getMinDouble()
          For returning the minimum of all non noDataValues as a double
 gnu.trove.TDoubleHashSet getModeTDoubleHashSet()
          For returning the mode of all non noDataValues as a TDoubleHashSet
 java.math.BigInteger getNonNoDataValueCountBigInteger()
          Returns the number of cells with noDataValues as a BigInteger
 int getNonNoDataValueCountInt()
          Returns the number of cells with noDataValues as an int
 double getStandardDeviationDouble(int numberOfDecimalPlaces)
          For returning the standard deviation of all non noDataValues as a double
 java.math.BigDecimal getSumBigDecimal()
          For returning the sum of all non noDataValues as a BigDecimal
protected  void initCell(int chunkCellRowIndex, int chunkCellColIndex, double valueToInitialise)
          Initialises the value at position given by: chunk cell row chunkCellRowIndex; chunk cell column chunkCellColIndex.
 void initData()
          Initialises the data associated with this.
 AbstractIterator iterator()
          Returns a Grid2DSquareCellDoubleChunk64CellMapIterator for iterating over the cells in this.
 long powerOf2(int value)
          Returns 2 raised to the power of value as a long.
 double setCell(int chunkCellRowIndex, int chunkCellColIndex, double valueToSet, double noDataValue)
          Returns the value at position given by: chunk cell row chunkCellRowIndex; chunk cell column chunkCellColIndex and sets it to valueToSet
 double[] toArrayIncludingNoDataValues()
          TODO: docs
 double[] toArrayNotIncludingNoDataValues()
          TODO: docs
 java.lang.String toString()
          Returns a description of this.
 
Methods inherited from class uk.ac.leeds.ccg.andyt.grids.core.Grid2DSquareCellDoubleChunkAbstract
getArithmeticMeanDouble, getCellBigDecimal, getGrid2DSquareCellDouble, getStandardDeviationDouble, initCells, sort1
 
Methods inherited from class uk.ac.leeds.ccg.andyt.grids.core.Grid2DSquareCellChunkAbstract
getChunkID, getGrid2DSquareCell, getName, inChunk, initChunkID, initGrid2DSquareCell
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Grid2DSquareCellDoubleChunk64CellMap

protected Grid2DSquareCellDoubleChunk64CellMap()
Default constructor.


Grid2DSquareCellDoubleChunk64CellMap

protected Grid2DSquareCellDoubleChunk64CellMap(Grid2DSquareCellDouble grid2DSquareCellDouble,
                                               Grid2DSquareCellAbstract.ChunkID chunkID)
TODO: documentation deal with case: ( grid2DSquareCellDouble.getChunkNrows() * grid2DSquareCellDouble.getChunkNcols() > 64 )


Grid2DSquareCellDoubleChunk64CellMap

protected Grid2DSquareCellDoubleChunk64CellMap(Grid2DSquareCellDoubleChunkAbstract grid2DSquareCellDoubleChunk,
                                               Grid2DSquareCellAbstract.ChunkID chunkID)
TODO: docs

Method Detail

toString

public java.lang.String toString()
Returns a description of this.

Specified by:
toString in class Grid2DSquareCellChunkAbstract

initData

public void initData()
Initialises the data associated with this.

Specified by:
initData in class Grid2DSquareCellDoubleChunkAbstract

clearData

public void clearData()
Clears the data associated with this.

Specified by:
clearData in class Grid2DSquareCellDoubleChunkAbstract

getData

public gnu.trove.TDoubleLongHashMap getData()
Returns this.data


toArrayIncludingNoDataValues

public double[] toArrayIncludingNoDataValues()
TODO: docs

Overrides:
toArrayIncludingNoDataValues in class Grid2DSquareCellDoubleChunkAbstract

toArrayNotIncludingNoDataValues

public double[] toArrayNotIncludingNoDataValues()
TODO: docs

Overrides:
toArrayNotIncludingNoDataValues in class Grid2DSquareCellDoubleChunkAbstract

getCell

public double getCell(int chunkCellRowIndex,
                      int chunkCellColIndex,
                      double noDataValue)
Returns the value at position given by: chunk cell row chunkCellRowIndex; chunk cell row chunkCellColIndex.

Specified by:
getCell in class Grid2DSquareCellDoubleChunkAbstract
Parameters:
chunkCellRowIndex - the row index of the cell w.r.t. the origin of this chunk
chunkCellColIndex - the column index of the cell w.r.t. the origin of this chunk
noDataValue - the noDataValue of this.grid2DSquareCellDouble

initCell

protected void initCell(int chunkCellRowIndex,
                        int chunkCellColIndex,
                        double valueToInitialise)
Initialises the value at position given by: chunk cell row chunkCellRowIndex; chunk cell column chunkCellColIndex. Utility method for constructor.

Specified by:
initCell in class Grid2DSquareCellDoubleChunkAbstract
Parameters:
chunkCellRowIndex - the row index of the cell w.r.t. the origin of this chunk
chunkCellColIndex - the column index of the cell w.r.t. the origin of this chunk
valueToInitialise - the value with which the cell is initialised

setCell

public double setCell(int chunkCellRowIndex,
                      int chunkCellColIndex,
                      double valueToSet,
                      double noDataValue)
Returns the value at position given by: chunk cell row chunkCellRowIndex; chunk cell column chunkCellColIndex and sets it to valueToSet

Specified by:
setCell in class Grid2DSquareCellDoubleChunkAbstract
Parameters:
chunkCellRowIndex - the row index of the cell w.r.t. the origin of this chunk
chunkCellColIndex - the column index of the cell w.r.t. the origin of this chunk
valueToSet - the value the cell is to be set to
noDataValue - the noDataValue of this.grid2DSquareCellDouble

powerOf2

public long powerOf2(int value)
Returns 2 raised to the power of value as a long. TODO: move this to the chunk master and have as a long[]. The look up should be faster than the creation on the fly.


getNonNoDataValueCountBigInteger

public java.math.BigInteger getNonNoDataValueCountBigInteger()
Returns the number of cells with noDataValues as a BigInteger

Overrides:
getNonNoDataValueCountBigInteger in class Grid2DSquareCellDoubleChunkAbstract

getNonNoDataValueCountInt

public int getNonNoDataValueCountInt()
Returns the number of cells with noDataValues as an int

Overrides:
getNonNoDataValueCountInt in class Grid2DSquareCellDoubleChunkAbstract

getSumBigDecimal

public java.math.BigDecimal getSumBigDecimal()
For returning the sum of all non noDataValues as a BigDecimal

Overrides:
getSumBigDecimal in class Grid2DSquareCellDoubleChunkAbstract

getMinDouble

public double getMinDouble()
For returning the minimum of all non noDataValues as a double

Overrides:
getMinDouble in class Grid2DSquareCellDoubleChunkAbstract

getMaxDouble

public double getMaxDouble()
For returning the maximum of all non noDataValues as a double

Overrides:
getMaxDouble in class Grid2DSquareCellDoubleChunkAbstract

getArithmeticMeanBigDecimal

public java.math.BigDecimal getArithmeticMeanBigDecimal(int numberOfDecimalPlaces)
For returning the Arithmetic Mean of all non noDataValues as a BigDecimal. Using BigDecimal this should be as precise as possible with doubles.

Overrides:
getArithmeticMeanBigDecimal in class Grid2DSquareCellDoubleChunkAbstract
Parameters:
numberOfDecimalPlaces - The number of decimal places for precision.

getArithmeticMeanDouble

public double getArithmeticMeanDouble(int numberOfDecimalPlaces)
For returning the Arithmetic Mean of all non noDataValues as a double. Using BigDecimal this should be as precise as possible with doubles.

Parameters:
numberOfDecimalPlaces - The number of decimal places for precision. TODO:

getGeometricMeanDouble

public double getGeometricMeanDouble()
For returning the Geometric Mean of all non noDataValues as a double Warning! This is imprecise and it can happen that Math.pow does not return what might be expected! (For example, negative powers in the range (0,1) for negative numbers.) TODO: Develop a pow function such as com.ibm.icu.math.BigDecimal.pow This resource is not used here due to licensing, but it could be...


getHarmonicMeanDouble

public double getHarmonicMeanDouble()
Returns the Harmonic Mean of all non noDataValues as a double. Zero values are ignored in the calculation.


getModeTDoubleHashSet

public gnu.trove.TDoubleHashSet getModeTDoubleHashSet()
For returning the mode of all non noDataValues as a TDoubleHashSet

Overrides:
getModeTDoubleHashSet in class Grid2DSquareCellDoubleChunkAbstract

getMedianDouble

public double getMedianDouble()
For returning the median of all non noDataValues as a double

Overrides:
getMedianDouble in class Grid2DSquareCellDoubleChunkAbstract

getStandardDeviationDouble

public double getStandardDeviationDouble(int numberOfDecimalPlaces)
For returning the standard deviation of all non noDataValues as a double


getDiversity

public java.math.BigInteger getDiversity()
For returning the number of different values.


iterator

public AbstractIterator iterator()
Returns a Grid2DSquareCellDoubleChunk64CellMapIterator for iterating over the cells in this.

Specified by:
iterator in class Grid2DSquareCellChunkAbstract