visad
Class LinearLatLonSet

java.lang.Object
  extended by visad.ThingImpl
      extended by visad.DataImpl
          extended by visad.Set
              extended by visad.SimpleSet
                  extended by visad.SampledSet
                      extended by visad.GriddedSet
                          extended by visad.Gridded2DSet
                              extended by visad.Linear2DSet
                                  extended by visad.LinearLatLonSet
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Data, GriddedSetIface, LinearSet, SampledSetIface, SetIface, SimpleSetIface, Thing

public class LinearLatLonSet
extends Linear2DSet

LinearLatLonSet represents a finite set of samples of (Latitude, Longitude) in a cross product of two arithmetic progressions.

This class exists to override valueToInterp (as defined in GriddedSet) in order to handle Longitude wrapping.

The order of the samples is the rasterization of the orders of the 1D components, with the first component increasing fastest. For more detail, see the example in Linear2DSet.java.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class visad.DataImpl
DataImpl.Syncher
 
Field Summary
 
Fields inherited from interface visad.Data
ABS, ACOS, ACOS_DEGREES, ADD, ASIN, ASIN_DEGREES, ATAN, ATAN_DEGREES, ATAN2, ATAN2_DEGREES, CEIL, COS, COS_DEGREES, DEGREES_TO_RADIANS, DEPENDENT, DIVIDE, EXP, FLOOR, INDEPENDENT, INV_ATAN2, INV_ATAN2_DEGREES, INV_DIVIDE, INV_POW, INV_REMAINDER, INV_SUBTRACT, LOG, MAX, MIN, MULTIPLY, NEAREST_NEIGHBOR, NEGATE, NO_ERRORS, NOP, POW, RADIANS_TO_DEGREES, REMAINDER, RINT, ROUND, SIN, SIN_DEGREES, SQRT, SUBTRACT, TAN, TAN_DEGREES, WEIGHTED_AVERAGE
 
Constructor Summary
LinearLatLonSet(MathType type, double first1, double last1, int length1, double first2, double last2, int length2)
          a 2-D cross product of arithmetic progressions that whose east and west edges may be joined (for interpolation purposes), with null errors, CoordinateSystem and Units are defaults from type
LinearLatLonSet(MathType type, double first1, double last1, int length1, double first2, double last2, int length2, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors)
          a 2-D cross product of arithmetic progressions that whose east and west edges may be joined (for interpolation purposes); coordinate_system and units must be compatible with defaults for type, or may be null; errors may be null
LinearLatLonSet(MathType type, Linear1DSet[] sets)
           
LinearLatLonSet(MathType type, Linear1DSet[] sets, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors)
           
 
Method Summary
 java.lang.Object cloneButType(MathType type)
          copy this Set, but give it a new MathType; this is safe, since constructor checks consistency of DomainCoordinateSystem and SetUnits with Type
 boolean equals(java.lang.Object set)
          test for equality
 float[][] gridToValue(float[][] grid)
          transform an array of non-integer grid coordinates to an array of values in (Latitude, Longitude)
 java.lang.String longString(java.lang.String pre)
          generates a longer string than generated by toString, indented by pre (a string of blanks)
 float[][] valueToGrid(float[][] value)
          transform an array of values in (Latitude, Longitude) to an array of non-integer grid coordinates
 void valueToInterp(float[][] value, int[][] indices, float[][] weights)
          for each of an array of values in (Latitude, Longitude), compute an array of 1-D indices and an array of weights, to be used for interpolation; indices[i] and weights[i] are null if i-th value is outside grid (i.e., if no interpolation is possible).
 
Methods inherited from class visad.Linear2DSet
getLinear1DComponent, getSamples, getX, getY, hashCode, indexToValue, isMissing
 
Methods inherited from class visad.Gridded2DSet
main, valueToIndex
 
Methods inherited from class visad.GriddedSet
create, create, getLength, getLengths, getNeighbors, getNeighbors, getWedge, makeSpatial
 
Methods inherited from class visad.SampledSet
clone, computeRanges, computeRanges, cram_missing, getHi, getLow, getNeighbors, getSamples, make1DGeometry, make3DGeometry, makePointGeometry, setGeometryArray, setGeometryArray
 
Methods inherited from class visad.SimpleSet
getManifoldDimension
 
Methods inherited from class visad.Set
__getitem__, __len__, addEqualsCache, addNotEqualsCache, copyDoubles, copyFloats, doubleToFloat, doubleToIndex, equalUnitAndCS, floatToDouble, getCoordinateSystem, getDimension, getDoubles, getDoubles, getLength, getSetErrors, getSetUnits, indexToDouble, longString, make2DGeometry, makeIsoLines, makeIsoSurface, merge1DSets, testEqualsCache, testNotEqualsCache, unitAndCSHashCode
 
Methods inherited from class visad.DataImpl
__add__, __add__, __div__, __div__, __mod__, __mod__, __mul__, __mul__, __neg__, __pow__, __pow__, __sub__, __sub__, abs, abs, acos, acos, acosDegrees, acosDegrees, add, add, adjustSamplingError, asin, asin, asinDegrees, asinDegrees, atan, atan, atan2, atan2, atan2Degrees, atan2Degrees, atanDegrees, atanDegrees, binary, binary, ceil, ceil, changeMathType, computeRanges, computeRanges, cos, cos, cosDegrees, cosDegrees, dataClone, divide, divide, exp, exp, floor, floor, getType, local, log, log, max, max, min, min, multiply, multiply, negate, negate, notifyReferences, pow, pow, remainder, remainder, rint, rint, round, round, sin, sin, sinDegrees, sinDegrees, sqrt, sqrt, subtract, subtract, tan, tan, tanDegrees, tanDegrees, toString, unary, unary
 
Methods inherited from class visad.ThingImpl
addReference, removeReference
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface visad.SampledSetIface
getHi, getLow
 
Methods inherited from interface visad.SetIface
cram_missing, doubleToIndex, equalUnitAndCS, getCoordinateSystem, getDimension, getDoubles, getDoubles, getLength, getManifoldDimension, getNeighbors, getSamples, getSetErrors, getSetUnits, indexToDouble, make1DGeometry, make2DGeometry, make3DGeometry, makeIsoLines, makeIsoSurface, makePointGeometry, merge1DSets
 
Methods inherited from interface visad.Data
abs, abs, acos, acos, acosDegrees, acosDegrees, add, add, adjustSamplingError, asin, asin, asinDegrees, asinDegrees, atan, atan, atan2, atan2, atan2Degrees, atan2Degrees, atanDegrees, atanDegrees, binary, binary, ceil, ceil, changeMathType, computeRanges, computeRanges, computeRanges, cos, cos, cosDegrees, cosDegrees, dataClone, divide, divide, exp, exp, floor, floor, getType, local, log, log, longString, max, max, min, min, multiply, multiply, negate, negate, pow, pow, remainder, remainder, rint, rint, round, round, sin, sin, sinDegrees, sinDegrees, sqrt, sqrt, subtract, subtract, tan, tan, tanDegrees, tanDegrees, unary, unary
 
Methods inherited from interface visad.Thing
addReference, removeReference
 

Constructor Detail

LinearLatLonSet

public LinearLatLonSet(MathType type,
                       Linear1DSet[] sets)
                throws VisADException
Throws:
VisADException

LinearLatLonSet

public LinearLatLonSet(MathType type,
                       double first1,
                       double last1,
                       int length1,
                       double first2,
                       double last2,
                       int length2)
                throws VisADException
a 2-D cross product of arithmetic progressions that whose east and west edges may be joined (for interpolation purposes), with null errors, CoordinateSystem and Units are defaults from type

Throws:
VisADException

LinearLatLonSet

public LinearLatLonSet(MathType type,
                       Linear1DSet[] sets,
                       CoordinateSystem coord_sys,
                       Unit[] units,
                       ErrorEstimate[] errors)
                throws VisADException
Throws:
VisADException

LinearLatLonSet

public LinearLatLonSet(MathType type,
                       double first1,
                       double last1,
                       int length1,
                       double first2,
                       double last2,
                       int length2,
                       CoordinateSystem coord_sys,
                       Unit[] units,
                       ErrorEstimate[] errors)
                throws VisADException
a 2-D cross product of arithmetic progressions that whose east and west edges may be joined (for interpolation purposes); coordinate_system and units must be compatible with defaults for type, or may be null; errors may be null

Throws:
VisADException
Method Detail

gridToValue

public float[][] gridToValue(float[][] grid)
                      throws VisADException
transform an array of non-integer grid coordinates to an array of values in (Latitude, Longitude)

Specified by:
gridToValue in interface GriddedSetIface
Overrides:
gridToValue in class Linear2DSet
Parameters:
grid - The coordinates of the interpolation grid points for which interpolated sample values are desired. grid[i][j] is the i-th grid coordinate of the j-th interpolation point.
Returns:
The interpolated samples of the set. Element [i][j] is the i-th coordinate of the j-th interpolation point.
Throws:
VisADException - VisAD failure.

valueToGrid

public float[][] valueToGrid(float[][] value)
                      throws VisADException
transform an array of values in (Latitude, Longitude) to an array of non-integer grid coordinates

Specified by:
valueToGrid in interface GriddedSetIface
Overrides:
valueToGrid in class Linear2DSet
Parameters:
value - The array of points for which non-integer grid coordinates are desired. value[i][j] is the i-th coordinate of the j-th point.
Returns:
The array of grid coordinates corresponding to the points. Element [i][j] is the i-th non-integer grid coordinate of the j-th point.
Throws:
VisADException - VisAD failure.

valueToInterp

public void valueToInterp(float[][] value,
                          int[][] indices,
                          float[][] weights)
                   throws VisADException
for each of an array of values in (Latitude, Longitude), compute an array of 1-D indices and an array of weights, to be used for interpolation; indices[i] and weights[i] are null if i-th value is outside grid (i.e., if no interpolation is possible). this code is the result of substituting 2 for ManifoldDimension in GriddedSet.valueToInterp, and adding logic to handle LongitudeWrap

Specified by:
valueToInterp in interface SimpleSetIface
Overrides:
valueToInterp in class GriddedSet
Parameters:
value - An array of points. value[i][j] is the i-th coordinate of the j-th points.
Throws:
VisADException - VisAD failure.

equals

public boolean equals(java.lang.Object set)
Description copied from class: Set
test for equality

Specified by:
equals in interface SetIface
Overrides:
equals in class Linear2DSet

cloneButType

public java.lang.Object cloneButType(MathType type)
                              throws VisADException
Description copied from class: Set
copy this Set, but give it a new MathType; this is safe, since constructor checks consistency of DomainCoordinateSystem and SetUnits with Type

Specified by:
cloneButType in interface SetIface
Overrides:
cloneButType in class Linear2DSet
Parameters:
type - The MathType for the clone.
Returns:
A clone of this set with the new MathType.
Throws:
VisADException - VisAD failure.

longString

public java.lang.String longString(java.lang.String pre)
                            throws VisADException
Description copied from class: DataImpl
generates a longer string than generated by toString, indented by pre (a string of blanks)

Specified by:
longString in interface Data
Overrides:
longString in class Linear2DSet
Throws:
VisADException