## visad
Class LinearLatLonSet

    java.lang.Object
      visad.ThingImpl
          visad.DataImpl
              visad.Set
                  visad.SimpleSet
                      visad.SampledSet
                          visad.GriddedSet
                              visad.Gridded2DSet
                                  visad.Linear2DSet
                                      visad.LinearLatLonSet

All Implemented Interfaces:
  Cloneable, Data, GriddedSetIface, LinearSet, SampledSetIface, Serializable, 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 inherited from class visad.DataImpl
`DataImpl.Syncher`

Nested classes inherited from class visad.ThingImpl
`ThingImpl.RemotePair`

Field Summary

Fields inherited from class visad.Linear2DSet
`X, Y`

Fields inherited from class visad.Gridded2DSet
`HiX, HiY, LengthX, LengthY, LowX, LowY`

Fields inherited from class visad.GriddedSet
`EPS, Lengths, Pos`

Fields inherited from class visad.SampledSet
`Hi, Low, Samples`

Fields inherited from class visad.SimpleSet
`ManifoldDimension`

Fields inherited from class visad.Set
`DomainCoordinateSystem, DomainDimension, hashCode, hashCodeSet, Length, SetErrors, SetUnits`

Fields inherited from class visad.DataImpl
`Type`

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)` Construct a 2-D cross product of arithmetic progressions 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)` Construct a 2-D cross product of arithmetic progressions whose east and west edges may be joined (for interpolation purposes), with specified `errors`, `coord_sys` and `units`.
`LinearLatLonSet(MathType type, double first1, double last1, int length1, double first2, double last2, int length2, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors, boolean cache)` Construct a 2-D cross product of arithmetic progressions whose east and west edges may be joined (for interpolation purposes), with specified `errors`, `coord_sys` and `units`.
`LinearLatLonSet(MathType type, Linear1DSet[] sets)` Construct a 2-D cross product of arithmetic progressions whose east and west edges may be joined (for interpolation purposes), with null errors, CoordinateSystem and Units are defaults from type.
`LinearLatLonSet(MathType type, Linear1DSet[] sets, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors)` Construct a 2-D cross product of arithmetic progressions whose east and west edges may be joined (for interpolation purposes), with specified `errors`, `coord_sys` and `units`.
`LinearLatLonSet(MathType type, Linear1DSet[] sets, CoordinateSystem coord_sys, Unit[] units, ErrorEstimate[] errors, boolean cache)` Construct a 2-D cross product of arithmetic progressions whose east and west edges may be joined (for interpolation purposes), with specified `errors`, `coord_sys` and `units`.

Method Summary
`(package private) void` `checkWrap()`
`Object` `cloneButType(MathType type)` Return a clone of this object with a new MathType.
`boolean` `equals(Object set)` Check to see if this Linear2DSet is equal to the Object in question.
`float[][]` `gridToValue(float[][] grid)` transform an array of non-integer grid coordinates to an array of values in (Latitude, Longitude)
`String` `longString(String pre)` Extended version of the toString() method.
`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, make_lengths, valueToIndex`

Methods inherited from class visad.GriddedSet
`create, create, create, create, getLength, getLengths, getNeighbors, getNeighbors, getWedge, makeSpatial`

Methods inherited from class visad.SampledSet
`clone, computeRanges, computeRanges, cram_missing, cram_samples, getHi, getLow, getNeighbors, getSamples, init_samples, init_samples, make1DGeometry, make3DGeometry, makePointGeometry, setGeometryArray, setGeometryArray`

Methods inherited from class visad.SimpleSet
`getManifoldDimension, setAnimationSampling`

Methods inherited from class visad.Set

`__getitem__, __len__, addEqualsCache, addNotEqualsCache, adjustType, copyDoubles, copyFloats, doubleToFloat, doubleToIndex, equalUnitAndCS, floatToDouble, getCoordinateSystem, getDimension, getDimension, getDoubles, getDoubles, getLength, getSetErrors, getSetUnits, indexToDouble, longString, make2DGeometry, makeIsoLines, makeIsoSurface, merge1DSets, testEqualsCache, testNotEqualsCache, unary, unitAndCSHashCode`

Methods inherited from class visad.DataImpl

`__add__, __add__, __div__, __div__, __mod__, __mod__, __mul__, __mul__, __neg__, __pow__, __pow__, __radd__, __rdiv__, __rmod__, __rmul__, __rpow__, __rsub__, __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, computeReferenceRanges, cos, cos, cosDegrees, cosDegrees, dataClone, divide, divide, exp, exp, floor, floor, getType, invertOp, local, log, log, max, max, min, min, multiply, multiply, negate, negate, notifyReferences, pow, pow, remainder, remainder, rint, rint, round, round, setParent, sin, sin, sinDegrees, sinDegrees, sqrt, sqrt, subtract, subtract, tan, tan, tanDegrees, tanDegrees, toString, unary`

Methods inherited from class visad.ThingImpl
`adaptedAddReference, adaptedRemoveReference, 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

  Construct a 2-D cross product of arithmetic progressions whose east and west edges may be joined (for interpolation purposes), with null errors, CoordinateSystem and Units are defaults from type.

Parameters:
  `type` - MathType for this LinearLatLonSet. Must be consistent with MathType-s of sets.
  `sets` - Linear1DSets that make up this LinearLatLonSet.
Throws:
  `VisADException` - illegal sets or other VisAD error.

### LinearLatLonSet

    public LinearLatLonSet(MathType type,
                           double first1,
                           double last1,
                           int length1,
                           double first2,
                           double last2,
                           int length2)
                    throws VisADException

  Construct a 2-D cross product of arithmetic progressions whose east and west edges may be joined (for interpolation purposes), with null errors, CoordinateSystem and Units are defaults from type

Parameters:
  `type` - MathType for this LinearLatLonSet.
  `first1` - first value in first arithmetic progression
  `last1` - last value in first arithmetic progression
  `length1` - number of values in first arithmetic progression
  `first2` - first value in second arithmetic progression
  `last2` - last value in second arithmetic progression
  `length2` - number of values in second arithmetic progression
Throws:
  `VisADException` - illegal sets or other VisAD error.

### LinearLatLonSet

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

  Construct a 2-D cross product of arithmetic progressions whose east and west edges may be joined (for interpolation purposes), with specified `errors`, `coord_sys` and `units`.

Parameters:
  `type` - MathType for this LinearLatLonSet. Must be consistent with MathType-s of sets.
  `sets` - Linear1DSets that make up this LinearLatLonSet.
  `coord_sys` - CoordinateSystem for this set. May be null, but if not, must be consistent with `type`.
  `units` - Unit-s for the values in `sets`. May be null, but must be convertible with values in `sets`.
  `errors` - ErrorEstimate-s for values in `sets`, may be null
Throws:
  `VisADException` - illegal sets or other VisAD error.

### LinearLatLonSet

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

  Construct a 2-D cross product of arithmetic progressions whose east and west edges may be joined (for interpolation purposes), with specified `errors`, `coord_sys` and `units`.

Parameters:
  `type` - MathType for this LinearLatLonSet. Must be consistent with MathType-s of sets.
  `sets` - Linear1DSets that make up this LinearLatLonSet.
  `coord_sys` - CoordinateSystem for this set. May be null, but if not, must be consistent with `type`.
  `units` - Unit-s for the values in `sets`. May be null, but must be convertible with values in `sets`.
  `errors` - ErrorEstimate-s for values in `sets`, may be null
  `cache` - if true, enumerate and cache the samples. This will result in a larger memory footprint, but will reduce the time to return samples from calls to `SampledSet.getSamples()`
Throws:
  `VisADException` - illegal sets or other VisAD error.

### 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

  Construct a 2-D cross product of arithmetic progressions whose east and west edges may be joined (for interpolation purposes), with specified `errors`, `coord_sys` and `units`.

Parameters:
  `type` - MathType for this LinearLatLonSet.
  `first1` - first value in first arithmetic progression
  `last1` - last value in first arithmetic progression
  `length1` - number of values in first arithmetic progression
  `first2` - first value in second arithmetic progression
  `last2` - last value in second arithmetic progression
  `length2` - number of values in second arithmetic progression
  `coord_sys` - CoordinateSystem for this set. May be null, but if not, must be consistent with `type`.
  `units` - Unit-s for the values in `sets`. May be null, but must be convertible with values in `sets`.
  `errors` - ErrorEstimate-s for values in `sets`, may be null
Throws:
  `VisADException` - illegal sets or other VisAD error.

### LinearLatLonSet

    public LinearLatLonSet(MathType type,
                           double first1,
                           double last1,
                           int length1,
                           double first2,
                           double last2,
                           int length2,
                           CoordinateSystem coord_sys,
                           Unit[] units,
                           ErrorEstimate[] errors,
                           boolean cache)
                    throws VisADException

  Construct a 2-D cross product of arithmetic progressions whose east and west edges may be joined (for interpolation purposes), with specified `errors`, `coord_sys` and `units`.

Parameters:
  `type` - MathType for this LinearLatLonSet.
  `first1` - first value in first arithmetic progression
  `last1` - last value in first arithmetic progression
  `length1` - number of values in first arithmetic progression
  `first2` - first value in second arithmetic progression
  `last2` - last value in second arithmetic progression
  `length2` - number of values in second arithmetic progression
  `coord_sys` - CoordinateSystem for this set. May be null, but if not, must be consistent with `type`.
  `units` - Unit-s for the values in `sets`. May be null, but must be convertible with values in `sets`.
  `errors` - ErrorEstimate-s for values in `sets`, may be null
  `cache` - if true, enumerate and cache the samples. This will result in a larger memory footprint, but will reduce the time to return samples from calls to `SampledSet.getSamples()`
Throws:
  `VisADException` - illegal sets or other VisAD error.

Method Detail

### checkWrap

    void checkWrap()
             throws VisADException

  Throws:
    `VisADException`

### 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`
  Throws:
    `VisADException`

### 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`
  Throws:
    `VisADException`

### 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`
  Throws:
    `VisADException`

### equals

    public boolean equals(Object set)

  Description copied from class: `Linear2DSet`
  Check to see if this Linear2DSet is equal to the Object in question.

  Specified by:
    `equals` in interface `SetIface`
  Overrides:
    `equals` in class `Linear2DSet`
  Parameters:
    `set` - Object in question
  Returns:
    true if `set` is a Linear2DSet and each of the Linear1DSet-s that make up this cross product are equal.

### cloneButType

    public Object cloneButType(MathType type)
                        throws VisADException

  Description copied from class: `Linear2DSet`
  Return a clone of this object with a new MathType.

  Specified by:
    `cloneButType` in interface `SetIface`
  Overrides:
    `cloneButType` in class `Linear2DSet`
  Parameters:
    `type` - new MathType.
  Returns:
    new Linear2DSet with `type`.
  Throws:
    `VisADException` - if `type` is not compatible with MathType of component Linear1DSets.

### longString

    public String longString(String pre)
                      throws VisADException

  Description copied from class: `Linear2DSet`
  Extended version of the toString() method.

  Specified by:
    `longString` in interface `Data`
  Overrides:
    `longString` in class `Linear2DSet`
  Parameters:
    `pre` - prefix for string.
  Returns:
    wordy string describing this Linear2DSet.
  Throws:
    `VisADException`