org.das2.datum.Units
Class for indicating physical units, and other random units.
dimensionless
radians
degrees
deg
degrees2
rgbColor
It's often enough that we just want to paint data with a particular color that
there's a special unit which is used to trigger a branch, and the color will
be used. This can have an alpha channel as well in the high byte, but zero will imply that the
alpha channel is missing and opaque will be used.
celciusDegrees
fahrenheitDegrees
years
days
hours
hours2
minutes
seconds
seconds2
milliseconds
milliseconds2
microseconds
microseconds2
microseconds3
nanoseconds
ns
picoseconds
bytesPerSecond
kiloBytesPerSecond
bytes
kiloBytes
hertz
kiloHertz
megaHertz
gigaHertz
eV
ev
keV
MeV
pcm3
1 / cm3
kelvin
cm_2s_1keV_1
cm_2s_1MeV_1
v2pm2Hz
Volts 2 m-2 Hz-1
wpm2
Watts / m2
meters
millimeters
centimeters
kiloMeters
inches
typographicPoints
nT
cmps
mps
centigrade
begin of LocationUnits. These must be defined after the physical units to support Basis.
fahrenheitScale
dollars
currencies for demonstration purposes.
euros
yen
rupee
us2020
Microseconds since midnight Jan 1, 2020, excluding those within a leap second. Differences across leap
second boundaries do not represent the number of microseconds elapsed.
us2000
Microseconds since midnight Jan 1, 2000, excluding those within a leap second. Differences across leap
second boundaries do not represent the number of microseconds elapsed.
us1980
Microseconds since midnight Jan 1, 1980, excluding those within a leap second.
t2010
Seconds since midnight Jan 1, 2010, excluding leap seconds.
t2000
Seconds since midnight Jan 1, 2000, excluding leap seconds.
t1970
seconds since midnight Jan 1, 1970, excluding leap seconds.
ms1970
milliseconds since midnight Jan 1, 1970, excluding leap seconds.
us1970
milliseconds since midnight Jan 1, 1970, excluding leap seconds.
mj1958
roughly days since on midnight on 1958-01-01, Julian - 2436204.5 to be more precise.
mjd
The Modified Julian Day (MJD) is the number of days (with decimal fraction of the day) that have elapsed since midnight at the beginning of Wednesday November 17, 1858.
Julian - 2400000.5
julianDay
The Julian Day (MJD) is the number of days (with decimal fraction of the day) that have elapsed since noon on January 1, 4713 BCE.
Julian - 2400000.5
cdfEpoch
cdf epoch milliseconds since midnight, 01-Jan-0000, excluding those with a leap second. There must be skipped days, because this doesn't yield 01-Jan-0000 for 0.,
but works fine at 1-1-2000., excluding those within a leap second
cdfTT2000
the number of nanoseconds since 01-Jan-2000T12:00, roughly. This includes leap seconds, so conversion is more than a scale,offset.
decimalYear
the year plus the fraction into the current year, ((doy-1)/365) for non-leap years.
percent
ratiometric units
dB
Define a set of units to describe ratiometric (logarithmic) spacing.
Note the log10Ratio is the preferred method for expressing spacing, but all are convertible
See logERatio, log10Ratio and Google for "fold change."
ampRatio
percentIncrease
log10Ratio
logERatio
add
add( Number a, Number b, Units bUnits ) → Datum
Parameters
a - a Number
b - a Number
bUnits - an Units
Returns:
org.das2.datum.Datum
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
convertDoubleTo
convertDoubleTo( Units toUnits, double value ) → double
convert the double in this units' space to toUnits' space.
Parameters
toUnits - the units.
value - the value in toUnits.
Returns:
the double in the new units system.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
createDatum
createDatum( double value ) → Datum
Parameters
value - a double
Returns:
org.das2.datum.Datum
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
createDatum( int value ) → Datum
createDatum( long value ) → Datum
createDatum( Number value ) → Datum
createDatum( Datum value ) → Datum
createDatum( double value, double resolution ) → Datum
divide
divide( Number a, Number b, Units bUnits ) → Datum
Parameters
a - a Number
b - a Number
bUnits - an Units
Returns:
org.das2.datum.Datum
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
format
format( Datum datum ) → String
format the Datum.
Parameters
datum - the Datum
Returns:
the Datum formatted as a string.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getAllUnits
getAllUnits( ) → java.util.List
return all the known units.
Returns:
list of all the known units.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getBasis
getBasis( ) → org.das2.datum.Basis
return the Basis which defines the meaning of zero and the direction of positive values, such as
"since midnight, Jan 1, 1970"
Returns:
the Basis object, which simply identifies a basis.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getByName
getByName( String s ) → Units
returns a Units object with the given string representation that is stored in the unitsMap.
Unlike lookupUnits, this will not allocate new units but will throw an IllegalArgumentException
if the string is not recognized.
Parameters
s - units identifier
Returns:
units object
See Also:
lookupUnits(java.lang.String)
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getCanonicalUnit
getCanonicalUnit( Units units ) → Units
return the preferred unit to use when there are multiple representations
of the same unit (having conversion UnitsConverter.IDENTITY).
Parameters
units - an Units
Returns:
the preferred unit
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getConverter
getConverter( Units fromUnits, Units toUnits ) → org.das2.datum.UnitsConverter
lookup the UnitsConverter object that takes numbers from fromUnits to toUnits.
This will chain together UnitsConverters registered via units.registerConverter.
Parameters
fromUnits - units instance that is the source units.
toUnits - units instance that is the target units.
Returns:
UnitsConverter object
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getConverter( Units toUnits ) → org.das2.datum.UnitsConverter
getConvertibleUnits
getConvertibleUnits( ) → Units[]
return the units to which this unit is convertible.
Returns:
the units to which this unit is convertible.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getDatumFormatterFactory
getDatumFormatterFactory( ) → org.das2.datum.format.DatumFormatterFactory
return the formatter factor for this Datum.
Returns:
an org.das2.datum.format.DatumFormatterFactory
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getFillDatum
getFillDatum( ) → Datum
Returns:
org.das2.datum.Datum
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getFillDouble
getFillDouble( ) → double
Returns:
double
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getId
getId( ) → String
get the id uniquely identifying the units. Note the id may contain
special tokens, like "since" for time locations.
Returns:
the id.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getOffsetUnits
getOffsetUnits( ) → Units
return the units from the Basis for the unit, such as "seconds" in
"seconds since midnight, Jan 1, 1970"
Returns:
this units offsets.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
grannyFormat
grannyFormat( Datum datum ) → String
format the Datum, allowing use of subscripts and superscripts interpretted by GrannyTextRenderer.
Parameters
datum - the Datum
Returns:
the Datum formatted as a string, possibly containing control sequences like !A and !n, etc.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
isConvertibleTo
isConvertibleTo( Units toUnits ) → boolean
return true if the unit can be converted to toUnits.
Parameters
toUnits - Units object.
Returns:
true if the unit can be converted to toUnits.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
isFill
isFill( double value ) → boolean
Parameters
value - a double
Returns:
boolean
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
isFill( Number value ) → boolean
isValid
isValid( double value ) → boolean
test if the double represents a valid datum in the context of this unit.
Note slight differences in implementation may cause isFill and isValid
to produce inconsistent results. For example, this code checks for NaNs
whereas isFill does not.
Parameters
value - the value to check.
Returns:
true if the data is not fill and not NaN.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
lookupTimeLengthUnit
lookupTimeLengthUnit( String s ) → Units
return canonical das2 unit for colloquial time.
Parameters
s - string containing time unit like s, sec, millisec, etc.
Returns:
the unit or ParseException if the unit is not recognized.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
lookupTimeUnits
lookupTimeUnits( Datum base, Units offsetUnits ) → Units
lookupUnits canonical units object, or allocate one. If one is
allocated, then parse for "<unit> since <datum>" and add conversion to
"microseconds since 2000-001T00:00." Note leap seconds are ignored!
Parameters
base - the base time, for example 2000-001T00:00.
offsetUnits - the offset units for example microseconds. Positive values of the units will be since the base time.
Returns:
the unit.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
lookupTimeUnits( String units ) → Units
lookupUnits
lookupUnits( String sunits ) → Units
lookupUnits canonical units object, or allocate one if the
unit has not been used already.
Examples include:
"nT" where it's already allocated,
"apples" where it allocates a new one, and
"seconds since 2011-12-21T00:00" where it uses lookupTimeUnits.
Parameters
sunits - string identifier.
Returns:
canonical units object.
See Also:
getByName(java.lang.String)
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
main
main( String[] args ) → void
Parameters
args - a java.lang.String[]
Returns:
void (returns nothing)
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
multiply
multiply( Number a, Number b, Units bUnits ) → Datum
Parameters
a - a Number
b - a Number
bUnits - an Units
Returns:
org.das2.datum.Datum
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
nominal
nominal( ) → org.das2.datum.EnumerationUnits
return unit for identifying nominal data. Strings are enumerated using
this unit using the result's create(string) method, which returns a datum
representing the string. This method allocates
a number for the string if one hasn't already been allocated, and the
name is unique within the namespace "default".
Returns:
an EnumerationUnit with the namespace "default"
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
nominal( String nameSpace ) → org.das2.datum.EnumerationUnits
parse
parse( String s ) → Datum
parse the string in the context of these units. The string may
throw a parse exception if it cannot be parsed, or may return
a known unit.
Parameters
s - a String
Returns:
a Datum
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
registerConverter
registerConverter( Units toUnits, org.das2.datum.UnitsConverter converter ) → void
register a converter between the units. Note these converters can be
changed together to derive conversions. (A to B, B to C defines A to C.)
Parameters
toUnits - the target units
converter - the converter that goes from this unit to target units.
Returns:
void (returns nothing)
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
subtract
subtract( Number a, Number b, Units bUnits ) → Datum
Parameters
a - a Number
b - a Number
bUnits - an Units
Returns:
org.das2.datum.Datum
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
toString
toString( ) → String
Returns:
java.lang.String
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]