public class PageBuffer extends AbstractBuffer implements Buffer
INCREMENTABLE_HISTOGRAM, INCREMENTABLE_INTERPOLATION, INTERPOLATION_BicubicSpline, INTERPOLATION_Bilinear, INTERPOLATION_BSpline, INTERPOLATION_InverseDistance, INTERPOLATION_NearestNeighbour, INTERPOLATION_Undefined, TYPE_BYTE, TYPE_DOUBLE, TYPE_FLOAT, TYPE_IMAGE, TYPE_INT, TYPE_SHORT, TYPE_UNDEFINED, TYPE_USHORT| Constructor and Description |
|---|
PageBuffer(int dataType,
int width,
int height,
int bandNr,
boolean malloc,
int nHddPags)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
void |
accept(Visitor visitor)
Provides each value of this Store to the provided
Visitor. |
void |
addDrawableBands(int[] db)
Assigns the band list but only for a read only buffer
|
void |
assign(int band,
byte value) |
void |
assign(int band,
double value) |
void |
assign(int band,
float value) |
void |
assign(int band,
int value) |
void |
assign(int band,
short value) |
void |
assignBand(int nBand,
Band band)
Sustituye una banda completa que se asigna por referencia
|
void |
assignBandToNotValid(int Band)
Asigna una banda al valor especificado como no valido.
|
Buffer |
cloneBuffer()
Clona el buffer actual y devuelve el clone
|
void |
copyBand(int nBand,
Band band)
Sustituye una banda completa copiando los datos de la que se pasa por parámetro
|
Band |
createBand(byte defaultValue)
Crea un buffer banda inicializado con el valor pasado por parámetro.
|
void |
dispose()
Disposes the current object, to allow it to close and dispose any used
resources.
|
protected void |
finalize() |
Buffer |
getAdjustedWindow(int w,
int h,
int interpolationMethod)
Ajusta el área del grid a un ancho y un alto dado en pixeles.
|
double[][] |
getAllBandsLimits() |
Band |
getBand(int nBand)
Obtiene una banda completa del raster
|
Buffer |
getBandBuffer(int nBand)
Obtiene una banda completa del raster
|
int |
getBandCount()
Número de bandas
|
int |
getBlockHeight()
Gets the height of a block of data.
|
Rectangle2D |
getDataExtent()
Gets a bouding box of this buffer
|
int |
getDataType()
Obtiene el tipo de dato.
|
void |
getElemByte(int line,
int col,
byte[] data) |
byte |
getElemByte(int line,
int col,
int band) |
void |
getElemDouble(int line,
int col,
double[] data) |
double |
getElemDouble(int line,
int col,
int band) |
void |
getElemFloat(int line,
int col,
float[] data) |
float |
getElemFloat(int line,
int col,
int band) |
int |
getElemInt(int line,
int col,
int band) |
void |
getElemInt(int line,
int col,
int[] data) |
short |
getElemShort(int line,
int col,
int band) |
void |
getElemShort(int line,
int col,
short[] data) |
int |
getHeight()
Alto del raster
|
HistogramComputer |
getHistogramComputer()
Gets the object which computes the histogram
|
IncrementableTask |
getIncrementableTask(int type)
This call returns an incrementable task that is needed to load the buffer.
|
double[] |
getLimits()
Calcula el mínimo y el máximo del histograma previamente.
|
byte[][] |
getLineByte(int line)
Obtiene una línea de datos con todas las bandas para buffers con tipo
de dato byte.
|
double[][] |
getLineDouble(int line)
Obtiene una línea de datos con todas las bandas para buffers con tipo
de dato double.
|
float[][] |
getLineFloat(int line)
Obtiene una línea de datos con todas las bandas para buffers con tipo
de dato float.
|
byte[] |
getLineFromBandByte(int line,
int band)
Obtiene una línea de datos de la banda solicitada para buffers con tipo
de dato byte.
|
double[] |
getLineFromBandDouble(int line,
int band)
Obtiene una línea de datos de la banda solicitada para buffers con tipo
de dato double.
|
float[] |
getLineFromBandFloat(int line,
int band)
Obtiene una línea de datos de la banda solicitada para buffers con tipo
de dato float.
|
int[] |
getLineFromBandInt(int line,
int band)
Obtiene una línea de datos de la banda solicitada para buffers con tipo
de dato int.
|
short[] |
getLineFromBandShort(int line,
int band)
Obtiene una línea de datos de la banda solicitada para buffers con tipo
de dato short.
|
int[][] |
getLineInt(int line)
Obtiene una línea de datos con todas las bandas para buffers con tipo
de dato int.
|
short[][] |
getLineShort(int line)
Obtiene una línea de datos con todas las bandas para buffers con tipo
de dato short.
|
double |
getMaximum() |
double |
getMinimum() |
NoData |
getNoDataValue()
Gets the NoData value of this buffer
|
double |
getNotValidValue()
Obtiene el valor de no valido.
|
RasterDataStore |
getStore()
Gets the RasterDataStore reference
|
int |
getWidth()
Ancho del raster
|
void |
interchangeBands(int band1,
int band2)
Intercambia dos bandas.
|
boolean |
isBandSwitchable()
Informa de si el buffer tiene la capacidad de intercambio de bandas o
no la tiene.
|
boolean |
isCached()
Returns true if it is a cached buffer
|
boolean |
isFromStore(DataStore store)
Indicates whether this DataSet belongs to a specific store
|
boolean |
isInside(int x,
int y)
Obtiene true si el pixel pasado por parámetro cae dentro de los límites
del rater y false si cae fuera.
|
boolean |
isReadOnlyBuffer()
Returns true if the current buffer can't be writed
|
void |
loadPage(int nPag)
Carga una página especificada en el parámetro nPag con los datos necesarios.
|
void |
mallocOneBand(int dataType,
int width,
int height,
int band)
Reserva de memoria para el rasterbuf solo en la banda solicitada
|
void |
replicateBand(int orig,
int dest)
Replica la banda de una posición sobre otra.
|
void |
savePage(int nPag)
Salva una página especificada en el parámetro nPag a disco.
|
void |
setDataExtent(Rectangle2D r)
Sets a bounding box of this buffer
|
void |
setDataType(int dataType)
Asigna el tipo de dato.
|
void |
setElem(int line,
int col,
int band,
byte data) |
void |
setElem(int line,
int col,
int band,
double data) |
void |
setElem(int line,
int col,
int band,
float data) |
void |
setElem(int line,
int col,
int band,
int data) |
void |
setElem(int line,
int col,
int band,
short data) |
void |
setElemByte(int line,
int col,
byte[] data) |
void |
setElemDouble(int line,
int col,
double[] data) |
void |
setElemFloat(int line,
int col,
float[] data) |
void |
setElemInt(int line,
int col,
int[] data) |
void |
setElemShort(int line,
int col,
short[] data) |
void |
setHddPages(HddPage[] hddList)
Asigna la lista de paginas de disco
|
void |
setLineByte(byte[][] data,
int line) |
void |
setLineDouble(double[][] data,
int line) |
void |
setLineFloat(float[][] data,
int line) |
void |
setLineInBandByte(byte[] data,
int line,
int band) |
void |
setLineInBandDouble(double[] data,
int line,
int band) |
void |
setLineInBandFloat(float[] data,
int line,
int band) |
void |
setLineInBandInt(int[] data,
int line,
int band) |
void |
setLineInBandShort(short[] data,
int line,
int band) |
void |
setLineInt(int[][] data,
int line) |
void |
setLineShort(short[][] data,
int line) |
void |
setNoDataValue(NoData nd)
Sets the NoData value
|
void |
setNotValidValue(double value)
Asigna el valor de no valido.
|
void |
setStore(RasterDataStore store)
Sets the RasterDataStore reference
|
void |
switchBands(int[] bands)
Intercambia la posición de las bandas.
|
projectpublic PageBuffer(int dataType,
int width,
int height,
int bandNr,
boolean malloc,
int nHddPags)
dataType - width - height - bandNr - malloc - public boolean isBandSwitchable()
BufferisBandSwitchable in interface Bufferpublic void setHddPages(HddPage[] hddList)
hddList - Lista de páginas de discopublic void loadPage(int nPag)
nPag - Número de página a cargarpublic void savePage(int nPag)
throws IOException
nPag - Número de página a salvarIOExceptionpublic void assignBand(int nBand,
Band band)
BufferassignBand in interface BuffernBand - Número de banda a sustituirpublic void assignBandToNotValid(int Band)
BufferassignBandToNotValid in interface BufferBand - Número de bandapublic Buffer cloneBuffer()
BuffercloneBuffer in interface Bufferpublic void copyBand(int nBand,
Band band)
Bufferpublic Band createBand(byte defaultValue)
BuffercreateBand in interface BufferdefaultValue - Valor con el que se inicializa la banda creadapublic Band getBand(int nBand)
Bufferpublic Buffer getBandBuffer(int nBand)
BuffergetBandBuffer in interface BuffernBand - Número de bandapublic int getBandCount()
BuffergetBandCount in interface Bufferpublic int getDataType()
BuffergetDataType in interface Bufferpublic void setDataType(int dataType)
BuffersetDataType in interface BufferdataType - Tipo de dato del bufferpublic int getBlockHeight()
BuffergetBlockHeight in interface Bufferpublic int getHeight()
Bufferpublic int getWidth()
Bufferpublic NoData getNoDataValue()
BuffergetNoDataValue in interface Bufferpublic double getNotValidValue()
BuffergetNotValidValue in interface Bufferpublic byte getElemByte(int line,
int col,
int band)
getElemByte in interface Bufferpublic short getElemShort(int line,
int col,
int band)
getElemShort in interface Bufferpublic int getElemInt(int line,
int col,
int band)
getElemInt in interface Bufferpublic float getElemFloat(int line,
int col,
int band)
getElemFloat in interface Bufferpublic double getElemDouble(int line,
int col,
int band)
getElemDouble in interface Bufferpublic void getElemByte(int line,
int col,
byte[] data)
getElemByte in interface Bufferpublic void getElemShort(int line,
int col,
short[] data)
getElemShort in interface Bufferpublic void getElemInt(int line,
int col,
int[] data)
getElemInt in interface Bufferpublic void getElemFloat(int line,
int col,
float[] data)
getElemFloat in interface Bufferpublic void getElemDouble(int line,
int col,
double[] data)
getElemDouble in interface Bufferpublic byte[][] getLineByte(int line)
BuffergetLineByte in interface Bufferline - Número de línea del buffer a recuperarpublic double[][] getLineDouble(int line)
BuffergetLineDouble in interface Bufferline - Número de línea del buffer a recuperarpublic float[][] getLineFloat(int line)
BuffergetLineFloat in interface Bufferline - Número de línea del buffer a recuperarpublic int[][] getLineInt(int line)
BuffergetLineInt in interface Bufferline - Número de línea del buffer a recuperarpublic short[][] getLineShort(int line)
BuffergetLineShort in interface Bufferline - Número de línea del buffer a recuperarpublic byte[] getLineFromBandByte(int line,
int band)
BuffergetLineFromBandByte in interface Bufferline - Número de línea del buffer a recuperarband - Número de banda a recuperarpublic double[] getLineFromBandDouble(int line,
int band)
BuffergetLineFromBandDouble in interface Bufferline - Número de línea del buffer a recuperarband - Número de banda a recuperarpublic float[] getLineFromBandFloat(int line,
int band)
BuffergetLineFromBandFloat in interface Bufferline - Número de línea del buffer a recuperarband - Número de banda a recuperarpublic int[] getLineFromBandInt(int line,
int band)
BuffergetLineFromBandInt in interface Bufferline - Número de línea del buffer a recuperarband - Número de banda a recuperarpublic short[] getLineFromBandShort(int line,
int band)
BuffergetLineFromBandShort in interface Bufferline - Número de línea del buffer a recuperarband - Número de banda a recuperarpublic void interchangeBands(int band1,
int band2)
BufferinterchangeBands in interface Bufferband1 - Banda 1 a intercambiarband2 - Banda 2 a intercambiarpublic void mallocOneBand(int dataType,
int width,
int height,
int band)
BuffermallocOneBand in interface BufferdataType - Tipo de datowidth - Anchoheight - Altoband - Número de bandapublic void replicateBand(int orig,
int dest)
BufferreplicateBand in interface Bufferpublic void setElem(int line,
int col,
int band,
byte data)
public void setElem(int line,
int col,
int band,
short data)
public void setElem(int line,
int col,
int band,
int data)
public void setElem(int line,
int col,
int band,
float data)
public void setElem(int line,
int col,
int band,
double data)
public void setElemByte(int line,
int col,
byte[] data)
setElemByte in interface Bufferpublic void setElemDouble(int line,
int col,
double[] data)
setElemDouble in interface Bufferpublic void setElemFloat(int line,
int col,
float[] data)
setElemFloat in interface Bufferpublic void setElemInt(int line,
int col,
int[] data)
setElemInt in interface Bufferpublic void setElemShort(int line,
int col,
short[] data)
setElemShort in interface Bufferpublic void setLineByte(byte[][] data,
int line)
setLineByte in interface Bufferpublic void setLineDouble(double[][] data,
int line)
setLineDouble in interface Bufferpublic void setLineFloat(float[][] data,
int line)
setLineFloat in interface Bufferpublic void setLineInt(int[][] data,
int line)
setLineInt in interface Bufferpublic void setLineShort(short[][] data,
int line)
setLineShort in interface Bufferpublic void setLineInBandByte(byte[] data,
int line,
int band)
setLineInBandByte in interface Bufferpublic void setLineInBandDouble(double[] data,
int line,
int band)
setLineInBandDouble in interface Bufferpublic void setLineInBandFloat(float[] data,
int line,
int band)
setLineInBandFloat in interface Bufferpublic void setLineInBandInt(int[] data,
int line,
int band)
setLineInBandInt in interface Bufferpublic void setLineInBandShort(short[] data,
int line,
int band)
setLineInBandShort in interface Bufferpublic void setNoDataValue(NoData nd)
BuffersetNoDataValue in interface Bufferpublic void setNotValidValue(double value)
BuffersetNotValidValue in interface Bufferpublic void switchBands(int[] bands)
BufferPor ejemplo un array con los valores: [2, 0, 1] significa que la banda que ocupa ahora la posición 2 pasará a ocupar la 0, la que tiene la posición 0 pasa a ocupar la 1 y la que tiene la posición 1 pasa a ocupar la 2.
switchBands in interface Bufferbands - Array con la nueva distribución de bandaspublic double getMinimum()
public double getMaximum()
public double[] getLimits()
throws ProcessInterruptedException
BuffergetLimits in interface BufferProcessInterruptedExceptionpublic double[][] getAllBandsLimits()
throws ProcessInterruptedException
getAllBandsLimits in interface BufferProcessInterruptedExceptionpublic HistogramComputer getHistogramComputer()
HistogramablegetHistogramComputer in interface Histogramablepublic boolean isInside(int x,
int y)
Bufferpublic boolean isReadOnlyBuffer()
BufferisReadOnlyBuffer in interface Bufferpublic boolean isCached()
Bufferpublic IncrementableTask getIncrementableTask(int type)
BuffergetIncrementableTask in interface Bufferpublic Buffer getAdjustedWindow(int w, int h, int interpolationMethod) throws ProcessInterruptedException
BuffergetAdjustedWindow in interface Bufferw - Ancho de la nueva imagen.h - Alto de la nueva imagen.ProcessInterruptedExceptionpublic Rectangle2D getDataExtent()
BuffergetDataExtent in interface Bufferpublic void setDataExtent(Rectangle2D r)
BuffersetDataExtent in interface Bufferpublic RasterDataStore getStore()
Bufferpublic void setStore(RasterDataStore store)
Bufferpublic void addDrawableBands(int[] db)
BufferaddDrawableBands in interface Bufferpublic boolean isFromStore(DataStore store)
DataSetisFromStore in interface DataSetstore - a DataStorepublic void accept(Visitor visitor) throws BaseException
DataSetVisitor.
The values received through the Visitor.visit(Object) method
may be transient, reused or externally modifiable, so they can't
be used to be stored in any external form out of the visit method.
If you need to store any of the values out of the
Visitor.visit(Object) method execution, create a copy or clone
the received value in order to be stored.accept in interface DataSetaccept in interface Visitablevisitor - the visitor to apply to each value.BaseException - if there is an error while performing the visitpublic void dispose()
DisposableNOTE:After calling this method, the object may not be usable anymore.
dispose in interface Disposable