schmitzm.data
Class WritableGridArray

java.lang.Object
  extended by schmitzm.data.AbstractReadableGrid
      extended by schmitzm.data.AbstractWritableGrid
          extended by schmitzm.data.WritableGridArray
All Implemented Interfaces:
LateLoadable, Serializable, ReadableGrid, WritableGrid
Direct Known Subclasses:
WritableGridArray.Double, WritableGridArray.Float, WritableGridArray.Integer

public abstract class WritableGridArray
extends AbstractWritableGrid
implements WritableGrid, Serializable

Diese Klasse stellt eine Implementierung von WritableGrid dar und basiert auf einem einfachen float-Array.

Version:
1.0
Author:
Martin Schmitz (University of Bonn/Germany)
See Also:
Serialized Form

Nested Class Summary
static class WritableGridArray.Double
           
static class WritableGridArray.Float
           
static class WritableGridArray.Integer
           
 
Field Summary
protected  Rectangle2D envelope
          Speichert die Geo-Referenz (Latitude, Longitude, Breite, Hoehe) des Rasters.
protected  int minX
          Speichert die kleinste horizontale Raster-Koordinate.
protected  int minY
          Speichert die kleinste vertikale Raster-Koordinate.
static int RASTER_DIM
          Die Dimension des Rasters (2).
protected  int rasterHeight
          Speichert die Hoehe des Rasters in Zellen.
protected  int rasterWidth
          Speichert die Breite des Rasters in Zellen.
 
Fields inherited from class schmitzm.data.AbstractReadableGrid
crs
 
Constructor Summary
WritableGridArray(int minX, int minY, int rasterWidth, int rasterHeight, Rectangle2D envelope, CoordinateReferenceSystem crs)
          Erzeugt ein neues Raster.
 
Method Summary
static WritableGridArray create(Raster raster, Rectangle2D envelope)
          Erzeugt ein neues Raster in WGS84.
static WritableGridArray create(Raster raster, Rectangle2D envelope, CoordinateReferenceSystem crs)
          Erzeugt ein neues Raster.
static WritableGridArray create(RenderedImage image, Rectangle2D envelope)
          Erzeugt ein neues Raster in WGS84.
static WritableGridArray create(RenderedImage image, Rectangle2D envelope, CoordinateReferenceSystem crs)
          Erzeugt ein neues Raster.
static WritableGridArray createEmpty(RasterMetaData metaData)
          Creates an empty GridArray out of a RasterMetaData object.
static WritableGridArray createEmpty(RasterMetaData metaData, CoordinateReferenceSystem crs)
          Creates an empty GridArray out of a RasterMetaData object.
 void dispose()
          Macht zur Zeit noch nichts.
abstract  Object getData()
          Liefert eine Referenz auf den kompletten Inhalt des Rasters.
abstract  Object getData(Object data)
          Liefert eine Kopie des kompletten Inhalts des Rasters.
abstract  DataBuffer getDataBuffer()
          Liefert eine Referenz auf den kompletten Inhalt des Rasters in Form eines DataBuffer.
 Rectangle2D getEnvelope()
          Liefert die Georeferenz (Lat/Lon) und Ausdehnung des Rasters.
 int getHeight()
          Liefert die Hoehe des Rasters (in Zellen).
 int getMinX()
          Liefert den Index der ersten (Südwest) Zelle in X-Richtung.
 int getMinY()
          Liefert den Index der ersten Zelle (Südwest) in Y-Richtung.
 double getRealHeight()
          Liefert die reale Breite des Rasters.
 double getRealWidth()
          Liefert die reale Breite des Rasters.
 int getWidth()
          Liefert die Breite des Rasters (in Zellen).
 double getX()
          Liefert die X-Koordinate der Georeferenz (Longitude) der linken unteren Ecke des Rasters (Südwest).
 double getY()
          Liefert die Y-Koordinate der Georeferenz (Latitude) der linken unteren Ecke des Rasters (Südwest).
 
Methods inherited from class schmitzm.data.AbstractWritableGrid
setGridSample
 
Methods inherited from class schmitzm.data.AbstractReadableGrid
compareStructure, convertRasterToReal, convertRasterToReal, convertRasterToReal, convertRealToRaster, convertRealToRaster, convertRealToRaster, getCellHeight, getCellWidth, getCoordinateReferenceSystem, getGridSample, getGridSampleAsByte, getGridSampleAsDouble, getGridSampleAsFloat, getGridSampleAsInt, getGridSampleAsLong, getGridSampleAsShort, getRasterSampleAsByte, getRasterSampleAsDouble, getRasterSampleAsFloat, getRasterSampleAsInt, getRasterSampleAsLong, getRasterSampleAsShort, isLateLoadable, loadData, unloadData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface schmitzm.data.WritableGrid
setGridSample, setRasterSample
 
Methods inherited from interface schmitzm.data.ReadableGrid
convertRasterToReal, convertRealToRaster, getCellHeight, getCellWidth, getCoordinateReferenceSystem, getGridSample, getGridSampleAsByte, getGridSampleAsDouble, getGridSampleAsFloat, getGridSampleAsInt, getGridSampleAsLong, getGridSampleAsShort, getRasterSample, getRasterSampleAsByte, getRasterSampleAsDouble, getRasterSampleAsFloat, getRasterSampleAsInt, getRasterSampleAsLong, getRasterSampleAsShort, getSampleType
 
Methods inherited from interface appl.data.LateLoadable
isLateLoadable, loadData, unloadData
 

Field Detail

RASTER_DIM

public static final int RASTER_DIM
Die Dimension des Rasters (2).

See Also:
Constant Field Values

envelope

protected transient Rectangle2D envelope
Speichert die Geo-Referenz (Latitude, Longitude, Breite, Hoehe) des Rasters.


minX

protected int minX
Speichert die kleinste horizontale Raster-Koordinate.


minY

protected int minY
Speichert die kleinste vertikale Raster-Koordinate.


rasterWidth

protected int rasterWidth
Speichert die Breite des Rasters in Zellen.


rasterHeight

protected int rasterHeight
Speichert die Hoehe des Rasters in Zellen.

Constructor Detail

WritableGridArray

public WritableGridArray(int minX,
                         int minY,
                         int rasterWidth,
                         int rasterHeight,
                         Rectangle2D envelope,
                         CoordinateReferenceSystem crs)
Erzeugt ein neues Raster.

Parameters:
minX - Raster-Index der ersten Zelle in X-Richtung
minY - Raster-Index der ersten Zelle in Y-Richtung
rasterWidth - Breite des Rasters (in Zellen)
rasterHeight - Hoehe des Rasters (in Zellen)
envelope - Georeferenz des Rasters (Longitude = X-Koordinate, Latitude = Y-Koordinate, Breite und Hoehe des Rasters in Metern)
Method Detail

create

public static WritableGridArray create(RenderedImage image,
                                       Rectangle2D envelope,
                                       CoordinateReferenceSystem crs)
Erzeugt ein neues Raster.

Parameters:
image - Daten
envelope - Georeferenz und Ausdehnung des Rasters
crs - CoordinateReferenceSystem fuer das Raster
Returns:
Ein WritableGridArray.Integer, WritableGridArray.Float oder WritableGridArray.Double, je nach Datentyp des image-DataBuffers

create

public static WritableGridArray create(RenderedImage image,
                                       Rectangle2D envelope)
Erzeugt ein neues Raster in WGS84.

Parameters:
image - Daten
envelope - Georeferenz und Ausdehnung des Rasters
Returns:
Ein WritableGridArray.Integer, WritableGridArray.Float oder WritableGridArray.Double, je nach Datentyp des image-DataBuffers

create

public static WritableGridArray create(Raster raster,
                                       Rectangle2D envelope,
                                       CoordinateReferenceSystem crs)
Erzeugt ein neues Raster.

Parameters:
image - Daten
envelope - Georeferenz und Ausdehnung des Rasters
crs - CoordinateReferenceSystem fuer das Raster
Returns:
Ein WritableGridArray.Integer, WritableGridArray.Float oder WritableGridArray.Double, je nach Datentyp des image-DataBuffers

create

public static WritableGridArray create(Raster raster,
                                       Rectangle2D envelope)
Erzeugt ein neues Raster in WGS84.

Parameters:
raster - Daten
envelope - Georeferenz und Ausdehnung des Rasters
Returns:
Ein WritableGridArray.Integer, WritableGridArray.Float oder WritableGridArray.Double, je nach Datentyp des raster-DataBuffers

createEmpty

public static WritableGridArray createEmpty(RasterMetaData metaData,
                                            CoordinateReferenceSystem crs)
Creates an empty GridArray out of a RasterMetaData object.

Parameters:
metaData - the MetaData
crs - CoordinateReferenceSystem fuer das Raster
Returns:
A WritableGridArray.Integer, WritableGridArray.Float or WritableGridArray.Double, depending on the Datatype

createEmpty

public static WritableGridArray createEmpty(RasterMetaData metaData)
Creates an empty GridArray out of a RasterMetaData object. WGS84 is used for CRS.

Parameters:
metaData - the MetaData
Returns:
A WritableGridArray.Integer, WritableGridArray.Float or WritableGridArray.Double, depending on the Datatype

getDataBuffer

public abstract DataBuffer getDataBuffer()
Liefert eine Referenz auf den kompletten Inhalt des Rasters in Form eines DataBuffer.


getData

public abstract Object getData()
Liefert eine Referenz auf den kompletten Inhalt des Rasters.

Returns:
einen 1-dimensionalen Array eines Basis-Datentyps

getData

public abstract Object getData(Object data)
Liefert eine Kopie des kompletten Inhalts des Rasters.

Parameters:
data - Array in den die Daten geschrieben werden (kann null sein!)
Returns:
einen 2-dimensionaler Array eines Basis-Datentyps (z.B. float[height][width])

dispose

public void dispose()
Macht zur Zeit noch nichts.

Specified by:
dispose in interface ReadableGrid

getX

public double getX()
Liefert die X-Koordinate der Georeferenz (Longitude) der linken unteren Ecke des Rasters (Südwest).

Specified by:
getX in interface ReadableGrid

getY

public double getY()
Liefert die Y-Koordinate der Georeferenz (Latitude) der linken unteren Ecke des Rasters (Südwest).

Specified by:
getY in interface ReadableGrid

getRealWidth

public double getRealWidth()
Liefert die reale Breite des Rasters.

Specified by:
getRealWidth in interface ReadableGrid

getRealHeight

public double getRealHeight()
Liefert die reale Breite des Rasters.

Specified by:
getRealHeight in interface ReadableGrid

getEnvelope

public Rectangle2D getEnvelope()
Liefert die Georeferenz (Lat/Lon) und Ausdehnung des Rasters.


getWidth

public int getWidth()
Liefert die Breite des Rasters (in Zellen).

Specified by:
getWidth in interface ReadableGrid

getHeight

public int getHeight()
Liefert die Hoehe des Rasters (in Zellen).

Specified by:
getHeight in interface ReadableGrid

getMinX

public int getMinX()
Liefert den Index der ersten (Südwest) Zelle in X-Richtung.

Specified by:
getMinX in interface ReadableGrid

getMinY

public int getMinY()
Liefert den Index der ersten Zelle (Südwest) in Y-Richtung.

Specified by:
getMinY in interface ReadableGrid