|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectuk.ac.leeds.ccg.andyt.grids.core.OutOfMemoryErrorHandler
uk.ac.leeds.ccg.andyt.grids.process.Grid2DSquareCellProcessor
uk.ac.leeds.ccg.andyt.grids.process.Grid2DSquareCellProcessorDEM
public class Grid2DSquareCellProcessorDEM
A class of methods relevant to the processing of Digital Elevation Model Data.
Field Summary |
---|
Fields inherited from class uk.ac.leeds.ccg.andyt.grids.core.OutOfMemoryErrorHandler |
---|
handleOutOfMemoryErrorFalse, handleOutOfMemoryErrorTrue, memoryReserve |
Constructor Summary | |
---|---|
Grid2DSquareCellProcessorDEM()
Creates a new Grid2DSquareCellProcessorDEM |
|
Grid2DSquareCellProcessorDEM(java.io.File workspace)
Creates a new instance of Grid2DSquareCellProcessorDEM. |
|
Grid2DSquareCellProcessorDEM(java.io.File workspace,
boolean appendToLogFile)
Creates a new instance of Grid2DSquareCellProcessorDEM. |
Method Summary | |
---|---|
Grid2DSquareCellDouble |
doFlowAccumulation(Grid2DSquareCellDouble flowAccumulation,
Grid2DSquareCellDouble grid,
double precipitation,
java.util.HashSet outflowCellIDs,
Grid2DSquareCellDoubleFactory gridFactory,
boolean handleOutOfMemoryError)
TODO: docs frictionFactor = 75.0d; constant = 8.0d * 9.81d / frictionFactor; velocity = Math.sqrt( constant * waterDepth * changeInDepth / ChangeInLength ); discharge = velocity * waterDepth |
Grid2DSquareCellDouble |
getFlowAccumulation(Grid2DSquareCellDouble grid,
int iterations,
double precipitation,
java.util.HashSet outflowCellIDs,
Grid2DSquareCellDoubleFactory gridFactory,
boolean handleOutOfMemoryError)
There are many estimates of flow that can be generated and many models developed in hydrology. |
Grid2DSquareCellDouble |
getHollowFilledDEM(Grid2DSquareCellAbstract grid2DSquareCell,
double outflowHeight,
int maxIterations,
java.util.HashSet outflowCellIDsSet,
boolean handleOutOfMemoryError)
Returns an Grid2DSquareCellDouble hollowFilledDEM which has cell values as in grid except with any hollows raised so that they are not hollows. |
Grid2DSquareCellDouble |
getInitialFlowAccumulation(Grid2DSquareCellDouble grid,
double precipitation,
java.util.HashSet outflowCellIDs,
Grid2DSquareCellDoubleFactory gridFactory,
boolean handleOutOfMemoryError)
TODO: docs frictionFactor = 75.0d; constant = 8.0d * 9.81d / frictionFactor; velocity = Math.sqrt( constant * waterDepth * changeInDepth / ChangeInLength ); discharge = velocity * waterDepth |
java.util.HashSet |
getInitialPeaksHashSetAndSetTheirValue(Grid2DSquareCellDouble grid,
Grid2DSquareCellDouble upSlopeAreaMetrics,
boolean handleOutOfMemoryError)
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 |
Grid2DSquareCellDouble |
getMaxFlowDirection(Grid2DSquareCellDouble grid,
Grid2DSquareCellDoubleFactory gridFactory,
boolean handleOutOfMemoryError)
Returns an Grid2DSquareCellDouble result containing values which indicate the direction of the maximum down slope for the immediate 8 cell neighbourhood. |
Grid2DSquareCellAbstract[] |
getMetrics1(Grid2DSquareCellAbstract[] metrics1,
Grid2DSquareCellAbstract grid2DSquareCell,
java.math.BigDecimal[] dimensions,
double distance,
double weightIntersect,
double weightFactor,
boolean handleOutOfMemoryError)
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 ]; |
Grid2DSquareCellAbstract[] |
getMetrics1(Grid2DSquareCellAbstract grid2DSquareCell,
double distance,
double weightIntersect,
double weightFactor,
Grid2DSquareCellDoubleFactory grid2DSquareCellDoubleFactory,
Grid2DSquareCellIntFactory grid2DSquareCellIntFactory,
boolean handleOutOfMemoryError)
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 ]; |
Grid2DSquareCellDouble[] |
getMetrics2(Grid2DSquareCellDouble grid,
double distance,
double weightIntersect,
double weightFactor,
int samplingDensity,
Grid2DSquareCellDoubleFactory gridFactory,
boolean handleOutOfMemoryError)
Returns an Grid2DSquareCellDouble[] metrics2 where: TODO: metrics2 is a mess. |
protected Grid2DSquareCellDouble[] |
getSlopeAndAspect(Grid2DSquareCellAbstract grid2DSquareCell)
Calculates and returns measures of the slope and aspect for the Grid2DSquareCellAbstract grid2DSquareCell passed in. |
Grid2DSquareCellDouble[] |
getSlopeAndAspect(Grid2DSquareCellAbstract grid2DSquareCell,
boolean handleOutOfMemoryError)
Calculates and returns measures of the slope and aspect for the Grid2DSquareCellAbstract grid2DSquareCell passed in. |
protected double[] |
getSlopeAndAspect(Grid2DSquareCellAbstract grid2DSquareCell,
double x,
double y,
double distance,
double weightIntersect,
double weightFactor,
boolean handleOutOfMemoryError)
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. |
protected Grid2DSquareCellDouble[] |
getSlopeAndAspect(Grid2DSquareCellAbstract grid2DSquareCell,
double distance,
double weightIntersect,
double weightFactor,
Grid2DSquareCellDoubleFactory grid2DSquareCellDoubleFactory)
Returns a Grid2DSquareCellDouble[] slopeAndAspect where: slopeAndAspect[0] is the distance weighted aggregate slope over the region slopeAndAspect[1] is the distance weighted aggregate aspect over the region. |
Grid2DSquareCellDouble[] |
getSlopeAndAspect(Grid2DSquareCellAbstract grid2DSquareCell,
double distance,
double weightIntersect,
double weightFactor,
Grid2DSquareCellDoubleFactory grid2DSquareCellDoubleFactory,
boolean handleOutOfMemoryError)
Returns a Grid2DSquareCellDouble[] slopeAndAspect where: slopeAndAspect[0] is the distance weighted aggregate slope over the region slopeAndAspect[1] is the distance weighted aggregate aspect over the region. |
protected double[] |
getSlopeAndAspect(Grid2DSquareCellAbstract grid2DSquareCell,
long rowIndex,
long colIndex,
double distance,
double weightIntersect,
double weightFactor,
boolean handleOutOfMemoryError)
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. |
protected double[] |
getSlopeAndAspect(Grid2DSquareCellAbstract grid2DSquareCell,
long rowIndex,
long colIndex,
double x,
double y,
double distance,
double weightIntersect,
double weightFactor,
boolean handleOutOfMemoryError)
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. |
Grid2DSquareCellDouble |
getUpSlopeAreaMetrics(Grid2DSquareCellDouble grid,
double distance,
double weightFactor,
double weightIntersect,
Grid2DSquareCellDoubleFactory gridFactory,
boolean handleOutOfMemoryError)
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? |
Methods inherited from class uk.ac.leeds.ccg.andyt.grids.process.Grid2DSquareCellProcessor |
---|
addToGrid, addToGrid, addToGrid, addToGrid, addToGrid, addToGrid, addToGrid, addToGrid, addToGrid, addToGrid, aggregate, aggregate, angle, copyAndSetUpNewLog, distance, getGrid2DSquareCells, getRowProcessData, getRowProcessInitialData, getTime0, getWorkspace, linearRescale, linearRescale, log, log, logRescale, logRescale, mask, mask, mask, mask, mask, mask, setValueALittleBitLarger, setValueALittleBitLarger, setValueALittleBitSmaller, setValueALittleBitSmaller, setWorkspace, setWorkspace, swapToFileGrid2DSquareCellChunk, swapToFileGrid2DSquareCellChunks, swapToFileGrid2DSquareCellChunks |
Methods inherited from class uk.ac.leeds.ccg.andyt.grids.core.OutOfMemoryErrorHandler |
---|
clearMemoryReserve, initMemoryReserve, initMemoryReserve |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public Grid2DSquareCellProcessorDEM()
public Grid2DSquareCellProcessorDEM(java.io.File workspace)
workspace
- public Grid2DSquareCellProcessorDEM(java.io.File workspace, boolean appendToLogFile)
workspace
- appendToLogFile
- Method Detail |
---|
public Grid2DSquareCellDouble[] getSlopeAndAspect(Grid2DSquareCellAbstract grid2DSquareCell, boolean handleOutOfMemoryError)
grid2DSquareCell
- The Grid2DSquareCellAbstract to be processed.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.
Defaults:
kernel to have
distance = ( grid2DSquareCell.getDimensions( handleOutOfMemoryError )[ 0 ].doubleValue() ) * ( 3.0d / 2.0d );
weightIntersect = 1.0d;
weightFactor = 0.0d;
grid2DSquareCellDoubleFactory to have
directory = FileCreator.createNewFile( getDirectory() );
chunkNrows = grid2DSquareCell.getChunkNrows;
chunkNcols = grid2DSquareCell.getChunkNrows;
grid2DSquareCellDoubleChunkFactory = this.grid2DSquareCellDoubleFactory.getGrid2DSquareCellDoubleChunkFactory();
protected Grid2DSquareCellDouble[] getSlopeAndAspect(Grid2DSquareCellAbstract grid2DSquareCell)
grid2DSquareCell
- The Grid2DSquareCellAbstract to be processed.
Defaults:
kernel to have
distance = ( grid2DSquareCell.getDimensions( handleOutOfMemoryError )[ 0 ].doubleValue() ) * ( 3.0d / 2.0d );
weightIntersect = 1.0d;
weightFactor = 0.0d;
grid2DSquareCellDoubleFactory to have
directory = FileCreator.createNewFile( getDirectory() );
chunkNrows = grid2DSquareCell.getChunkNrows;
chunkNcols = grid2DSquareCell.getChunkNrows;
grid2DSquareCellDoubleChunkFactory = this.grid2DSquareCellDoubleFactory.getGrid2DSquareCellDoubleChunkFactory();
public Grid2DSquareCellDouble[] getSlopeAndAspect(Grid2DSquareCellAbstract grid2DSquareCell, double distance, double weightIntersect, double weightFactor, Grid2DSquareCellDoubleFactory grid2DSquareCellDoubleFactory, boolean handleOutOfMemoryError)
grid2DSquareCell
- The Grid2DSquareCellAbstract to be processed.distance
- the distance which defines the aggregate region.weightIntersect
- The kernel weighting weight at centre.weightFactor
- The kernel weighting distance decay.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.
(NB. There are various strategies to reduce bias caused by noDataValues.
Here:
If the cell in grid for which slopeAndAspect is being calculated is a
noDataValue then the cells in slopeAndAspect are assigned their
noDataValue.
If one of the cells in the calculation of slope and aspect is a
noDataValue then its height is taken as the nearest cell value.
(Formerly the difference in its height was taken as the average
difference in height for those cells with values.)
)protected Grid2DSquareCellDouble[] getSlopeAndAspect(Grid2DSquareCellAbstract grid2DSquareCell, double distance, double weightIntersect, double weightFactor, Grid2DSquareCellDoubleFactory grid2DSquareCellDoubleFactory)
grid2DSquareCell
- The Grid2DSquareCellAbstract to be processed.distance
- the distance which defines the aggregate region.weightIntersect
- The kernel weighting weight at centre.weightFactor
- The kernel weighting distance decay.
(NB. There are various strategies to reduce bias caused by noDataValues.
Here:
If the cell in grid for which slopeAndAspect is being calculated is a
noDataValue then the cells in slopeAndAspect are assigned their
noDataValue.
If one of the cells in the calculation of slope and aspect is a
noDataValue then its height is taken as the nearest cell value.
(Formerly the difference in its height was taken as the average
difference in height for those cells with values.)
)protected double[] getSlopeAndAspect(Grid2DSquareCellAbstract grid2DSquareCell, long rowIndex, long colIndex, double distance, double weightIntersect, double weightFactor, boolean handleOutOfMemoryError)
grid2DSquareCell
- the Grid2DSquareCellDouble to be processed.rowIndex
- the rowIndex where slopeAndAspect is calculated.colIndex
- the colIndex where slopeAndAspect is calculated.distance
- the distance which defines the aggregate region.weightIntersect
- the kernel weighting weight at centre.weightFactor
- the kernel weighting distance decay.protected double[] getSlopeAndAspect(Grid2DSquareCellAbstract grid2DSquareCell, double x, double y, double distance, double weightIntersect, double weightFactor, boolean handleOutOfMemoryError)
grid2DSquareCell
- the Grid2DSquareCellDouble to be processed.x
- the x coordinate from where the aspect is calculatedy
- the y coordinate from where the aspect is calculateddistance
- the distance which defines the aggregate region.weightIntersect
- the kernel weighting weight at centre.weightFactor
- the kernel weighting distance decay.protected double[] getSlopeAndAspect(Grid2DSquareCellAbstract grid2DSquareCell, long rowIndex, long colIndex, double x, double y, double distance, double weightIntersect, double weightFactor, boolean handleOutOfMemoryError)
grid2DSquareCell
- The Grid2DSquareCellDouble to be processedrowIndex
- the rowIndex where the result is calculatedcolIndex
- the colIndex where the result is calculatedx
- the x coordinate from where the aspect is calculatedy
- the y coordinate from where the aspect is calculateddistance
- the distance which defines the regionweightIntersect
- weightFactor
- NB. If grid.getCell( x, y ) == grid.getNoDataValue() then;
result[ 0 ] = grid.getNoDataValue()
result[ 1 ] = grid.getNoDataValue()
TODO:
x and y can be offset from a cell centroid so consider interpolationpublic Grid2DSquareCellDouble getHollowFilledDEM(Grid2DSquareCellAbstract grid2DSquareCell, double outflowHeight, int maxIterations, java.util.HashSet outflowCellIDsSet, boolean handleOutOfMemoryError)
grid2DSquareCell
- the Grid2DSquareCellDouble to be processedpublic Grid2DSquareCellAbstract[] getMetrics1(Grid2DSquareCellAbstract grid2DSquareCell, double distance, double weightIntersect, double weightFactor, Grid2DSquareCellDoubleFactory grid2DSquareCellDoubleFactory, Grid2DSquareCellIntFactory grid2DSquareCellIntFactory, boolean handleOutOfMemoryError)
grid2DSquareCell
- the Grid2DSquareCellDouble to be processeddistance
- the distance within which metrics will be calculatedweightIntersect
- kernel parameter ( weight at the centre )weightFactor
- kernel parameter ( distance decay )grid2DSquareCellDoubleFactory
- The Grid2DSquareCellDoubleFactory for creating gridspublic Grid2DSquareCellAbstract[] getMetrics1(Grid2DSquareCellAbstract[] metrics1, Grid2DSquareCellAbstract grid2DSquareCell, java.math.BigDecimal[] dimensions, double distance, double weightIntersect, double weightFactor, boolean handleOutOfMemoryError)
metrics1
- an Grid2DSquareCellDouble[] for storing resultgrid2DSquareCell
- the Grid2DSquareCellDouble to be processeddistance
- the distance within which metrics will be calculatedweightIntersect
- kernel parameter ( weight at the centre )weightFactor
- kernel parameter ( distance decay )
Going directly to this method is useful if the initialisation of the
metrics1 is slow and has already been done.public Grid2DSquareCellDouble[] getMetrics2(Grid2DSquareCellDouble grid, double distance, double weightIntersect, double weightFactor, int samplingDensity, Grid2DSquareCellDoubleFactory gridFactory, boolean handleOutOfMemoryError)
public Grid2DSquareCellDouble getMaxFlowDirection(Grid2DSquareCellDouble grid, Grid2DSquareCellDoubleFactory gridFactory, boolean handleOutOfMemoryError)
grid
- the Grid2DSquareCellDouble to be processedgridFactory
- the Grid2DSquareCellDoubleFactory used to create resultpublic Grid2DSquareCellDouble getUpSlopeAreaMetrics(Grid2DSquareCellDouble grid, double distance, double weightFactor, double weightIntersect, Grid2DSquareCellDoubleFactory gridFactory, boolean handleOutOfMemoryError)
public java.util.HashSet getInitialPeaksHashSetAndSetTheirValue(Grid2DSquareCellDouble grid, Grid2DSquareCellDouble upSlopeAreaMetrics, boolean handleOutOfMemoryError)
grid
- - the Grid2DSquareCellDouble to be processedpublic Grid2DSquareCellDouble getFlowAccumulation(Grid2DSquareCellDouble grid, int iterations, double precipitation, java.util.HashSet outflowCellIDs, Grid2DSquareCellDoubleFactory gridFactory, boolean handleOutOfMemoryError)
public Grid2DSquareCellDouble getInitialFlowAccumulation(Grid2DSquareCellDouble grid, double precipitation, java.util.HashSet outflowCellIDs, Grid2DSquareCellDoubleFactory gridFactory, boolean handleOutOfMemoryError)
public Grid2DSquareCellDouble doFlowAccumulation(Grid2DSquareCellDouble flowAccumulation, Grid2DSquareCellDouble grid, double precipitation, java.util.HashSet outflowCellIDs, Grid2DSquareCellDoubleFactory gridFactory, boolean handleOutOfMemoryError)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |