Package ucar.nc2.dataset
Class VariableDS
- java.lang.Object
-
- ucar.nc2.CDMNode
-
- ucar.nc2.Variable
-
- ucar.nc2.dataset.VariableDS
-
- All Implemented Interfaces:
Comparable<VariableSimpleIF>
,Iterable<Attribute>
,IsMissingEvaluator
,AttributeContainer
,Enhancements
,EnhanceScaleMissingUnsigned
,VariableEnhanced
,ProxyReader
,VariableSimpleIF
- Direct Known Subclasses:
CoordinateAxis
public class VariableDS extends Variable implements VariableEnhanced, EnhanceScaleMissingUnsigned
A wrapper around a Variable, creating an "enhanced" Variable. The original Variable is used for the I/O. There are several distinct uses:- Handle scale/offset/missing/enum/unsigned conversion; this can change DataType and data values
- Container for coordinate system information
- NcML modifications to underlying Variable
- See Also:
NetcdfDataset
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VariableDS.Builder<T extends VariableDS.Builder<T>>
-
Nested classes/interfaces inherited from class ucar.nc2.Variable
Variable.Cache
-
-
Field Summary
Fields Modifier and Type Field Description protected DataType
orgDataType
protected String
orgName
protected Variable
orgVar
-
Fields inherited from class ucar.nc2.Variable
attributes, cache, dataType, debugCaching, defaultCoordsSizeToCache, defaultSizeToCache, dimensions, elementSize, hashCode, isVariableLength, ncfile, permitCaching, proxyReader, shape, sizeToCache, spiObject
-
Fields inherited from class ucar.nc2.CDMNode
annotations, dodsname, group, immutable, parentstruct, shortName, sort
-
-
Constructor Summary
Constructors Modifier Constructor Description VariableDS(NetcdfDataset ds, Group group, Structure parentStructure, String shortName, DataType dataType, String dims, String units, String desc)
Deprecated.Use NetcdfDataset.builder()protected
VariableDS(VariableDS.Builder<?> builder, Group parentGroup)
protected
VariableDS(VariableDS vds, boolean isCopy)
Deprecated.Use NetcdfDataset.builder()VariableDS(Group group, Structure parent, String shortName, Variable orgVar)
Deprecated.Use NetcdfDataset.builder()VariableDS(Group g, Variable orgVar, boolean enhance)
Deprecated.Use NetcdfDataset.builder()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected Array
_read()
protected Array
_read(Section section)
void
addCoordinateSystem(CoordinateSystem cs)
Deprecated.Use VariableDS.builder()boolean
addEnhancement(NetcdfDataset.Enhance enhancement)
Deprecated.Use NetcdfDataset.builder()protected VariableDS.Builder<?>
addLocalFieldsToBuilder(VariableDS.Builder<? extends VariableDS.Builder<?>> builder)
double
applyScaleOffset(Number value)
Apply scale and offset to the specified value ifEnhanceScaleMissingUnsigned.hasScaleOffset()
.Array
applyScaleOffset(Array data)
Apply scale and offset to each element ofin
and return the result as a new Array, but only ifEnhanceScaleMissingUnsigned.hasScaleOffset()
.static VariableDS.Builder<?>
builder()
Get Builder for this class that allows subclassing.void
clearCoordinateSystems()
Deprecated.Use NetcdfDataset.builder()Array
convert(Array in, boolean convertUnsigned, boolean applyScaleOffset, boolean convertMissing)
Deprecated.use implementations in filters packageNumber
convertMissing(Number value)
Array
convertMissing(Array in)
Number
convertUnsigned(Number value)
Convertvalue
to the next largest integral data type by anunsigned conversion
.Number
convertUnsigned(Number value, DataType dataType)
Array
convertUnsigned(Array in)
Performs anunsigned conversion
of each element ofin
and returns the result as a new Array.protected VariableDS
copy()
Deprecated.UsetoBuilder()
void
enhance(Set<NetcdfDataset.Enhance> enhancements)
Deprecated.Use NetcdfDataset.builder()boolean
fillValueIsMissing()
com.google.common.collect.ImmutableList<CoordinateSystem>
getCoordinateSystems()
Get the list of Coordinate Systems for this Variable.String
getDatasetLocation()
The location of the dataset this belongs to.String
getDescription()
Get the description of the Variable.Set<NetcdfDataset.Enhance>
getEnhanceMode()
Returns the enhancements applied to this variable.double
getFillValue()
return value of _FillValue attributeArray
getMissingDataArray(int[] shape)
Return Array with missing datadouble[]
getMissingValues()
return values of missing_value attributesNetcdfFile
getNetcdfFile()
Get the NetcdfFile that this variable is contained in.double
getOffset()
The number to be added to the data after it is read.DataType
getOriginalDataType()
When this wraps another Variable, get the original Variable's DataType.String
getOriginalName()
When this wraps another Variable, get the original Variable's name.Variable
getOriginalVariable()
A VariableDS usually wraps another Variable.DataType
getScaledOffsetType()
Return the data type for values that have undergone scale/offset conversion.double
getScaleFactor()
The data are to be multiplied by this value after the data are read.DataType.Signedness
getSignedness()
Returns the signedness of the decorated variable.String
getUnitsString()
Get the Unit String for the Variable.DataType
getUnsignedConversionType()
Return the data type for values that have undergone unsigned conversion.double
getValidMax()
return the maximum value in the valid rangedouble
getValidMin()
return the minimum value in the valid rangeboolean
hasCachedDataRecurse()
Deprecated.Removed in v6boolean
hasFillValue()
true if Variable has _FillValue attributeboolean
hasMissing()
true if Variable has missing data valuesboolean
hasMissingValue()
true if Variable has missing_value attributeboolean
hasScaleOffset()
true if Variable data will be converted using scale and offsetboolean
hasValidData()
true if Variable has valid_range, valid_min or valid_max attributesboolean
invalidDataIsMissing()
boolean
isFillValue(double val)
return true if val equals the _FillValueboolean
isInvalidData(double val)
return true if val is outside the valid rangeboolean
isMissing(double val)
Returnstrue
if the argument is a missing value.boolean
isMissingValue(double val)
return true if val equals a missing_value (low-level)String
lookupEnumString(int val)
Lookup the enum string for this value.boolean
missingDataIsMissing()
long
readToStream(Section section, OutputStream out)
Read variable data to a stream.Array
reallyRead(Variable client, Section section, CancelTask cancelTask)
public by accident, do not call directly.Array
reallyRead(Variable client, CancelTask cancelTask)
public by accident, do not call directly.void
removeCoordinateSystem(CoordinateSystem cs)
Deprecated.Use VariableDS.builder()boolean
removeEnhancement(NetcdfDataset.Enhance enhancement)
Deprecated.Use NetcdfDataset.builder()void
setCaching(boolean caching)
Deprecated.Use NetcdfDataset.builder()void
setFillValueIsMissing(boolean b)
Deprecated.Use NetcdfDataset.builder()void
setInvalidDataIsMissing(boolean b)
Deprecated.Use NetcdfDataset.builder()void
setMissingDataIsMissing(boolean b)
Deprecated.Use NetcdfDataset.builder()String
setName(String newName)
Deprecated.Use NetcdfDataset.builder()void
setOriginalVariable(Variable orgVar)
Deprecated.Use NetcdfDataset.builder()void
setUnitsString(String units)
Deprecated.Use NetcdfDataset.builder()void
showScaleMissingProxy(Formatter f)
public for debuggingVariableDS.Builder<?>
toBuilder()
Turn into a mutable Builder.String
toStringDebug()
String representation of Variable and its attributes.-
Methods inherited from class ucar.nc2.Variable
_readScalarData, addAll, addAttribute, addLocalFieldsToBuilder, attributes, compareTo, createNewCache, equals, extraInfo, findAttribute, findAttributeDouble, findAttributeIgnoreCase, findAttributeInteger, findAttributeString, findDimensionIndex, getAttributes, getDAPName, getDAPName, getDataType, getDimension, getDimensions, getDimensionsAll, getDimensionsString, getElementSize, getEnumTypedef, getFileTypeId, getFullName, getNameAndDimensions, getNameAndDimensions, getNameAndDimensions, getNameAndDimensions, getNameAndDimensions, getNameAndDimensions, getParentGroup, getParentGroupOrRoot, getParentStructure, getProxyReader, getRanges, getRank, getScalarData, getShape, getShape, getShapeAll, getShapeAsSection, getSize, getSizeToCache, getSPobject, hasCachedData, hashCode, invalidateCache, isCaching, isCoordinateVariable, isEmpty, isImmutable, isMemberOfStructure, isMetadata, isScalar, isUnknownLength, isUnlimited, isVariableLength, read, read, read, read, read, readScalarByte, readScalarDouble, readScalarFloat, readScalarInt, readScalarLong, readScalarShort, readScalarString, readToByteChannel, reduce, remove, removeAttribute, removeAttributeIgnoreCase, resetDimensions, resetShape, section, section, setCachedData, setCachedData, setDataType, setDimension, setDimensions, setDimensions, setDimensionsAnonymous, setElementSize, setEnumTypedef, setImmutable, setIsScalar, setParentGroup, setProxyReader, setSizeToCache, setSPobject, setValues, setValues, slice, toString, writeCDL, writeCDL
-
Methods inherited from class ucar.nc2.CDMNode
annotate, annotation, getDODSName, getFullNameEscaped, getGroup, getImmutable, getName, getShortName, getSort, localhash, setDODSName, setParentStructure, setShortName, setSort, unwrap
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface ucar.nc2.AttributeContainer
findAttValueIgnoreCase, getName, hasAttribute, hasAttributeIgnoreCase, iterator
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Methods inherited from interface ucar.nc2.dataset.VariableEnhanced
getFullName, getShortName
-
Methods inherited from interface ucar.nc2.VariableSimpleIF
getName, getShortName
-
-
-
-
Constructor Detail
-
VariableDS
@Deprecated public VariableDS(NetcdfDataset ds, Group group, Structure parentStructure, String shortName, DataType dataType, String dims, String units, String desc)
Deprecated.Use NetcdfDataset.builder()Constructor when there's no underlying variable. You must also set the values by doing one of:- set the values with setCachedData()
- set a proxy reader with setProxyReader()
- Parameters:
ds
- the containing datasetgroup
- the containing groupparentStructure
- the containing Structure (may be null)shortName
- the (short) namedataType
- the data typedims
- list of dimension names, these must already exist in the Group; empty String = scalarunits
- String value of units, may be nulldesc
- String value of description, may be null
-
VariableDS
@Deprecated public VariableDS(Group group, Structure parent, String shortName, Variable orgVar)
Deprecated.Use NetcdfDataset.builder()Make a new VariableDS, delegate data reading to the original variable, but otherwise dont take any info from it. This is used by NcML explicit mode.- Parameters:
group
- the containing group; may not be nullparent
- parent Structure, may be nullshortName
- variable shortName, must be unique within the GrouporgVar
- the original Variable to wrap. The original Variable is not modified. Must not be a Structure, use StructureDS instead.
-
VariableDS
@Deprecated public VariableDS(Group g, Variable orgVar, boolean enhance)
Deprecated.Use NetcdfDataset.builder()Wrap the given Variable, making it into a VariableDS. Delegate data reading to the original variable. Take all metadata from original variable. Does not share cache, iosp.- Parameters:
g
- logical container, if null use orgVar's grouporgVar
- the original Variable to wrap. The original Variable is not modified. Must not be a Structure, use StructureDS instead.enhance
- if true, use NetcdfDataset.defaultEnhanceMode to define what enhancements are made. Note that this can change DataType and data values. You can also call enhance() later. If orgVar is VariableDS, then enhance is inherited from there, and this parameter is ignored.
-
VariableDS
@Deprecated protected VariableDS(VariableDS vds, boolean isCopy)
Deprecated.Use NetcdfDataset.builder()Copy constructor, for subclasses. Used by copy() and CoordinateAxis Share everything except the coord systems.- Parameters:
vds
- copy from here.isCopy
- called from copy()
-
VariableDS
protected VariableDS(VariableDS.Builder<?> builder, Group parentGroup)
-
-
Method Detail
-
getNetcdfFile
public NetcdfFile getNetcdfFile()
Description copied from class:Variable
Get the NetcdfFile that this variable is contained in. May be null.- Overrides:
getNetcdfFile
in classVariable
-
copy
@Deprecated protected VariableDS copy()
Deprecated.UsetoBuilder()
-
clearCoordinateSystems
@Deprecated public void clearCoordinateSystems()
Deprecated.Use NetcdfDataset.builder()Remove coordinate system info.- Specified by:
clearCoordinateSystems
in interfaceVariableEnhanced
-
enhance
@Deprecated public void enhance(Set<NetcdfDataset.Enhance> enhancements)
Deprecated.Use NetcdfDataset.builder()Calculate scale/offset/missing/enum/unsigned value info. This may change the DataType.- Specified by:
enhance
in interfaceVariableEnhanced
-
getEnhanceMode
public Set<NetcdfDataset.Enhance> getEnhanceMode()
Returns the enhancements applied to this variable. If this variable wraps another variable, the returned set will also contain the enhancements applied to the nested variable, recursively.- Returns:
- the enhancements applied to this variable.
-
addEnhancement
@Deprecated public boolean addEnhancement(NetcdfDataset.Enhance enhancement)
Deprecated.Use NetcdfDataset.builder()Addenhancement
to this variable. It may result in a change of data type.- Parameters:
enhancement
- the enhancement to add.- Returns:
true
if the set of enhancements changed as a result of the call.
-
removeEnhancement
@Deprecated public boolean removeEnhancement(NetcdfDataset.Enhance enhancement)
Deprecated.Use NetcdfDataset.builder()Removeenhancement
from this variable. It may result in a change of data type.- Parameters:
enhancement
- the enhancement to remove.- Returns:
true
if the set of enhancements changed as a result of the call.
-
getOriginalVariable
public Variable getOriginalVariable()
A VariableDS usually wraps another Variable.- Specified by:
getOriginalVariable
in interfaceVariableEnhanced
- Returns:
- original Variable or null
-
setOriginalVariable
@Deprecated public void setOriginalVariable(Variable orgVar)
Deprecated.Use NetcdfDataset.builder()Set the Variable to wrap. Used by NcML explicit mode.- Specified by:
setOriginalVariable
in interfaceVariableEnhanced
- Parameters:
orgVar
- original Variable, must not be a Structure
-
getOriginalDataType
public DataType getOriginalDataType()
When this wraps another Variable, get the original Variable's DataType.- Returns:
- original Variable's DataType, or current data type if it doesnt wrap another variable
-
getOriginalName
public String getOriginalName()
When this wraps another Variable, get the original Variable's name.- Specified by:
getOriginalName
in interfaceVariableEnhanced
- Returns:
- original Variable's name
-
lookupEnumString
public String lookupEnumString(int val)
Description copied from class:Variable
Lookup the enum string for this value. Can only be called on enum types, where dataType.isEnum() is true.- Overrides:
lookupEnumString
in classVariable
- Parameters:
val
- the integer value of this enum- Returns:
- the String value
-
setName
@Deprecated public String setName(String newName)
Deprecated.Use NetcdfDataset.builder()Description copied from class:Variable
Set the short name, converting to valid CDM object name if needed.
-
toStringDebug
public String toStringDebug()
Description copied from class:Variable
String representation of Variable and its attributes.- Overrides:
toStringDebug
in classVariable
-
getDatasetLocation
public String getDatasetLocation()
Description copied from class:Variable
The location of the dataset this belongs to. Labeling purposes only.- Overrides:
getDatasetLocation
in classVariable
-
hasCachedDataRecurse
@Deprecated public boolean hasCachedDataRecurse()
Deprecated.Removed in v6
-
setCaching
@Deprecated public void setCaching(boolean caching)
Deprecated.Use NetcdfDataset.builder()Description copied from class:Variable
Set whether to cache or not. Implies that the entire array will be stored, once read. Normally this is set automatically based on size of data.- Overrides:
setCaching
in classVariable
- Parameters:
caching
- set if caching.
-
_read
protected Array _read() throws IOException
- Overrides:
_read
in classVariable
- Throws:
IOException
-
_read
protected Array _read(Section section) throws IOException, InvalidRangeException
- Overrides:
_read
in classVariable
- Throws:
IOException
InvalidRangeException
-
reallyRead
public Array reallyRead(Variable client, CancelTask cancelTask) throws IOException
Description copied from class:Variable
public by accident, do not call directly.- Specified by:
reallyRead
in interfaceProxyReader
- Overrides:
reallyRead
in classVariable
- Parameters:
client
- the client VariablecancelTask
- user may cancel- Returns:
- Array
- Throws:
IOException
- on error
-
reallyRead
public Array reallyRead(Variable client, Section section, CancelTask cancelTask) throws IOException, InvalidRangeException
Description copied from class:Variable
public by accident, do not call directly.- Specified by:
reallyRead
in interfaceProxyReader
- Overrides:
reallyRead
in classVariable
- Parameters:
client
- the client Variablesection
- the section of data to read.cancelTask
- user may cancel- Returns:
- Array
- Throws:
IOException
- on errorInvalidRangeException
- if section has incorrect rank or illegal shape.
-
readToStream
public long readToStream(Section section, OutputStream out) throws IOException, InvalidRangeException
Description copied from class:Variable
Read variable data to a stream. Support for NcStreamWriter.- Overrides:
readToStream
in classVariable
- Throws:
IOException
InvalidRangeException
-
getMissingDataArray
public Array getMissingDataArray(int[] shape)
Return Array with missing data- Parameters:
shape
- of this shape- Returns:
- Array with given shape
-
showScaleMissingProxy
public void showScaleMissingProxy(Formatter f)
public for debugging- Parameters:
f
- put info here
-
getDescription
public String getDescription()
Description copied from class:Variable
Get the description of the Variable. Default is to use CDM.LONG_NAME attribute value. If not exist, look for "description", "title", or "standard_name" attribute value (in that order).- Specified by:
getDescription
in interfaceEnhancements
- Specified by:
getDescription
in interfaceVariableSimpleIF
- Overrides:
getDescription
in classVariable
- Returns:
- description, or null if not found.
-
getUnitsString
public String getUnitsString()
Description copied from class:Variable
Get the Unit String for the Variable. Looks for the CDM.UNITS attribute value- Specified by:
getUnitsString
in interfaceEnhancements
- Specified by:
getUnitsString
in interfaceVariableSimpleIF
- Overrides:
getUnitsString
in classVariable
- Returns:
- unit string, or null if not found.
-
setUnitsString
@Deprecated public void setUnitsString(String units)
Deprecated.Use NetcdfDataset.builder()Description copied from interface:VariableEnhanced
Set the Unit String for this Variable. Default is to use the CDM.UNITS attribute.- Specified by:
setUnitsString
in interfaceVariableEnhanced
- Parameters:
units
- unit string
-
getCoordinateSystems
public com.google.common.collect.ImmutableList<CoordinateSystem> getCoordinateSystems()
Description copied from interface:Enhancements
Get the list of Coordinate Systems for this Variable.- Specified by:
getCoordinateSystems
in interfaceEnhancements
- Returns:
- list of type CoordinateSystem; may be empty but not null.
-
addCoordinateSystem
@Deprecated public void addCoordinateSystem(CoordinateSystem cs)
Deprecated.Use VariableDS.builder()Description copied from interface:Enhancements
Add a CoordinateSystem to the dataset.- Specified by:
addCoordinateSystem
in interfaceEnhancements
- Parameters:
cs
- add this Coordinate System
-
removeCoordinateSystem
@Deprecated public void removeCoordinateSystem(CoordinateSystem cs)
Deprecated.Use VariableDS.builder()Description copied from interface:Enhancements
Remove a CoordinateSystem from the dataset.- Specified by:
removeCoordinateSystem
in interfaceEnhancements
- Parameters:
cs
- remove this coordinate system
-
hasScaleOffset
public boolean hasScaleOffset()
Description copied from interface:EnhanceScaleMissingUnsigned
true if Variable data will be converted using scale and offset- Specified by:
hasScaleOffset
in interfaceEnhanceScaleMissingUnsigned
-
getScaleFactor
public double getScaleFactor()
Description copied from interface:EnhanceScaleMissingUnsigned
The data are to be multiplied by this value after the data are read. By default it is1.0
, i.e. no scaling. It will remain that value if the variable defines noCDM.SCALE_FACTOR
attribute.- Specified by:
getScaleFactor
in interfaceEnhanceScaleMissingUnsigned
- Returns:
- the multiplier to apply to the data.
-
getOffset
public double getOffset()
Description copied from interface:EnhanceScaleMissingUnsigned
The number to be added to the data after it is read. If bothCDM.SCALE_FACTOR
andCDM.ADD_OFFSET
attributes are present, the data are first scaled before the offset is added. By default it is0.0
, i.e. no offset. It will remain that value if the variable defines noCDM.SCALE_FACTOR
attribute.- Specified by:
getOffset
in interfaceEnhanceScaleMissingUnsigned
- Returns:
- the number to add to the data.
-
hasMissing
public boolean hasMissing()
Description copied from interface:EnhanceScaleMissingUnsigned
true if Variable has missing data values- Specified by:
hasMissing
in interfaceEnhanceScaleMissingUnsigned
- Specified by:
hasMissing
in interfaceIsMissingEvaluator
- Returns:
- true if Variable has missing data values
-
isMissing
public boolean isMissing(double val)
Description copied from interface:EnhanceScaleMissingUnsigned
Returnstrue
if the argument is a missing value. Note thatFloat.NaN
andDouble.NaN
are considered missing data.- Specified by:
isMissing
in interfaceEnhanceScaleMissingUnsigned
- Specified by:
isMissing
in interfaceIsMissingEvaluator
- Parameters:
val
- an unpacked value.- Returns:
true
if the argument is a missing value.
-
hasValidData
public boolean hasValidData()
Description copied from interface:EnhanceScaleMissingUnsigned
true if Variable has valid_range, valid_min or valid_max attributes- Specified by:
hasValidData
in interfaceEnhanceScaleMissingUnsigned
-
getValidMin
public double getValidMin()
Description copied from interface:EnhanceScaleMissingUnsigned
return the minimum value in the valid range- Specified by:
getValidMin
in interfaceEnhanceScaleMissingUnsigned
-
getValidMax
public double getValidMax()
Description copied from interface:EnhanceScaleMissingUnsigned
return the maximum value in the valid range- Specified by:
getValidMax
in interfaceEnhanceScaleMissingUnsigned
-
isInvalidData
public boolean isInvalidData(double val)
Description copied from interface:EnhanceScaleMissingUnsigned
return true if val is outside the valid range- Specified by:
isInvalidData
in interfaceEnhanceScaleMissingUnsigned
-
hasFillValue
public boolean hasFillValue()
Description copied from interface:EnhanceScaleMissingUnsigned
true if Variable has _FillValue attribute- Specified by:
hasFillValue
in interfaceEnhanceScaleMissingUnsigned
-
getFillValue
public double getFillValue()
Description copied from interface:EnhanceScaleMissingUnsigned
return value of _FillValue attribute- Specified by:
getFillValue
in interfaceEnhanceScaleMissingUnsigned
-
isFillValue
public boolean isFillValue(double val)
Description copied from interface:EnhanceScaleMissingUnsigned
return true if val equals the _FillValue- Specified by:
isFillValue
in interfaceEnhanceScaleMissingUnsigned
-
hasMissingValue
public boolean hasMissingValue()
Description copied from interface:EnhanceScaleMissingUnsigned
true if Variable has missing_value attribute- Specified by:
hasMissingValue
in interfaceEnhanceScaleMissingUnsigned
-
getMissingValues
public double[] getMissingValues()
Description copied from interface:EnhanceScaleMissingUnsigned
return values of missing_value attributes- Specified by:
getMissingValues
in interfaceEnhanceScaleMissingUnsigned
-
isMissingValue
public boolean isMissingValue(double val)
Description copied from interface:EnhanceScaleMissingUnsigned
return true if val equals a missing_value (low-level)- Specified by:
isMissingValue
in interfaceEnhanceScaleMissingUnsigned
-
setFillValueIsMissing
@Deprecated public void setFillValueIsMissing(boolean b)
Deprecated.Use NetcdfDataset.builder()Description copied from interface:EnhanceScaleMissingUnsigned
Set if _FillValue is considered isMissing().- Specified by:
setFillValueIsMissing
in interfaceEnhanceScaleMissingUnsigned
-
setInvalidDataIsMissing
@Deprecated public void setInvalidDataIsMissing(boolean b)
Deprecated.Use NetcdfDataset.builder()Description copied from interface:EnhanceScaleMissingUnsigned
set if valid_range is considered isMissing(); better set in constructor if possible- Specified by:
setInvalidDataIsMissing
in interfaceEnhanceScaleMissingUnsigned
-
missingDataIsMissing
public boolean missingDataIsMissing()
-
fillValueIsMissing
public boolean fillValueIsMissing()
-
invalidDataIsMissing
public boolean invalidDataIsMissing()
-
setMissingDataIsMissing
@Deprecated public void setMissingDataIsMissing(boolean b)
Deprecated.Use NetcdfDataset.builder()Description copied from interface:EnhanceScaleMissingUnsigned
set if missing_data is considered isMissing(); better set in constructor if possible- Specified by:
setMissingDataIsMissing
in interfaceEnhanceScaleMissingUnsigned
-
getScaledOffsetType
@Nullable public DataType getScaledOffsetType()
Description copied from interface:EnhanceScaleMissingUnsigned
Return the data type for values that have undergone scale/offset conversion. This will benull
if the decorated variable lacksscale_factor
oradd_offset
attributes. You can check withEnhanceScaleMissingUnsigned.hasScaleOffset()
.- Specified by:
getScaledOffsetType
in interfaceEnhanceScaleMissingUnsigned
- Returns:
- the data type for values that have undergone scale/offset conversion.
-
getUnsignedConversionType
public DataType getUnsignedConversionType()
Description copied from interface:EnhanceScaleMissingUnsigned
Return the data type for values that have undergone unsigned conversion. This will never benull
, even when no unsigned conversion is necessary (because the underlying variable isn't unsigned). In such cases, this data type will be the same as that of the underlying variable.- Specified by:
getUnsignedConversionType
in interfaceEnhanceScaleMissingUnsigned
- Returns:
- the data type for values that have undergone unsigned conversion.
-
getSignedness
public DataType.Signedness getSignedness()
Description copied from interface:EnhanceScaleMissingUnsigned
Returns the signedness of the decorated variable.- Specified by:
getSignedness
in interfaceEnhanceScaleMissingUnsigned
- Returns:
- the signedness of the decorated variable.
-
applyScaleOffset
public double applyScaleOffset(Number value)
Description copied from interface:EnhanceScaleMissingUnsigned
Apply scale and offset to the specified value ifEnhanceScaleMissingUnsigned.hasScaleOffset()
. Otherwise, just returnvalue
.- Specified by:
applyScaleOffset
in interfaceEnhanceScaleMissingUnsigned
-
applyScaleOffset
public Array applyScaleOffset(Array data)
Description copied from interface:EnhanceScaleMissingUnsigned
Apply scale and offset to each element ofin
and return the result as a new Array, but only ifEnhanceScaleMissingUnsigned.hasScaleOffset()
. Otherwise, just returnvalue
. Otherwise, just returndata
.- Specified by:
applyScaleOffset
in interfaceEnhanceScaleMissingUnsigned
- Parameters:
data
- convert this- Returns:
- converted data.
-
convertUnsigned
public Number convertUnsigned(Number value)
Description copied from interface:EnhanceScaleMissingUnsigned
Convertvalue
to the next largest integral data type by anunsigned conversion
. The conversion only happens if the decorated variableis unsigned
andvalue
is a negative integer. Otherwise, simply returnvalue
.- Specified by:
convertUnsigned
in interfaceEnhanceScaleMissingUnsigned
- Parameters:
value
- an integral number to convert.- Returns:
- the result of an unsigned conversion of
value
.
-
convertUnsigned
public Array convertUnsigned(Array in)
Description copied from interface:EnhanceScaleMissingUnsigned
Performs anunsigned conversion
of each element ofin
and returns the result as a new Array. The data type of the returned array will beEnhanceScaleMissingUnsigned.getUnsignedConversionType()
.- Specified by:
convertUnsigned
in interfaceEnhanceScaleMissingUnsigned
- Parameters:
in
- an Array containing integral Numbers to convert.- Returns:
- the result of an unsigned conversion of each element of
in
.
-
convertMissing
public Number convertMissing(Number value)
Description copied from interface:EnhanceScaleMissingUnsigned
- Specified by:
convertMissing
in interfaceEnhanceScaleMissingUnsigned
-
convertMissing
public Array convertMissing(Array in)
Description copied from interface:EnhanceScaleMissingUnsigned
- Specified by:
convertMissing
in interfaceEnhanceScaleMissingUnsigned
- Parameters:
in
- an array containing floating-point numbers to convert.- Returns:
- the result of a missing conversion of each element of
in
.
-
convert
@Deprecated public Array convert(Array in, boolean convertUnsigned, boolean applyScaleOffset, boolean convertMissing)
Deprecated.use implementations in filters packageDescription copied from interface:EnhanceScaleMissingUnsigned
Perform the specified conversions on each element ofin
and return the result as a new Array. Note that this method is more efficient than callingEnhanceScaleMissingUnsigned.convertUnsigned(Array)
, followed byEnhanceScaleMissingUnsigned.applyScaleOffset(Array)
, followed byEnhanceScaleMissingUnsigned.convertMissing(Array)
, as only one copy ofin
is made.- Specified by:
convert
in interfaceEnhanceScaleMissingUnsigned
- Parameters:
in
- a numeric array.convertUnsigned
-true
if we shouldconvert unsigned
.applyScaleOffset
-true
if we shouldapply scale/offset
.convertMissing
-true
if we shouldconvert missing
.- Returns:
- a new array, with the specified conversions performed.
-
toBuilder
public VariableDS.Builder<?> toBuilder()
Description copied from class:Variable
Turn into a mutable Builder. Can use toBuilder().build() to copy.
-
addLocalFieldsToBuilder
protected VariableDS.Builder<?> addLocalFieldsToBuilder(VariableDS.Builder<? extends VariableDS.Builder<?>> builder)
-
builder
public static VariableDS.Builder<?> builder()
Get Builder for this class that allows subclassing.- See Also:
- "https://community.oracle.com/blogs/emcmanus/2010/10/24/using-builder-pattern-subclasses"
-
-