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.
|
project
public PageBuffer(int dataType, int width, int height, int bandNr, boolean malloc, int nHddPags)
dataType
- width
- height
- bandNr
- malloc
- public boolean isBandSwitchable()
Buffer
isBandSwitchable
in interface Buffer
public 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 salvarIOException
public void assignBand(int nBand, Band band)
Buffer
assignBand
in interface Buffer
nBand
- Número de banda a sustituirpublic void assignBandToNotValid(int Band)
Buffer
assignBandToNotValid
in interface Buffer
Band
- Número de bandapublic Buffer cloneBuffer()
Buffer
cloneBuffer
in interface Buffer
public void copyBand(int nBand, Band band)
Buffer
public Band createBand(byte defaultValue)
Buffer
createBand
in interface Buffer
defaultValue
- Valor con el que se inicializa la banda creadapublic Band getBand(int nBand)
Buffer
public Buffer getBandBuffer(int nBand)
Buffer
getBandBuffer
in interface Buffer
nBand
- Número de bandapublic int getBandCount()
Buffer
getBandCount
in interface Buffer
public int getDataType()
Buffer
getDataType
in interface Buffer
public void setDataType(int dataType)
Buffer
setDataType
in interface Buffer
dataType
- Tipo de dato del bufferpublic int getBlockHeight()
Buffer
getBlockHeight
in interface Buffer
public int getHeight()
Buffer
public int getWidth()
Buffer
public NoData getNoDataValue()
Buffer
getNoDataValue
in interface Buffer
public double getNotValidValue()
Buffer
getNotValidValue
in interface Buffer
public byte getElemByte(int line, int col, int band)
getElemByte
in interface Buffer
public short getElemShort(int line, int col, int band)
getElemShort
in interface Buffer
public int getElemInt(int line, int col, int band)
getElemInt
in interface Buffer
public float getElemFloat(int line, int col, int band)
getElemFloat
in interface Buffer
public double getElemDouble(int line, int col, int band)
getElemDouble
in interface Buffer
public void getElemByte(int line, int col, byte[] data)
getElemByte
in interface Buffer
public void getElemShort(int line, int col, short[] data)
getElemShort
in interface Buffer
public void getElemInt(int line, int col, int[] data)
getElemInt
in interface Buffer
public void getElemFloat(int line, int col, float[] data)
getElemFloat
in interface Buffer
public void getElemDouble(int line, int col, double[] data)
getElemDouble
in interface Buffer
public byte[][] getLineByte(int line)
Buffer
getLineByte
in interface Buffer
line
- Número de línea del buffer a recuperarpublic double[][] getLineDouble(int line)
Buffer
getLineDouble
in interface Buffer
line
- Número de línea del buffer a recuperarpublic float[][] getLineFloat(int line)
Buffer
getLineFloat
in interface Buffer
line
- Número de línea del buffer a recuperarpublic int[][] getLineInt(int line)
Buffer
getLineInt
in interface Buffer
line
- Número de línea del buffer a recuperarpublic short[][] getLineShort(int line)
Buffer
getLineShort
in interface Buffer
line
- Número de línea del buffer a recuperarpublic byte[] getLineFromBandByte(int line, int band)
Buffer
getLineFromBandByte
in interface Buffer
line
- Número de línea del buffer a recuperarband
- Número de banda a recuperarpublic double[] getLineFromBandDouble(int line, int band)
Buffer
getLineFromBandDouble
in interface Buffer
line
- Número de línea del buffer a recuperarband
- Número de banda a recuperarpublic float[] getLineFromBandFloat(int line, int band)
Buffer
getLineFromBandFloat
in interface Buffer
line
- Número de línea del buffer a recuperarband
- Número de banda a recuperarpublic int[] getLineFromBandInt(int line, int band)
Buffer
getLineFromBandInt
in interface Buffer
line
- Número de línea del buffer a recuperarband
- Número de banda a recuperarpublic short[] getLineFromBandShort(int line, int band)
Buffer
getLineFromBandShort
in interface Buffer
line
- Número de línea del buffer a recuperarband
- Número de banda a recuperarpublic void interchangeBands(int band1, int band2)
Buffer
interchangeBands
in interface Buffer
band1
- Banda 1 a intercambiarband2
- Banda 2 a intercambiarpublic void mallocOneBand(int dataType, int width, int height, int band)
Buffer
mallocOneBand
in interface Buffer
dataType
- Tipo de datowidth
- Anchoheight
- Altoband
- Número de bandapublic void replicateBand(int orig, int dest)
Buffer
replicateBand
in interface Buffer
public 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 Buffer
public void setElemDouble(int line, int col, double[] data)
setElemDouble
in interface Buffer
public void setElemFloat(int line, int col, float[] data)
setElemFloat
in interface Buffer
public void setElemInt(int line, int col, int[] data)
setElemInt
in interface Buffer
public void setElemShort(int line, int col, short[] data)
setElemShort
in interface Buffer
public void setLineByte(byte[][] data, int line)
setLineByte
in interface Buffer
public void setLineDouble(double[][] data, int line)
setLineDouble
in interface Buffer
public void setLineFloat(float[][] data, int line)
setLineFloat
in interface Buffer
public void setLineInt(int[][] data, int line)
setLineInt
in interface Buffer
public void setLineShort(short[][] data, int line)
setLineShort
in interface Buffer
public void setLineInBandByte(byte[] data, int line, int band)
setLineInBandByte
in interface Buffer
public void setLineInBandDouble(double[] data, int line, int band)
setLineInBandDouble
in interface Buffer
public void setLineInBandFloat(float[] data, int line, int band)
setLineInBandFloat
in interface Buffer
public void setLineInBandInt(int[] data, int line, int band)
setLineInBandInt
in interface Buffer
public void setLineInBandShort(short[] data, int line, int band)
setLineInBandShort
in interface Buffer
public void setNoDataValue(NoData nd)
Buffer
setNoDataValue
in interface Buffer
public void setNotValidValue(double value)
Buffer
setNotValidValue
in interface Buffer
public void switchBands(int[] bands)
Buffer
Por 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 Buffer
bands
- Array con la nueva distribución de bandaspublic double getMinimum()
public double getMaximum()
public double[] getLimits() throws ProcessInterruptedException
Buffer
getLimits
in interface Buffer
ProcessInterruptedException
public double[][] getAllBandsLimits() throws ProcessInterruptedException
getAllBandsLimits
in interface Buffer
ProcessInterruptedException
public HistogramComputer getHistogramComputer()
Histogramable
getHistogramComputer
in interface Histogramable
public boolean isInside(int x, int y)
Buffer
public boolean isReadOnlyBuffer()
Buffer
isReadOnlyBuffer
in interface Buffer
public boolean isCached()
Buffer
public IncrementableTask getIncrementableTask(int type)
Buffer
getIncrementableTask
in interface Buffer
public Buffer getAdjustedWindow(int w, int h, int interpolationMethod) throws ProcessInterruptedException
Buffer
getAdjustedWindow
in interface Buffer
w
- Ancho de la nueva imagen.h
- Alto de la nueva imagen.ProcessInterruptedException
public Rectangle2D getDataExtent()
Buffer
getDataExtent
in interface Buffer
public void setDataExtent(Rectangle2D r)
Buffer
setDataExtent
in interface Buffer
public RasterDataStore getStore()
Buffer
public void setStore(RasterDataStore store)
Buffer
public void addDrawableBands(int[] db)
Buffer
addDrawableBands
in interface Buffer
public boolean isFromStore(DataStore store)
DataSet
isFromStore
in interface DataSet
store
- a DataStorepublic void accept(Visitor visitor) throws BaseException
DataSet
Visitor
.
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 DataSet
accept
in interface Visitable
visitor
- the visitor to apply to each value.BaseException
- if there is an error while performing the visitpublic void dispose()
Disposable
NOTE:After calling this method, the object may not be usable anymore.
dispose
in interface Disposable