org.cresques.io
Class GdalFile

java.lang.Object
  extended byorg.cresques.io.GeoFile
      extended byorg.cresques.io.GeoRasterFile
          extended byorg.cresques.io.GdalFile
All Implemented Interfaces:
Extent.Has, Projected

public class GdalFile
extends GeoRasterFile

Author:
Luis W. Sevilla

Field Summary
static int BAND_HEIGHT
           
protected  org.cresques.io.GdalNative file
           
 
Fields inherited from class org.cresques.io.GeoRasterFile
bandCount, bBandNr, BLUE_BAND, doTransparency, gBandNr, GREEN_BAND, rBandNr, RED_BAND, tFilter, updatable
 
Fields inherited from class org.cresques.io.GeoFile
bytesReaded, extent, lineCnt
 
Constructor Summary
GdalFile(IProjection proj, java.lang.String fName)
           
 
Method Summary
 void close()
          Cierra el fichero y libera los recursos.
 int getBlockSize()
          Devuelve el tamaño de bloque
 java.lang.Object getData(int x, int y, int band)
          Obtiene el valor del raster en la coordenada que se le pasa.
 java.lang.String getGeogCS()
          Obtiene el sistema de coordenadas geograficas
 int getHeight()
          Obtiene el ancho de la imagen
 RasterBuf getRaster(int width, int height, ICoordTrans rp)
           
 int getUTM()
          Devuelve el número de zona UTM
 Extent getView()
          Obtiene el extent asignado
 int getWidth()
          Obtiene el ancho de la imagen
 byte[] getWindow(int ulX, int ulY, int sizeX, int sizeY, int band)
          Devuelve los datos de una ventana solicitada
 boolean getZone()
          Obtiene la zona (Norte / Sur)
 GeoFile load()
          Carga un fichero raster.
 void reProject(ICoordTrans rp)
          Reproyección.
 void setBand(int flag, int bandNr)
          Asocia un colorBand al rojo, verde o azul.
protected  void setRGBLine(java.awt.image.BufferedImage image, int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)
          Asigna al objeto Image los valores con los dato de la imagen contenidos en el vector de enteros.
protected  void setRGBLine(java.awt.image.BufferedImage image, int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize, int flags)
          Asigna al objeto Image la mezcla entre los valores que ya tiene y los valores con los dato de la imagen contenidos en el vector de enteros.
protected  void setRGBLine(java.awt.image.BufferedImage image, int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize, int origBand, int destBandFlag)
          Asigna al objeto Image la mezcla entre los valores que ya tiene y los valores con los dato de la imagen contenidos en el vector de enteros.
 void setView(Extent e)
          Asigna un nuevo Extent
 java.awt.Image updateImage(int width, int height, ICoordTrans rp)
          Actualiza la imagen
 java.awt.Image updateImage(int width, int height, ICoordTrans rp, java.awt.Image img, int origBand, int destBandFlag)
          Actualiza la/s banda/s especificadas en la imagen.
 
Methods inherited from class org.cresques.io.GeoRasterFile
cornersToWorldFile, fileIsSupported, getAlpha, getBand, getBandCount, getContour, getDataType, getObjects, getTransparency, openFile, printWF, registerExtension, saveWF, setAlpha, setDataType, setTransparency, setTransparency, setUpdatable
 
Methods inherited from class org.cresques.io.GeoFile
filterWS, getExtent, getFileSize, getName, getProjection, getTime, setFileSize, setName, setProjection
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BAND_HEIGHT

public static final int BAND_HEIGHT
See Also:
Constant Field Values

file

protected org.cresques.io.GdalNative file
Constructor Detail

GdalFile

public GdalFile(IProjection proj,
                java.lang.String fName)
Method Detail

load

public GeoFile load()
Description copied from class: GeoRasterFile
Carga un fichero raster. Puede usarse para calcular el extent e instanciar un objeto de este tipo.

Specified by:
load in class GeoRasterFile

close

public void close()
Description copied from class: GeoRasterFile
Cierra el fichero y libera los recursos.

Specified by:
close in class GeoRasterFile

setBand

public void setBand(int flag,
                    int bandNr)
Description copied from class: GeoRasterFile
Asocia un colorBand al rojo, verde o azul.

Overrides:
setBand in class GeoRasterFile
Parameters:
flag - cual (o cuales) de las bandas.

setView

public void setView(Extent e)
Description copied from class: GeoRasterFile
Asigna un nuevo Extent

Specified by:
setView in class GeoRasterFile
Parameters:
e - Extent

getView

public Extent getView()
Description copied from class: GeoRasterFile
Obtiene el extent asignado

Specified by:
getView in class GeoRasterFile
Returns:
Extent

getWidth

public int getWidth()
Description copied from class: GeoRasterFile
Obtiene el ancho de la imagen

Specified by:
getWidth in class GeoRasterFile
Returns:
Ancho de la imagen

getHeight

public int getHeight()
Description copied from class: GeoRasterFile
Obtiene el ancho de la imagen

Specified by:
getHeight in class GeoRasterFile
Returns:
Ancho de la imagen

reProject

public void reProject(ICoordTrans rp)
Description copied from class: GeoRasterFile
Reproyección.

Specified by:
reProject in interface Projected
Specified by:
reProject in class GeoRasterFile
Parameters:
rp - Coordenadas de la transformación

updateImage

public java.awt.Image updateImage(int width,
                                  int height,
                                  ICoordTrans rp)
Description copied from class: GeoRasterFile
Actualiza la imagen

Specified by:
updateImage in class GeoRasterFile
Parameters:
width - ancho
height - alto
rp - Reproyección
Returns:
img

getRaster

public RasterBuf getRaster(int width,
                           int height,
                           ICoordTrans rp)

setRGBLine

protected void setRGBLine(java.awt.image.BufferedImage image,
                          int startX,
                          int startY,
                          int w,
                          int h,
                          int[] rgbArray,
                          int offset,
                          int scansize)
Asigna al objeto Image los valores con los dato de la imagen contenidos en el vector de enteros.

Parameters:
image - imagen con los datos actuales
startX - inicio de la posición en X dentro de la imagen
startY - inicio de la posición en X dentro de la imagen
w - Ancho de la imagen
h - Alto de la imagen
rgbArray - vector que contiene la banda que se va a sustituir
offset - desplazamiento
scansize - tamaño de imagen recorrida por cada p

setRGBLine

protected void setRGBLine(java.awt.image.BufferedImage image,
                          int startX,
                          int startY,
                          int w,
                          int h,
                          int[] rgbArray,
                          int offset,
                          int scansize,
                          int flags)
Asigna al objeto Image la mezcla entre los valores que ya tiene y los valores con los dato de la imagen contenidos en el vector de enteros. De los valores RGB que ya contiene se mantienen las bandas que no coinciden con el valor de flags. La banda correspondiente a flags es sustituida por los datos del vector.

Parameters:
image - imagen con los datos actuales
startX - inicio de la posición en X dentro de la imagen
startY - inicio de la posición en X dentro de la imagen
w - Ancho de la imagen
h - Alto de la imagen
rgbArray - vector que contiene la banda que se va a sustituir
offset - desplazamiento
scansize - tamaño de imagen recorrida por cada paso
flags - banda que se va a sustituir (Ctes de GeoRasterFile)

setRGBLine

protected void setRGBLine(java.awt.image.BufferedImage image,
                          int startX,
                          int startY,
                          int w,
                          int h,
                          int[] rgbArray,
                          int offset,
                          int scansize,
                          int origBand,
                          int destBandFlag)
Asigna al objeto Image la mezcla entre los valores que ya tiene y los valores con los dato de la imagen contenidos en el vector de enteros. De los valores RGB que ya contiene se mantienen las bandas que no coinciden con el valor de flags. La banda correspondiente a flags es sustituida por los datos del vector.

Parameters:
image - imagen con los datos actuales
startX - inicio de la posición en X dentro de la imagen
startY - inicio de la posición en X dentro de la imagen
w - Ancho de la imagen
h - Alto de la imagen
rgbArray - vector que contiene la banda que se va a sustituir
offset - desplazamiento
scansize - tamaño de imagen recorrida por cada paso
origBand - Banda origen del GeoRasterFile
destBandFlag - banda que se va a sustituir (Ctes de GeoRasterFile)

updateImage

public java.awt.Image updateImage(int width,
                                  int height,
                                  ICoordTrans rp,
                                  java.awt.Image img,
                                  int origBand,
                                  int destBandFlag)
Description copied from class: GeoRasterFile
Actualiza la/s banda/s especificadas en la imagen.

Specified by:
updateImage in class GeoRasterFile
Parameters:
width - ancho
height - alto
rp - reproyección
img - imagen
Returns:
img

getData

public java.lang.Object getData(int x,
                                int y,
                                int band)
Description copied from class: GeoRasterFile
Obtiene el valor del raster en la coordenada que se le pasa. El valor será Double, Int, Byte, etc. dependiendo del tipo de raster.

Specified by:
getData in class GeoRasterFile
Parameters:
x - coordenada X
y - coordenada Y
Returns:

getWindow

public byte[] getWindow(int ulX,
                        int ulY,
                        int sizeX,
                        int sizeY,
                        int band)
Devuelve los datos de una ventana solicitada

Specified by:
getWindow in class GeoRasterFile
Parameters:
ulX - coordenada X superior izda.
ulY - coordenada Y superior derecha.
sizeX - tamaño en X de la ventana.
sizeY - tamaño en Y de la ventana.
band - Banda solicitada.

getZone

public boolean getZone()
Obtiene la zona (Norte / Sur)

Returns:
true si la zona es norte y false si es sur

getUTM

public int getUTM()
Devuelve el número de zona UTM

Returns:
Número de zona

getGeogCS

public java.lang.String getGeogCS()
Obtiene el sistema de coordenadas geograficas

Returns:
Sistema de coordenadas geográficas

getBlockSize

public int getBlockSize()
Devuelve el tamaño de bloque

Specified by:
getBlockSize in class GeoRasterFile
Returns:
Tamaño de bloque