org.cresques.px
Class PxRaster

java.lang.Object
  extended byorg.cresques.px.PxObj
      extended byorg.cresques.px.PxRaster
All Implemented Interfaces:
Drawable, Extent.Has, Projected

public class PxRaster
extends PxObj
implements Projected

Author:
Luis W. Sevilla (sevilla_lui@gva.es), Nacho Brodin (brodin_ign@gva.es)

Field Summary
protected  int bBand
           
protected  java.awt.image.ImageObserver component
           
protected  Extent extentOrig
           
 RasterFilterStack filterStack
           
protected  int gBand
           
protected  GeoRasterFile[] geoFile
           
protected  boolean pintaMarco
           
protected  int rBand
           
 RasterStats stats
           
 
Fields inherited from class org.cresques.px.PxObj
extent, stroke
 
Constructor Summary
PxRaster(GeoRasterFile eFile, java.awt.image.ImageObserver component, Extent view)
           
PxRaster(java.awt.image.ImageObserver component)
          Constructor.
PxRaster(IProjection proj, java.lang.String[] fnames, java.awt.image.ImageObserver component)
          Constructor para multiples ficheros
PxRaster(IProjection proj, java.lang.String fname, java.awt.image.ImageObserver component)
          Contructor para un solo fichero
 
Method Summary
 void addFile(java.lang.String fileName)
          Añade un GeoRasterFile al PxRaster
protected  void calculateNewView(Extent sz)
          'Normaliza' la vista en función del extent del raster.
 void delFile(java.lang.String fileName)
          Elimina un GeoRasterFile al PxRaster
 void draw(java.awt.Graphics2D g, ViewPortData vp)
          Dibuja el raster
 void drawMarco(java.awt.Graphics2D g, ViewPortData vp)
           
 int getAlpha()
          Obtiene el alpha del primer fichero.
 int getBand(int flag)
          Devuelve el colorBand activo en la banda especificada.
 int getBandCount()
          Obtiene el número de bandas del PxRaster.
 int getBlockSize()
          Obtiene el tamaño de bloque
 int getDataType()
          Obtiene el tipo de dato del primer GeoRasterFile
 int getFHeight()
          Devuelve la altura total del fichero, en pixeles.
 int getFHeight(int i)
          Devuelve la altura total del fichero, en pixeles.
 GeoRasterFile[] getFiles()
          Obtiene el vector de GeoRasterFile que componen el PxRaster
 java.lang.String getFName()
          Obtiene el nombre del fichero si solo hay uno
 java.lang.String getFName(int i)
          Obtiene el nombre del fichero GeoRasterFile seleccionado
 int getFWidth()
          Devuelve la anchura total del fichero, en pixeles.
 int getFWidth(int i)
          Devuelve la anchura total del fichero, en pixeles.
 GeoRasterFile getGeoFile()
           
 GeoRasterFile[] getGeoFiles()
           
 java.lang.String[] getLisName()
          Obtiene una lista de Strings con los nombres de todos los ficheros que tiene el PxRaster
 int[] getPixel(double wcx, double wcy)
          Obtiene el valor del pixel del Image en la posición wcx,wcy
 int getPosFile(int flag)
          Obtiene la posición del fichero asignado a la banda que se le pasa por parámetro
 IProjection getProjection()
           
 double[] getScale(int width, int height)
          Obtiene la escala.
 RasterFilterStackManager getStackManager()
          Obtiene el Stack Manager
 int nFiles()
          Devuelve el número de ficheros que componen el PxRaster
 java.awt.Image renderizeRaster(java.awt.Image image)
          Aplica la pila de filtros sobre el Image pasado como parámetro y lo devuelve.
 java.awt.Image renderizeRaster(RasterBuf raster)
          Aplica la pila de fitros sobre el RasterBuf pasado como parámetro y lo devuelve en Image
 void reProject(ICoordTrans rp)
           
 void setBand(int flag, int nBand)
          Asocia un colorBand al rojo, verde o azul.
 void setDrawBorder(boolean pm)
           
 void setExtent(Extent e)
          Asigna el extent
 void setProjection(IProjection p)
           
 void setStackManager(RasterFilterStackManager sm)
          Asigna el Stack Manager
 void setTransparency(boolean t)
          Activa o desactiva la transparencia de los ficheros que forman el PxRaster
 void setTransparency(int t)
          Pone la transparencia de los ficheros de la imagen a un valor
 void setView(Extent v, java.lang.String vName)
          Cambia la vista (viewport) sobre el raster.
 Extent testExtentFile(java.lang.String fileName)
          Devuelve el Extent de un fichero son necesidad de añadirlo al PxRaster
 
Methods inherited from class org.cresques.px.PxObj
getExtent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

geoFile

protected GeoRasterFile[] geoFile

component

protected java.awt.image.ImageObserver component

rBand

protected int rBand

gBand

protected int gBand

bBand

protected int bBand

stats

public RasterStats stats

pintaMarco

protected boolean pintaMarco

extentOrig

protected Extent extentOrig

filterStack

public RasterFilterStack filterStack
Constructor Detail

PxRaster

public PxRaster(java.awt.image.ImageObserver component)
Constructor.

Parameters:
component -

PxRaster

public PxRaster(IProjection proj,
                java.lang.String fname,
                java.awt.image.ImageObserver component)
Contructor para un solo fichero

Parameters:
proj - Proyeccción
fname - Nombre del fichero
component -

PxRaster

public PxRaster(IProjection proj,
                java.lang.String[] fnames,
                java.awt.image.ImageObserver component)
Constructor para multiples ficheros


PxRaster

public PxRaster(GeoRasterFile eFile,
                java.awt.image.ImageObserver component,
                Extent view)
Method Detail

addFile

public void addFile(java.lang.String fileName)
Añade un GeoRasterFile al PxRaster

Parameters:
fileName - Nombre del fichero

testExtentFile

public Extent testExtentFile(java.lang.String fileName)
Devuelve el Extent de un fichero son necesidad de añadirlo al PxRaster

Parameters:
fileName -
Returns:

getPixel

public int[] getPixel(double wcx,
                      double wcy)
Obtiene el valor del pixel del Image en la posición wcx,wcy

Parameters:
wcx - Posición x
Returns:
valor de pixel

delFile

public void delFile(java.lang.String fileName)
Elimina un GeoRasterFile al PxRaster


getBlockSize

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

Returns:

getGeoFiles

public GeoRasterFile[] getGeoFiles()
Returns:

getGeoFile

public GeoRasterFile getGeoFile()

getBandCount

public int getBandCount()
Obtiene el número de bandas del PxRaster. Si ls longitud de geoFile es 1 quiere decir que hay un solo fichero que contiene todas las bandas. Si hay más de un geoFile el número de bandas será la suma de todas las bandas de las imágenes que forman el geoFile

Returns:
Número de bandas

getDataType

public int getDataType()
Obtiene el tipo de dato del primer GeoRasterFile

Returns:

getFiles

public GeoRasterFile[] getFiles()
Obtiene el vector de GeoRasterFile que componen el PxRaster

Returns:
vector GeoRasterFile

setBand

public void setBand(int flag,
                    int nBand)
Asocia un colorBand al rojo, verde o azul.

Parameters:
flag - cual (o cuales) de las bandas.
nBand - que colorBand

getPosFile

public int getPosFile(int flag)
Obtiene la posición del fichero asignado a la banda que se le pasa por parámetro

Returns:

getBand

public int getBand(int flag)
Devuelve el colorBand activo en la banda especificada.

Parameters:
flag - banda.

setDrawBorder

public void setDrawBorder(boolean pm)
Parameters:
pm -

getFName

public java.lang.String getFName()
Obtiene el nombre del fichero si solo hay uno

Returns:
Nombre del fichero

getFName

public java.lang.String getFName(int i)
Obtiene el nombre del fichero GeoRasterFile seleccionado

Parameters:
i - posición del GeoRasterFile
Returns:
Nombre del fichero

getLisName

public java.lang.String[] getLisName()
Obtiene una lista de Strings con los nombres de todos los ficheros que tiene el PxRaster

Returns:
Lista de nombres

getFWidth

public int getFWidth()
Devuelve la anchura total del fichero, en pixeles.

Returns:
ancho en pixeles

getFWidth

public int getFWidth(int i)
Devuelve la anchura total del fichero, en pixeles.

Returns:
ancho en pixeles

getFHeight

public int getFHeight()
Devuelve la altura total del fichero, en pixeles.

Returns:
alto en pixeles

getFHeight

public int getFHeight(int i)
Devuelve la altura total del fichero, en pixeles.

Returns:
alto en pixeles

nFiles

public int nFiles()
Devuelve el número de ficheros que componen el PxRaster

Returns:
Número de ficheros

setTransparency

public void setTransparency(boolean t)
Activa o desactiva la transparencia de los ficheros que forman el PxRaster

Parameters:
t - true o false para activar o desactivar transparencia

setTransparency

public void setTransparency(int t)
Pone la transparencia de los ficheros de la imagen a un valor

Parameters:
t - Valor para la transparencia

getAlpha

public int getAlpha()
Obtiene el alpha del primer fichero. Han de ser iguales en todos los ficheros de la imagen.

Returns:
alpha

setExtent

public void setExtent(Extent e)
Asigna el extent

Parameters:
e - extent

setView

public void setView(Extent v,
                    java.lang.String vName)
Cambia la vista (viewport) sobre el raster.

Parameters:
v - extent
vName - nombre

getScale

public double[] getScale(int width,
                         int height)
Obtiene la escala.

Parameters:
width -
height -
Returns:

calculateNewView

protected void calculateNewView(Extent sz)
'Normaliza' la vista en función del extent del raster.

Parameters:
sz -

draw

public void draw(java.awt.Graphics2D g,
                 ViewPortData vp)
Dibuja el raster

Specified by:
draw in interface Drawable

renderizeRaster

public java.awt.Image renderizeRaster(RasterBuf raster)
Aplica la pila de fitros sobre el RasterBuf pasado como parámetro y lo devuelve en Image

Parameters:
raster - RasterBuf con la imagen sobre la que se aplicaran filtros
Returns:
Image con la imagen con los filtros puestos

renderizeRaster

public java.awt.Image renderizeRaster(java.awt.Image image)
Aplica la pila de filtros sobre el Image pasado como parámetro y lo devuelve. Si la salida del último filtro es un RasterBuf lo convertirá a Image

Parameters:
image - Image con la imagen sobre la que se aplicaran filtros
Returns:
Image con la imagen con los filtros puestos

drawMarco

public void drawMarco(java.awt.Graphics2D g,
                      ViewPortData vp)
Parameters:
g -
vp -

getProjection

public IProjection getProjection()
Specified by:
getProjection in interface Projected

setProjection

public void setProjection(IProjection p)

reProject

public void reProject(ICoordTrans rp)
Specified by:
reProject in interface Projected

getStackManager

public RasterFilterStackManager getStackManager()
Obtiene el Stack Manager

Returns:

setStackManager

public void setStackManager(RasterFilterStackManager sm)
Asigna el Stack Manager

Returns: