|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.geotools.coverage.Category
A category delimited by a range of sample values. A categogy may be either qualitative or quantitative. For exemple, a classified image may have a qualitative category defining sample value as water. An other qualitative category may defines sample value as forest, etc. An other image may define elevation data as sample values in the range . The later is a quantitative category, because sample values are related to some measurement in the real world. For example, elevation data may be related to an altitude in metres through the following linear relation: altitude = sample value×100. Some image mixes both qualitative and quantitative categories. For example, images of Sea Surface Temperature (SST) may have a quantitative category for temperature with values ranging from ?2 to 35?C, and three qualitative categories for cloud, land and ice.
All categories must have a human readable name. In addition, quantitative categories may define a transformation between sample values s and geophysics values x. This transformation is usually (but not always) a linear equation of the form:
More general equation are allowed. For example, SeaWiFS images use a logarithmic transform. General transformations are expressed with aMathTransform1D
object. In the special case where the transformation
is a linear one (as in the formula above), then a object
may be understood as the interval between two breakpoints in the JAI's
piecewise operation.
All objects are immutable and thread-safe.
GridSampleDimension
,
PiecewiseDescriptor
,
Serialized FormField Summary | |
static Category |
FALSE
A default category for the boolean " false " value. |
static Category |
NODATA
A default category for "no data" values. |
static Category |
TRUE
A default category for the boolean " true " value. |
Constructor Summary | |
Category(java.lang.CharSequence name,
java.awt.Color[] colors,
int lower,
int upper,
double scale,
double offset)
Constructs a quantitative category for sample values ranging from inclusive to exclusive. |
|
Category(java.lang.CharSequence name,
java.awt.Color[] colors,
NumberRange sampleValueRange,
double scale,
double offset)
Constructs a quantitative category for sample values in the specified range. |
|
Category(java.lang.CharSequence name,
java.awt.Color[] colors,
NumberRange sampleValueRange,
org.opengis.referencing.operation.MathTransform1D sampleToGeophysics)
Constructs a qualitative or quantitative category for samples in the specified range. |
|
Category(java.lang.CharSequence name,
java.awt.Color[] colors,
NumberRange sampleValueRange,
NumberRange geophysicsValueRange)
Constructs a quantitative category mapping samples to geophysics values in the specified range. |
|
Category(java.lang.CharSequence name,
java.awt.Color color,
boolean sample)
Constructs a qualitative category for a boolean value. |
|
Category(java.lang.CharSequence name,
java.awt.Color color,
double sample)
Constructs a qualitative category for sample value . |
|
Category(java.lang.CharSequence name,
java.awt.Color color,
int sample)
Constructs a qualitative category for sample value . |
|
Category(java.lang.CharSequence name,
java.awt.Color color,
NumberRange sampleValueRange)
Constructs a quantitative category for samples in the specified range. |
Method Summary | |
boolean |
equals(java.lang.Object object)
Compares the specified object with this category for equality. |
Category |
geophysics(boolean geo)
If , returns the geophysics companion of this category. |
java.awt.Color[] |
getColors()
Returns the set of colors for this category. |
org.opengis.util.InternationalString |
getName()
Returns the category name. |
NumberRange |
getRange()
Returns the range of sample values occurring in this category. |
org.opengis.referencing.operation.MathTransform1D |
getSampleToGeophysics()
Returns a transform from sample values to geophysics values. |
int |
hashCode()
Returns a hash value for this category. |
boolean |
isQuantitative()
Returns if this category is quantitative. |
Category |
recolor(java.awt.Color[] colors)
Returns a category for the same range of sample values but a different color palette. |
Category |
rescale(org.opengis.referencing.operation.MathTransform1D sampleToGeophysics)
Changes the mapping from sample to geophysics values. |
java.lang.String |
toString()
Returns a string representation of this category. |
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final Category NODATA
Float.NaN
for those who work
with floating point images. The rendering color default to a fully transparent color and
the name is "no data" localized to the requested locale.
public static final Category FALSE
false
" value. This default
identity category uses sample value 0, the color black and
the name "false" localized to the specified locale.
public static final Category TRUE
true
" value. This default
identity category uses sample value 1, the color white
and the name "true" localized to the specified locale.
Constructor Detail |
public Category(java.lang.CharSequence name, java.awt.Color color, boolean sample)
name
- The category name as a String
or InternationalString
object.color
- The category color, or for a default color.sample
- The sample value as a boolean.public Category(java.lang.CharSequence name, java.awt.Color color, int sample)
name
- The category name as a String
or InternationalString
object.color
- The category color, or for a default color.sample
- The sample value as an integer, usually in the range 0 to 255.public Category(java.lang.CharSequence name, java.awt.Color color, double sample)
name
- The category name as a String
or InternationalString
object.color
- The category color, or for a default color.sample
- The sample value as a double. May be one of values.public Category(java.lang.CharSequence name, java.awt.Color color, NumberRange sampleValueRange) throws java.lang.IllegalArgumentException
name
- The category name as a String
or InternationalString
object.color
- The category color, or for a default color.sampleValueRange
- The range of sample values for this category. Element class
is usually Integer
, but Float
and Double
are
accepted as well.public Category(java.lang.CharSequence name, java.awt.Color[] colors, int lower, int upper, double scale, double offset) throws java.lang.IllegalArgumentException
= offset + scale×
s
name
- The category name as a String
or InternationalString
object.colors
- A set of colors for this category. This array may have any length;
colors will be interpolated as needed. An array of length 1 means
that an uniform color should be used for all sample values. An array
of length 0 or a array means that some default colors
should be used (usually a gradient from opaque black to opaque white).lower
- The lower sample value, inclusive.upper
- The upper sample value, exclusive.scale
- The scale
value which is
multiplied to sample values for this category.offset
- The offset
value to add
to sample values for this category.
java.lang.IllegalArgumentException
- if is not smaller than .
java.lang.IllegalArgumentException
- if or are not real numbers.public Category(java.lang.CharSequence name, java.awt.Color[] colors, NumberRange sampleValueRange, double scale, double offset) throws java.lang.IllegalArgumentException
= offset + scale×
s
name
- The category name as a String
or InternationalString
object.colors
- A set of colors for this category. This array may have any length;
colors will be interpolated as needed. An array of length 1 means
that an uniform color should be used for all sample values. An array
of length 0 or a array means that some default colors
should be used (usually a gradient from opaque black to opaque white).sampleValueRange
- The range of sample values for this category. Element class
is usually Integer
, but Float
and Double
are
accepted as well.scale
- The scale
value which is
multiplied to sample values for this category.offset
- The offset
value to add
to sample values for this category.
java.lang.IllegalArgumentException
- if is not smaller than .
java.lang.IllegalArgumentException
- if or are not real numbers.public Category(java.lang.CharSequence name, java.awt.Color[] colors, NumberRange sampleValueRange, NumberRange geophysicsValueRange) throws java.lang.IllegalArgumentException
= offset + scale×
s
name
- The category name as a String
or InternationalString
object.colors
- A set of colors for this category. This array may have any length;
colors will be interpolated as needed. An array of length 1 means
that an uniform color should be used for all sample values. An array
of length 0 or a array means that some default colors
should be used (usually a gradient from opaque black to opaque white).sampleValueRange
- The range of sample values for this category. Element class
is usually Integer
, but Float
and Double
are
accepted as well.geophysicsValueRange
- The range of geophysics values for this category.
Element class is usually Float
or Double
.
java.lang.ClassCastException
- if the range element class is not a Number
subclass.
java.lang.IllegalArgumentException
- if the range is invalid.public Category(java.lang.CharSequence name, java.awt.Color[] colors, NumberRange sampleValueRange, org.opengis.referencing.operation.MathTransform1D sampleToGeophysics) throws java.lang.IllegalArgumentException
name
- The category name as a String
or InternationalString
object.colors
- A set of colors for this category. This array may have any length;
colors will be interpolated as needed. An array of length 1 means
that an uniform color should be used for all sample values. An array
of length 0 or a array means that some default colors
should be used (usually a gradient from opaque black to opaque white).sampleValueRange
- The range of sample values for this category. Element class
is usually Integer
, but Float
and Double
are
accepted as well.sampleToGeophysics
- A transform from sample values to geophysics values,
or if this category is not a quantitative one.
java.lang.ClassCastException
- if the range element class is not a Number
subclass.
java.lang.IllegalArgumentException
- if the range is invalid.Method Detail |
public org.opengis.util.InternationalString getName()
public java.awt.Color[] getColors()
GridSampleDimension.getColorModel()
public NumberRange getRange()
getSampleToGeophysics()
transform.
NumberRange.getMinimum(boolean)
,
NumberRange.getMaximum(boolean)
,
GridSampleDimension.getMinimumValue()
,
GridSampleDimension.getMaximumValue()
public org.opengis.referencing.operation.MathTransform1D getSampleToGeophysics()
public boolean isQuantitative()
sampleToGeophysics
transform.
public Category recolor(java.awt.Color[] colors)
colors
- A set of colors for the new category. This array may have
any length; colors will be interpolated as needed. An array
of length 1 means that an uniform color should be used for
all sample values. An array of length 0 or a
array means that some default colors should be used (usually
a gradient from opaque black to opaque white).
public Category rescale(org.opengis.referencing.operation.MathTransform1D sampleToGeophysics)
Note about geophysics categories: The above rules are straightforward
when applied on non-geophysics category, but this method can be invoked on geophysics
category (as returned by geophysics(true)
) as well.
Since geophysics categories are already the result of some "sample to geophysics"
transformation, invoking this method on those is equivalent to
concatenate
this "sample to geophysics" transform with the specified one.
sampleToGeophysics
- The new sample to geophysics
transform.
getSampleToGeophysics()
,
GridSampleDimension.rescale(double, double)
public Category geophysics(boolean geo)
sampleToGeophysics
transform is always the identity transform, or if no such transform existed
in the first place. In other words, the range of sample values in a geophysics category maps
directly the "real world" values without the need for any transformation.
objects live by pair: a geophysics one (used for computation) and a non-geophysics one (used for packing data, usually as integers). The argument specifies which object from the pair is wanted, regardless if this method is invoked on the geophysics or non-geophysics instance of the pair. In other words, the result of depends only on the value in the last call ().
Newly constructed categories are non-geophysics (i.e. a sample to geophysics transform must be applied in order to gets geophysics values).
geo
- to get a category with an identity
transform and a range of
sample values matching the geophysics values, or to get back the
original category (the one constructed with ).
GridSampleDimension.geophysics(boolean)
,
GridCoverage2D.geophysics(boolean)
public int hashCode()
public boolean equals(java.lang.Object object)
public java.lang.String toString()
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |