visad
Class LinearLatLonSet
- java.lang.Object
-
- 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
Constructors Constructor and Description 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 typeLinearLatLonSet(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 specifiederrors,coord_sysandunits.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 specifiederrors,coord_sysandunits.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 specifiederrors,coord_sysandunits.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 specifiederrors,coord_sysandunits.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description java.lang.ObjectcloneButType(MathType type)Return a clone of this object with a new MathType.booleanequals(java.lang.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)java.lang.StringlongString(java.lang.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 coordinatesvoidvalueToInterp(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, valueToGrid, valueToIndex
-
Methods inherited from class visad.GriddedSet
create, create, create, create, getLength, getLengths, getNeighbors, getNeighbors, getWedge, makeSpatial, valueToInterp
-
Methods inherited from class visad.SampledSet
clone, computeRanges, computeRanges, cram_missing, finalize, getHi, getLow, getNeighbors, getSamples, make1DGeometry, make3DGeometry, makePointGeometry, setCacheSizeThreshold, 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, 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, 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
-
Methods inherited from class visad.ThingImpl
addReference, removeReference
-
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 progressionlast1- last value in first arithmetic progressionlength1- number of values in first arithmetic progressionfirst2- first value in second arithmetic progressionlast2- last value in second arithmetic progressionlength2- 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 specifiederrors,coord_sysandunits.- 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 withtype.units- Unit-s for the values insets. May be null, but must be convertible with values insets.errors- ErrorEstimate-s for values insets, 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 specifiederrors,coord_sysandunits.- 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 withtype.units- Unit-s for the values insets. May be null, but must be convertible with values insets.errors- ErrorEstimate-s for values insets, may be nullcache- 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 toSampledSet.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 specifiederrors,coord_sysandunits.- Parameters:
type- MathType for this LinearLatLonSet.first1- first value in first arithmetic progressionlast1- last value in first arithmetic progressionlength1- number of values in first arithmetic progressionfirst2- first value in second arithmetic progressionlast2- last value in second arithmetic progressionlength2- number of values in second arithmetic progressioncoord_sys- CoordinateSystem for this set. May be null, but if not, must be consistent withtype.units- Unit-s for the values insets. May be null, but must be convertible with values insets.errors- ErrorEstimate-s for values insets, 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 specifiederrors,coord_sysandunits.- Parameters:
type- MathType for this LinearLatLonSet.first1- first value in first arithmetic progressionlast1- last value in first arithmetic progressionlength1- number of values in first arithmetic progressionfirst2- first value in second arithmetic progressionlast2- last value in second arithmetic progressionlength2- number of values in second arithmetic progressioncoord_sys- CoordinateSystem for this set. May be null, but if not, must be consistent withtype.units- Unit-s for the values insets. May be null, but must be convertible with values insets.errors- ErrorEstimate-s for values insets, may be nullcache- 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 toSampledSet.getSamples()- Throws:
VisADException- illegal sets or other VisAD error.
-
-
Method Detail
-
gridToValue
public float[][] gridToValue(float[][] grid) throws VisADExceptiontransform an array of non-integer grid coordinates to an array of values in (Latitude, Longitude)- Specified by:
gridToValuein interfaceGriddedSetIface- Overrides:
gridToValuein classLinear2DSet- 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 VisADExceptiontransform an array of values in (Latitude, Longitude) to an array of non-integer grid coordinates- Specified by:
valueToGridin interfaceGriddedSetIface- Overrides:
valueToGridin classLinear2DSet- 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 VisADExceptionfor 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:
valueToInterpin interfaceSimpleSetIface- Overrides:
valueToInterpin classGriddedSet- Parameters:
value- An array of points.value[i][j]is the i-th coordinate of the j-th points.indices- Indices of the neighboring samples in the set. If the j-th points lies within the set, then returned element [i][j] is the index of the i-th neighboring sample in the set; otherwise, returned array [j] isnull.weights- Weights for interpolating the neighboring samples in the set. If the j-th points lies within the set, then returned element [i][j] is the weight of the i-th neighboring sample in the set; otherwise, returned array [j] isnull.- Throws:
VisADException- VisAD failure.
-
equals
public boolean equals(java.lang.Object set)
Description copied from class:Linear2DSetCheck to see if this Linear2DSet is equal to the Object in question.- Specified by:
equalsin interfaceSetIface- Overrides:
equalsin classLinear2DSet- Parameters:
set- Object in question- Returns:
- true if
setis a Linear2DSet and each of the Linear1DSet-s that make up this cross product are equal.
-
cloneButType
public java.lang.Object cloneButType(MathType type) throws VisADException
Description copied from class:Linear2DSetReturn a clone of this object with a new MathType.- Specified by:
cloneButTypein interfaceSetIface- Overrides:
cloneButTypein classLinear2DSet- Parameters:
type- new MathType.- Returns:
- new Linear2DSet with
type. - Throws:
VisADException- iftypeis not compatible with MathType of component Linear1DSets.
-
longString
public java.lang.String longString(java.lang.String pre) throws VisADExceptionDescription copied from class:Linear2DSetExtended version of the toString() method.- Specified by:
longStringin interfaceData- Overrides:
longStringin classLinear2DSet- Parameters:
pre- prefix for string.- Returns:
- wordy string describing this Linear2DSet.
- Throws:
VisADException
-
-
DMelt 3.0 © DataMelt by jWork.ORG