/*
* $Id: SGTGrid.java,v 1.10 2003/08/22 23:02:38 dwd Exp $
*
* This software is provided by NOAA for full, free and open release. It is
* understood by the recipient/user that NOAA assumes no liability for any
* errors contained in the code. Although this software is released without
* conditions or restrictions in its use, it is expected that appropriate
* credit be given to its author and to the National Oceanic and Atmospheric
* Administration should the software be included by the recipient as an
* element in other product development.
*/
package gov.noaa.pmel.sgt.dm;
import gov.noaa.pmel.util.GeoDate;
import gov.noaa.pmel.util.GeoDateArray;
import gov.noaa.pmel.util.Range2D;
import gov.noaa.pmel.util.SoTRange;
/**
* Defines a data object to be of Grid type. Interpretation
* of X and Y is determined by the CoordinateSystem
. For
* Cartesian
, X and Y are the Cartesian coordinates. For
* Polar
, X and Y are R (radius) and Theta (angle), respectively.
*
* The SGTGrid
interface only specifies the methods required
* to access information. The methods used to construct an
* object that implements SGTGrid
is left to the developer.
*
* @author Donald Denbo
* @version $Revision: 1.10 $, $Date: 2003/08/22 23:02:38 $
* @since 1.0
* @see SGTData
* @see CoordinateSystem
* @see Cartesian
* @see Polar
* @see SimpleGrid
*/
public interface SGTGrid extends SGTData {
/**
* Get the array of X values.
*/
public double[] getXArray();
/**
* Get the length of X value array.
*/
public int getXSize();
/**
* Get the array of Y values.
*/
public double[] getYArray();
/**
* Get the length of Y value array.
*/
public int getYSize();
/**
* Get the array of Z values.
*/
public double[] getZArray();
/**
* Get the range of Z values.
*/
public Range2D getZRange();
/**
* Get the array of temporal values.
*/
public GeoDate[] getTimeArray();
/**
* Get the GeoDateArray
object.
*
* @since 3.0
*/
public GeoDateArray getGeoDateArray();
/**
* Get the length of temporal value array.
*/
public int getTSize();
/**
* Get the Z SGTMetaData.
*/
public SGTMetaData getZMetaData();
/**
* Get the associated data. The associated data must
* be of the same type (SGTGrid) and shape.
*/
public SGTGrid getAssociatedData();
/**
* Is there associated data available?
*/
public boolean hasAssociatedData();
/**
* Are X edges available?
*/
public boolean hasXEdges();
/**
* Get the X coordinate edges. The XEdge length will
* be one greater than the XArray length.
*/
public double[] getXEdges();
/**
* Get the range of X coordinate edges.
*/
public SoTRange getXEdgesRange();
/**
* Are Y edges available?
*/
public boolean hasYEdges();
/**
* Get the Y coordinate edges. The YEdge length will
* be one greater than the YArray length.
*/
public double[] getYEdges();
/**
* Get the range of Y coordinate edges.
*/
public SoTRange getYEdgesRange();
/**
* Get the Time edges. The TimeEdge length will
* be one greater than the TimeArray length.
*/
public GeoDate[] getTimeEdges();
/**
* Get the GeoDateArray
object.
*
* @since 3.0
*/
public GeoDateArray getGeoDateArrayEdges();
}