Returns an Grid2DSquareCellDouble[] containing geometric density surfaces at a range of
scales:
result[ 0 ] - is the result at the first scale ( double the cellsize of grid )
result[ 1 ] - if it exists is the result at the second scale ( double the cellsize of result[ 0 ] )
result[ n ] - if it exists is the result at the ( n + 1 )th scale ( double the cellsize of result[ n - 1 ] )
The algorithm used for generating a geometric density surface is described in:
Turner A (2000) Density Data Generation for Spatial Data Mining Applications.
For returning the arithmetic mean of all non noDataValues as a BigDecimal
Throws an ArithmeticException if nonNoDataValueCountBigInteger is equal
to zero.
For returning the arithmetic mean of all non noDataValues as a BigDecimal
Throws an ArithmeticException if nonNoDataValueCountBigInteger is equal
to zero.
Returns double[] where;
double[0] xmin, left most x-coordinate of cell at (rowIndex,colIndex)
double[1] ymin, lowest y-coordinate of cell at (rowIndex,colIndex)
double[2] xmax, right most x-coordinate of cell at (rowIndex,colIndex)
double[3] ymax, highest y-coordinate of cell at (rowIndex,colIndex)
Returns double[] where;
double[0] xmin, left most x-coordinate of cell that intersects point at (x,y)
double[1] ymin, lowest y-coordinate of cell that intersects point at (x,y)
double[2] xmax, right most x-coordinate of cell that intersects point at (x,y)
double[3] ymax, highest y-coordinate of cell that intersects point at (x,y)
Returns a CellID[] - the cell IDs for cells thats centroids are
intersected by circle with centre at x-coordinate x, y-coordinate y, and
radius distance.
Returns a CellID[] - the cell IDs for cells thats centroids would be
intersected by circle with centre at centroid of cell given by cell row
index cellRowIndex, cell column index cellColIndex, and radius distance.
Returns double[] cells - the values for cells thats centroids would be
intersected by circle with centre at x-coordinate x, y-coordinate y, and
radius distance.
Returns a double[] of all cell values for cells thats centroids are
intersected by circle with centre at x-coordinate x, y-coordinate y, and
radius distance.
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.
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.
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.
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.
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.
For returning the Geometric Mean of all non noDataValues as a BigDecimal
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...
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...
Returns gridBounds (the bounding box of the grid) as a double[] where;
gridBounds[0] xmin, left most x-coordinate of this
gridBounds[1] ymin, lowest y-coordinate of this
gridBounds[2] xmax, right most x-coordinate of this
gridBounds[3] ymax, highest y-coordinate of this
Returns this.gridStatistics
TODO:
For safety, this method should probably be removed and instead, this
class be made to implement GridStatisticsInterface.
Returns a HashSet containing cellIDs which identifies cells for which
neighbouring cells in the immediate 8 cell neighbourhood that are either
the same value, lower or noDataValues
Returns double[] result:
double[0] the total sum of all the weights for a given kernel
double[1] the total number of cells thats centroids are within distance
of an arbitrary cell centroid of grid0
Returns a double value for the height of a kernel at thisDistance from
the centre of a kernel with; Bandwidth distance, weight at the centre of
weightIntersect and distance decay of weightFactor.
For returning the maximum of all non noDataValues as a double
If this.minBigDecimal is to big/small to represent as a double then an
Arithmetic Exception is thrown and Double.POSITIVE_INFINITY or
Double.NEGATIVE_INFINITY are returned as appropriate.
Returns an Grid2DSquareCellDouble result containing values which
indicate the direction of the maximum down slope for the immediate 8 cell
neighbourhood.
Returns an Grid2DSquareCellDouble[] metrics1 where:
metrics1[0] = no data count;
metrics1[1] = flatness;
metrics1[2] = roughness;
metrics1[3] = slopyness;
metrics1[4] = levelness;
metrics1[5] = totalDownness;
metrics1[6] = averageDownness;
metrics1[7] = totalUpness;
metrics1[8] = averageUpness;
metrics1[9] = maxd_hhhh [ sum of distance weighted maximum height differences ];
metrics1[10] = mind_hhhh [ sum of distance weighted minimum height differences ];
metrics1[11] = sumd_hhhh [ sum of distance weighted height differences ];
metrics1[12] = aved_hhhh [ sum of distance weighted average height difference ];
metrics1[13] = count_hhhh [ count ];
metrics1[14] = w_hhhh [ sum of distance weights ];
metrics1[15] = mind_hxhx_ai_hhhl [ sum of distance weighted ( minimum difference of cells adjacent to lower cell ) ];
metrics1[16] = maxd_hxhx_ai_hhhl [ sum of distance weighted ( maximum difference of cells adjacent to lower cell ) ];
metrics1[17] = sumd_hxhx_ai_hhhl [ sum of distance weighted ( sum of differences of cells adjacent to lower cell ) ];
metrics1[18] = d_xhxx_ai_hhhl [ sum of distance weighted ( difference of cell opposite lower cell ) ];
metrics1[19] = d_xxxl_ai_hhhl [ sum of distance weighted ( difference of lower cell ) ];
metrics1[20] = sumd_xhxl_ai_hhhl [ sum of distance weighted ( sum of differences of lower cell and cell opposite ) ];
metrics1[21] = mind_abs_xhxl_ai_hhhl [ sum of distance weighted ( minimum difference magnitude of lower cell and cell opposite ) ];
metrics1[22] = maxd_abs_xhxl_ai_hhhl [ sum of distance weighted ( maximum difference magnitude of lower cell and cell opposite ) ];
metrics1[23] = sumd_abs_xhxl_ai_hhhl [ sum of distance weighted ( sum of difference magnitudes of lower cell and cell opposite ) ];
metrics1[24] = count_hhhl [ count ];
metrics1[25] = w_hhhl [ sum of distance weights ];
metrics1[26] = mind_hxhx_ai_hlhl [ sum of distance weighted ( minimum difference of higher cells ) ];
metrics1[27] = maxd_hxhx_ai_hlhl [ sum of distance weighted ( maximum difference of higher cells ) ];
metrics1[28] = sumd_hxhx_ai_hlhl [ sum of distance weighted ( sum differences of higher cells ) ];
metrics1[29] = mind_xlxl_ai_hlhl [ sum of distance weighted ( minimum difference of lower cells ) ];
metrics1[30] = maxd_xlxl_ai_hlhl [ sum of distance weighted ( maximum difference of lower cells ) ];
metrics1[31] = sumd_xlxl_ai_hlhl [ sum of distance weighted ( sum of differences of lower cells ) ];
metrics1[32] = mind_abs_hlhl [ sum of distance weighted ( minimum difference magnitude of cells ) ];
metrics1[33] = maxd_abs_hlhl [ sum of distance weighted ( maximum difference magnitude of cells ) ];
metrics1[34] = sumd_abs_hlhl [ sum of distance weighted ( sum of difference magnitudes of cells ) ];
metrics1[35] = count_hlhl [ count ];
metrics1[36] = w_hlhl [ sum of distance weights ];
metrics1[37] = mind_hhxx_ai_hhll [ sum of distance weighted ( minimum difference of higher cells ) ];
metrics1[38] = maxd_hhxx_ai_hhll [ sum of distance weighted ( maximum difference of higher cells ) ];
metrics1[39] = sumd_hhxx_ai_hhll [ sum of distance weighted ( sum of differences of higher cells ) ];
metrics1[40] = mind_xxll_ai_hhll [ sum of distance weighted ( minimum difference of lower cells ) ];
metrics1[41] = maxd_xxll_ai_hhll [ sum of distance weighted ( maximum difference of lower cells ) ];
metrics1[42] = sumd_xxll_ai_hhll [ sum of distance weighted ( sum of differences of lower cells ) ];
metrics1[43] = mind_abs_hhll [ sum of distance weighted ( minimum difference magnitude of cells ) ];
metrics1[44] = maxd_abs_hhll [ sum of distance weighted ( maximum difference magnitude of cells ) ];
metrics1[45] = sumd_abs_hhll [ sum of distance weighted ( sum of difference magnitudes of cells ) ];
metrics1[46] = count_hhll [ count ];
metrics1[47] = w_hhll [ sum of distance weights ];
metrics1[48] = mind_lxlx_ai_lllh [ sum of distance weighted ( minimum difference of cells adjacent to higher cell ) ];
metrics1[49] = maxd_lxlx_ai_lllh [ sum of distance weighted ( maximum difference of cells adjacent to higher cell ) ];
metrics1[50] = sumd_lxlx_ai_lllh [ sum of distance weighted ( sum of differences of cells adjacent to higher cell ) ];
metrics1[51] = d_xlxx_ai_lllh [ sum of distance weighted ( difference of cell opposite higher cell ) ];
metrics1[52] = d_xxxh_ai_lllh [ sum of distance weighted ( difference of higher cell ) ];
metrics1[53] = sumd_xlxh_ai_lllh [ sum of distance weighted ( sum of differences of higher cell and cell opposite ) ];
metrics1[54] = mind_abs_xlxh_ai_lllh [ sum of distance weighted ( minimum difference magnitude of higher cell and cell opposite ) ];
metrics1[55] = maxd_abs_xlxh_ai_lllh [ sum of distance weighted ( maximum difference magnitude of higher cell and cell opposite ) ];
metrics1[56] = sumd_abs_xlxh_ai_lllh [ sum of distance weighted ( sum of difference magnitudes of higher cell and cell opposite ) ];
metrics1[57] = count_lllh [ count ];
metrics1[58] = w_lllh [ sum of distance weights ];
metrics1[59] = maxd_llll [ sum of distance weighted maximum height differences ];
metrics1[60] = mind_llll [ sum of distance weighted minimum height differences ];
metrics1[61] = sumd_llll [ sum of distance weighted height differences ];
metrics1[62] = aved_llll [ sum of distance weighted average height difference ];
metrics1[63] = count_llll [ count ];
metrics1[64] = w_llll [ sum of distance weights ];
Returns an Grid2DSquareCellDouble[] metrics1 where:
metrics1[0] = no data count;
metrics1[1] = flatness;
metrics1[2] = roughness;
metrics1[3] = slopyness;
metrics1[4] = levelness;
metrics1[5] = totalDownness;
metrics1[6] = averageDownness;
metrics1[7] = totalUpness;
metrics1[8] = averageUpness;
metrics1[9] = maxd_hhhh [ sum of distance weighted maximum height differences ];
metrics1[10] = mind_hhhh [ sum of distance weighted minimum height differences ];
metrics1[11] = sumd_hhhh [ sum of distance weighted height differences ];
metrics1[12] = aved_hhhh [ sum of distance weighted average height difference ];
metrics1[13] = count_hhhh [ count ];
metrics1[14] = w_hhhh [ sum of distance weights ];
metrics1[15] = mind_hxhx_ai_hhhl [ sum of distance weighted ( minimum difference of cells adjacent to lower cell ) ];
metrics1[16] = maxd_hxhx_ai_hhhl [ sum of distance weighted ( maximum difference of cells adjacent to lower cell ) ];
metrics1[17] = sumd_hxhx_ai_hhhl [ sum of distance weighted ( sum of differences of cells adjacent to lower cell ) ];
metrics1[18] = d_xhxx_ai_hhhl [ sum of distance weighted ( difference of cell opposite lower cell ) ];
metrics1[19] = d_xxxl_ai_hhhl [ sum of distance weighted ( difference of lower cell ) ];
metrics1[20] = sumd_xhxl_ai_hhhl [ sum of distance weighted ( sum of differences of lower cell and cell opposite ) ];
metrics1[21] = mind_abs_xhxl_ai_hhhl [ sum of distance weighted ( minimum difference magnitude of lower cell and cell opposite ) ];
metrics1[22] = maxd_abs_xhxl_ai_hhhl [ sum of distance weighted ( maximum difference magnitude of lower cell and cell opposite ) ];
metrics1[23] = sumd_abs_xhxl_ai_hhhl [ sum of distance weighted ( sum of difference magnitudes of lower cell and cell opposite ) ];
metrics1[24] = count_hhhl [ count ];
metrics1[25] = w_hhhl [ sum of distance weights ];
metrics1[26] = mind_hxhx_ai_hlhl [ sum of distance weighted ( minimum difference of higher cells ) ];
metrics1[27] = maxd_hxhx_ai_hlhl [ sum of distance weighted ( maximum difference of higher cells ) ];
metrics1[28] = sumd_hxhx_ai_hlhl [ sum of distance weighted ( sum differences of higher cells ) ];
metrics1[29] = mind_xlxl_ai_hlhl [ sum of distance weighted ( minimum difference of lower cells ) ];
metrics1[30] = maxd_xlxl_ai_hlhl [ sum of distance weighted ( maximum difference of lower cells ) ];
metrics1[31] = sumd_xlxl_ai_hlhl [ sum of distance weighted ( sum of differences of lower cells ) ];
metrics1[32] = mind_abs_hlhl [ sum of distance weighted ( minimum difference magnitude of cells ) ];
metrics1[33] = maxd_abs_hlhl [ sum of distance weighted ( maximum difference magnitude of cells ) ];
metrics1[34] = sumd_abs_hlhl [ sum of distance weighted ( sum of difference magnitudes of cells ) ];
metrics1[35] = count_hlhl [ count ];
metrics1[36] = w_hlhl [ sum of distance weights ];
metrics1[37] = mind_hhxx_ai_hhll [ sum of distance weighted ( minimum difference of higher cells ) ];
metrics1[38] = maxd_hhxx_ai_hhll [ sum of distance weighted ( maximum difference of higher cells ) ];
metrics1[39] = sumd_hhxx_ai_hhll [ sum of distance weighted ( sum of differences of higher cells ) ];
metrics1[40] = mind_xxll_ai_hhll [ sum of distance weighted ( minimum difference of lower cells ) ];
metrics1[41] = maxd_xxll_ai_hhll [ sum of distance weighted ( maximum difference of lower cells ) ];
metrics1[42] = sumd_xxll_ai_hhll [ sum of distance weighted ( sum of differences of lower cells ) ];
metrics1[43] = mind_abs_hhll [ sum of distance weighted ( minimum difference magnitude of cells ) ];
metrics1[44] = maxd_abs_hhll [ sum of distance weighted ( maximum difference magnitude of cells ) ];
metrics1[45] = sumd_abs_hhll [ sum of distance weighted ( sum of difference magnitudes of cells ) ];
metrics1[46] = count_hhll [ count ];
metrics1[47] = w_hhll [ sum of distance weights ];
metrics1[48] = mind_lxlx_ai_lllh [ sum of distance weighted ( minimum difference of cells adjacent to higher cell ) ];
metrics1[49] = maxd_lxlx_ai_lllh [ sum of distance weighted ( maximum difference of cells adjacent to higher cell ) ];
metrics1[50] = sumd_lxlx_ai_lllh [ sum of distance weighted ( sum of differences of cells adjacent to higher cell ) ];
metrics1[51] = d_xlxx_ai_lllh [ sum of distance weighted ( difference of cell opposite higher cell ) ];
metrics1[52] = d_xxxh_ai_lllh [ sum of distance weighted ( difference of higher cell ) ];
metrics1[53] = sumd_xlxh_ai_lllh [ sum of distance weighted ( sum of differences of higher cell and cell opposite ) ];
metrics1[54] = mind_abs_xlxh_ai_lllh [ sum of distance weighted ( minimum difference magnitude of higher cell and cell opposite ) ];
metrics1[55] = maxd_abs_xlxh_ai_lllh [ sum of distance weighted ( maximum difference magnitude of higher cell and cell opposite ) ];
metrics1[56] = sumd_abs_xlxh_ai_lllh [ sum of distance weighted ( sum of difference magnitudes of higher cell and cell opposite ) ];
metrics1[57] = count_lllh [ count ];
metrics1[58] = w_lllh [ sum of distance weights ];
metrics1[59] = maxd_llll [ sum of distance weighted maximum height differences ];
metrics1[60] = mind_llll [ sum of distance weighted minimum height differences ];
metrics1[61] = sumd_llll [ sum of distance weighted height differences ];
metrics1[62] = aved_llll [ sum of distance weighted average height difference ];
metrics1[63] = count_llll [ count ];
metrics1[64] = w_llll [ sum of distance weights ];
For returning the minimum of all non noDataValues as a double
If this.minBigDecimal is to big/small to represent as a double then an
Arithmetic Exception is thrown and Double.POSITIVE_INFINITY or
Double.NEGATIVE_INFINITY are returned as appropriate.
For returning the mode of all non noDataValues either as a
TDoubleHashSet or as a TIntHashSet respectively depending on
if ( this.grid2DSquareCell.getClass() == Grid2DSquareCellInt.class ) or
if ( this.grid2DSquareCell.getClass() == Grid2DSquareCellDouble.class ).
Returns the the nearest cells cellRowIndex and cellColIndex as a long[]
from ID to point given by cell row index cellRowIndex, cell column index
cellColIndex.
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
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.
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 as a double.
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.
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.
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.
Returns an Grid2DSquareCellDouble[] slopeAndAspect where:
slopeAndAspect[0] is the aggregate slope over the region weighted by
distance, weightIntersect and weightFactor;
slopeAndAspect[1] is the aggregate aspect over the region weighted by
distance, weightIntersect and weightFactor.
Returns an Grid2DSquareCellDouble[] slopeAndAspect where:
slopeAndAspect[0] is the aggregate slope over the region weighted by
distance, weightIntersect and weightFactor;
slopeAndAspect[1] is the aggregate aspect over the region weighted by
distance, weightIntersect and weightFactor.
Returns a double[] slopeAndAspect where:
slopeAndAspect[0] is the aggregate slope over the region weighted by
distance, weightIntersect and weightFactor;
slopeAndAspect[1] is the aggregate aspect over the region weighted by
distance, weightIntersect and weightFactor.
Returns a double[] slopeAndAspect where:
slopeAndAspect[0] is the aggregate slope over the region weighted by
distance, weightIntersect and weightFactor;
slopeAndAspect[1] is the aggregate aspect over the region weighted by
distance, weightIntersect and weightFactor.
Returns a double[] slopeAndAspect where:
slopeAndAspect[0] is the aggregate slope over the region weighted by
distance, weightIntersect and weightFactor;
slopeAndAspect[1] is the aggregate aspect over the region weighted by
distance, weightIntersect and weightFactor.
Returns an Grid2DSquareCellDouble[] each element of which
corresponds to a metrics of up slope cells of grid - a DEM
The steeper the slope the higher the runoff?