ucar.nc2.dataset
Class CoordinateAxis2D

java.lang.Object
  extended by ucar.nc2.Variable
      extended by ucar.nc2.dataset.VariableDS
          extended by ucar.nc2.dataset.CoordinateAxis
              extended by ucar.nc2.dataset.CoordinateAxis2D
All Implemented Interfaces:
java.lang.Comparable, Enhancements, EnhanceScaleMissing, VariableEnhanced, VariableIF, VariableSimpleIF

public class CoordinateAxis2D
extends CoordinateAxis

A 2-dimensional numeric Coordinate Axis. Must be invertible meaning, roughly, that if you draw lines connecting the points, none would cross.

Version:
$Revision:51 $ $Date:2006-07-12 17:13:13Z $
Author:
john caron
See Also:
CoordinateAxis.factory(ucar.nc2.dataset.NetcdfDataset, ucar.nc2.dataset.VariableDS)

Nested Class Summary
 
Nested classes/interfaces inherited from class ucar.nc2.dataset.CoordinateAxis
CoordinateAxis.AxisComparator
 
Field Summary
 
Fields inherited from class ucar.nc2.dataset.CoordinateAxis
POSITIVE_DOWN, POSITIVE_UP
 
Fields inherited from class ucar.nc2.Variable
defaultSizeToCache
 
Constructor Summary
CoordinateAxis2D(VariableDS vds)
          create a 2D coordinate axis from an existing Variable
 
Method Summary
 double getCoordValue(int i, int j)
          Get the coordinate value at the i, j index.
 double[] getCoordValues()
          Get the coordinate values as a 1D double array.
 ArrayDouble.D2 getMidpoints()
           
static ArrayDouble.D2 makeXEdges(ArrayDouble.D2 midx)
          For regular Grids
static ArrayDouble.D2 makeXEdgesRotated(ArrayDouble.D2 midx)
          For staggered Grids
static ArrayDouble.D2 makeYEdges(ArrayDouble.D2 midy)
          For regular Grids
static ArrayDouble.D2 makeYEdgesRotated(ArrayDouble.D2 midy)
          For staggered Grids
 CoordinateAxis2D section(Range r1, Range r2)
          Create a new CoordinateAxis2D as a section of this CoordinateAxis2D.
 
Methods inherited from class ucar.nc2.dataset.CoordinateAxis
compareTo, equals, factory, getAxisType, getBoundaryRef, getInfo, getMaxValue, getMinValue, getPositive, getUnitsString, hashCode, isContiguous, isNumeric, setAxisType, setBoundaryRef, setContiguous, setPositive
 
Methods inherited from class ucar.nc2.dataset.VariableDS
addCoordinateSystem, convertScaleOffsetMissing, convertScaleOffsetMissing, convertScaleOffsetMissing, convertScaleOffsetMissing, convertScaleOffsetMissing, enhance, getCoordinateSystems, getDescription, getOriginalDataType, getOriginalVariable, getProxyReader, getUnitString, getValidMax, getValidMin, hasFillValue, hasInvalidData, hasMissing, hasMissingValue, hasScaleOffset, isEnhanced, isFillValue, isInvalidData, isMissing, isMissingValue, removeCoordinateSystem, section, setFillValueIsMissing, setInvalidDataIsMissing, setMissingDataIsMissing, setProxyReader, setUnitsString, setUseNaNs, slice
 
Methods inherited from class ucar.nc2.Variable
addAttribute, findAttribute, findAttributeIgnoreCase, findDimensionIndex, getAttributes, getCoordinateDimension, getDataType, getDimension, getDimensions, getDimensionsAll, getDimensionsString, getElementSize, getIOVar, getName, getNameAndDimensions, getNameAndDimensions, getParentGroup, getParentStructure, getRanges, getRank, getSectionRanges, getShape, getShortName, getSize, getSizeToCache, getSPobject, hasCachedData, invalidateCache, isCaching, isMemberOfStructure, isMetadata, isScalar, isUnknownLength, isUnlimited, isUnsigned, isVariableLength, read, read, read, read, readAllStructures, readAllStructuresSpec, readScalarByte, readScalarDouble, readScalarFloat, readScalarInt, readScalarLong, readScalarShort, readScalarString, remove, replaceDimension, setCachedData, setCaching, setDataType, setDimension, setDimensions, setDimensions, setDimensionsAnonymous, setElementSize, setIOVar, setIsCoordinateAxis, setName, setParentGroup, setParentStructure, setSizeToCache, setSPobject, toString, toStringDebug, writeCDL
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface ucar.nc2.VariableSimpleIF
findAttributeIgnoreCase, getAttributes, getDataType, getDimensions, getName, getRank, getShape, getShortName
 
Methods inherited from interface ucar.nc2.VariableIF
findAttribute, findAttributeIgnoreCase, findDimensionIndex, getAttributes, getCoordinateDimension, getDataType, getDimension, getDimensions, getDimensionsAll, getElementSize, getName, getNameAndDimensions, getParentGroup, getParentStructure, getRanges, getRank, getShape, getShortName, getSize, isMemberOfStructure, isMetadata, isScalar, isUnlimited, isUnsigned, isVariableLength, read, read, read, read, readAllStructures, readAllStructuresSpec, readScalarByte, readScalarDouble, readScalarFloat, readScalarInt, readScalarLong, readScalarShort, readScalarString, toStringDebug
 

Constructor Detail

CoordinateAxis2D

public CoordinateAxis2D(VariableDS vds)
create a 2D coordinate axis from an existing Variable

Method Detail

getCoordValue

public double getCoordValue(int i,
                            int j)
Get the coordinate value at the i, j index.

Parameters:
i - index 0
j - index 1
Returns:
coordinate value.

getCoordValues

public double[] getCoordValues()
Get the coordinate values as a 1D double array.

Returns:
coordinate values
Throws:
java.lang.UnsupportedOperationException - if !isNumeric()

section

public CoordinateAxis2D section(Range r1,
                                Range r2)
                         throws InvalidRangeException
Create a new CoordinateAxis2D as a section of this CoordinateAxis2D.

Parameters:
r1 - the section on the first index
r2 - the section on the second index
Returns:
a section of this CoordinateAxis2D
Throws:
InvalidRangeException

getMidpoints

public ArrayDouble.D2 getMidpoints()

makeXEdges

public static ArrayDouble.D2 makeXEdges(ArrayDouble.D2 midx)
For regular Grids

Parameters:
midx - x coordinates of midpoints
Returns:
x coordinates of edges with shape (ny+1, nx+1)

makeYEdges

public static ArrayDouble.D2 makeYEdges(ArrayDouble.D2 midy)
For regular Grids

Parameters:
midy - y coordinates of midpoints
Returns:
y coordinates of edges with shape (ny+1, nx+1)

makeXEdgesRotated

public static ArrayDouble.D2 makeXEdgesRotated(ArrayDouble.D2 midx)
For staggered Grids

Parameters:
midx - x coordinates of midpoints
Returns:
x coordinates of edges with shape (ny+2, nx+1)

makeYEdgesRotated

public static ArrayDouble.D2 makeYEdgesRotated(ArrayDouble.D2 midy)
For staggered Grids

Parameters:
midy - y coordinates of midpoints
Returns:
y coordinates of edges with shape (ny+2, nx+1)