org.geotools.styling
Interface RasterSymbolizer
- All Superinterfaces:
- GTComponent, Symbolizer
- All Known Implementing Classes:
- RasterSymbolizerImpl
- public interface RasterSymbolizer
- extends Symbolizer
The RasterSymbolizer describes how to render raster/matrix-coverage data
(e.g., satellite photos, DEMs).
The details of this object are taken from the OGC
Styled-Layer Descriptor Report (OGC 02-070) version 1.0.0.:
<xs:element name="RasterSymbolizer">
<xs:complexType>
<xs:sequence>
<xs:element ref="sld:Geometry" minOccurs="0"/>
<xs:element ref="sld:Opacity" minOccurs="0"/>
<xs:element ref="sld:ChannelSelection" minOccurs="0"/>
<xs:element ref="sld:OverlapBehavior" minOccurs="0"/>
<xs:element ref="sld:ColorMap" minOccurs="0"/>
<xs:element ref="sld:ContrastEnhancement" minOccurs="0"/>
<xs:element ref="sld:ShadedRelief" minOccurs="0"/>
<xs:element ref="sld:ImageOutline" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
The following example applies a coloring to elevation (DEM) data (quantities
are in meters):
<RasterSymbolizer>
<Opacity>1.0</Opacity>
<ColorMap>
<ColorMapEntry color="#00ff00" quantity="-500"/>
<ColorMapEntry color="#00fa00" quantity="-417"/>
<ColorMapEntry color="#14f500" quantity="-333"/>
<ColorMapEntry color="#28f502" quantity="-250"/>
<ColorMapEntry color="#3cf505" quantity="-167"/>
<ColorMapEntry color="#50f50a" quantity="-83"/>
<ColorMapEntry color="#64f014" quantity="-1"/>
<ColorMapEntry color="#7deb32" quantity="0"/>
<ColorMapEntry color="#78c818" quantity="30"/>
<ColorMapEntry color="#38840c" quantity="105"/>
<ColorMapEntry color="#2c4b04" quantity="300"/>
<ColorMapEntry color="#ffff00" quantity="400"/>
<ColorMapEntry color="#dcdc00" quantity="700"/>
<ColorMapEntry color="#b47800" quantity="1200"/>
<ColorMapEntry color="#c85000" quantity="1400"/>
<ColorMapEntry color="#be4100" quantity="1600"/>
<ColorMapEntry color="#963000" quantity="2000"/>
<ColorMapEntry color="#3c0200" quantity="3000"/>
<ColorMapEntry color="#ffffff" quantity="5000"/>
<ColorMapEntry color="#ffffff" quantity="13000"/>
</ColorMap>
<OverlapBehavior>
<AVERAGE/>
</OverlapBehavior>
<ShadedRelief/>
</RasterSymbolizer>
Here is a rather artificial mutli-band raster symbol:
<RasterSymbolizer>
<Opacity>1.0</Opacity>
<ColorMap>
<ColorMapEntry color="#000000" quantity="0"/>
<ColorMapEntry color="#ffffff" quantity="255"/>
</ColorMap>
<ChannelSelection>
<RedChannel>
<SourceChannelName>1</SourceChannelName>
<ContrastEnhancement>
<Histogram/>
</ContrastEnhancement>
</RedChannel>
<GreenChannel>
<SourceChannelName>2</SourceChannelName>
<ContrastEnhancement>
<GammaValue>2.5</GammaValue>
</ContrastEnhancement>
</GreenChannel>
<BlueChannel>
<SourceChannelName>3</SourceChannelName>
<ContrastEnhancement>
<Normalize/>
</ContrastEnhancement>
</BlueChannel>
</ChannelSelection>
<OverlapBehavior>
<LATEST_ON_TOP/>
</OverlapBehavior>
<ContrastEnhancement>
<GammaValue>1.0</GammaValue>
</ContrastEnhancement>
</RasterSymbolizer>
$Id: RasterSymbolizer.java 18021 2006-02-14 20:36:18Z jdeolive $
- Author:
- Ian Turton, CCG
Method Summary |
ChannelSelection |
getChannelSelection()
The ChannelSelection element specifies the false-color channel selection
for a multi-spectral raster source (such as a multi-band
satellite-imagery source). |
ColorMap |
getColorMap()
The ColorMap element defines either the colors of a palette-type raster
source or the mapping of fixed-numeric pixel values to colors. |
ContrastEnhancement |
getContrastEnhancement()
The ContrastEnhancement element defines contrast enhancement for a
channel of a false-color image or for a color image. |
java.lang.String |
getGeometryPropertyName()
The interpretation of Geometry is system-dependent, as raster data may
be organized differently from feature data, though omitting this
element selects the default raster-data source. |
Symbolizer |
getImageOutline()
The ImageOutline element specifies that individual source rasters in a
multi-raster set (such as a set of satellite-image scenes) should be
outlined with either a LineStringSymbol or PolygonSymbol. |
Expression |
getOpacity()
fetch the expresion which evaluates to the opacity fo rthis coverage |
Expression |
getOverlap()
The OverlapBehavior element tells a system how to behave when multiple
raster images in a layer overlap each other, for example with
satellite-image scenes. |
ShadedRelief |
getShadedRelief()
The ShadedRelief element selects the application of relief shading (or
?hill shading?) to an image for a three-dimensional visual effect. |
void |
setChannelSelection(ChannelSelection channel)
The ChannelSelection element specifies the false-color channel selection
for a multi-spectral raster source (such as a multi-band
satellite-imagery source). |
void |
setColorMap(ColorMap colorMap)
The ColorMap element defines either the colors of a palette-type raster
source or the mapping of fixed-numeric pixel values to colors. |
void |
setContrastEnhancement(ContrastEnhancement ce)
The ContrastEnhancement element defines contrast enhancement for a
channel of a false-color image or for a color image. |
void |
setGeometryPropertyName(java.lang.String geometryPropertyName)
The interpretation of Geometry is system-dependent, as raster data may
be organized differently from feature data, though omitting this
element selects the default raster-data source. |
void |
setImageOutline(Symbolizer symbolizer)
The ImageOutline element specifies that individual source rasters in a
multi-raster set (such as a set of satellite-image scenes) should be
outlined with either a LineStringSymbol or PolygonSymbol. |
void |
setOpacity(Expression opacity)
sets the opacity for the coverage, it has the usual meaning. |
void |
setOverlap(Expression overlap)
The OverlapBehavior element tells a system how to behave when multiple
raster images in a layer overlap each other, for example with
satellite-image scenes. |
void |
setShadedRelief(ShadedRelief relief)
The ShadedRelief element selects the application of relief shading (or
?hill shading?) to an image for a three-dimensional visual effect. |
setGeometryPropertyName
public void setGeometryPropertyName(java.lang.String geometryPropertyName)
- The interpretation of Geometry is system-dependent, as raster data may
be organized differently from feature data, though omitting this
element selects the default raster-data source. Geometry-type
transformations are also system-dependent and it is assumed that this
capability will be little used.
- Parameters:
geometryPropertyName
- the name of the Geometry
getGeometryPropertyName
public java.lang.String getGeometryPropertyName()
- The interpretation of Geometry is system-dependent, as raster data may
be organized differently from feature data, though omitting this
element selects the default raster-data source. Geometry-type
transformations are also system-dependent and it is assumed that this
capability will be little used.
- Returns:
- the name of the geometry
setOpacity
public void setOpacity(Expression opacity)
- sets the opacity for the coverage, it has the usual meaning.
- Parameters:
opacity
- An expression which evaluates to the the opacity (0-1)
getOpacity
public Expression getOpacity()
- fetch the expresion which evaluates to the opacity fo rthis coverage
- Returns:
- The expression
setChannelSelection
public void setChannelSelection(ChannelSelection channel)
- The ChannelSelection element specifies the false-color channel selection
for a multi-spectral raster source (such as a multi-band
satellite-imagery source). Either a channel may be selected to display
in each of red, green, and blue, or a single channel may be selected to
display in grayscale. (The spelling ?gray? is used since it seems to
be more common on the Web than ?grey? by a ratio of about 3:1.)
Contrast enhancement may be applied to each channel in isolation.
Channels are identified by a system and data-dependent character
identifier. Commonly, channels will be labelled as ?1?, ?2?, etc.
- Parameters:
channel
- the channel selected
getChannelSelection
public ChannelSelection getChannelSelection()
- The ChannelSelection element specifies the false-color channel selection
for a multi-spectral raster source (such as a multi-band
satellite-imagery source). Either a channel may be selected to
display in each of red, green, and blue, or a single channel may be
selected to display in grayscale. (The spelling ?gray? is used since
it seems to be more common on the Web than ?grey? by a ratio of about
3:1.) Contrast enhancement may be applied to each channel in isolation.
Channels are identified by a system and data-dependent character
identifier. Commonly, channels will be labelled as ?1?, ?2?, etc.
- Returns:
- the ChannelSelection object set or null if none is available.
setOverlap
public void setOverlap(Expression overlap)
- The OverlapBehavior element tells a system how to behave when multiple
raster images in a layer overlap each other, for example with
satellite-image scenes. LATEST_ON_TOP and EARLIEST_ON_TOP refer to the
time the scene was captured. AVERAGE means to average multiple scenes
together. This can produce blurry results if the source images are not
perfectly aligned in their geo-referencing. RANDOM means to select an
image (or piece thereof) randomly and place it on top. This can
produce crisper results than AVERAGE potentially more efficiently than
LATEST_ON_TOP or EARLIEST_ON_TOP. The default behaviour is
system-dependent.
- Parameters:
overlap
- the expression which evaluates to LATEST_ON_TOP,
EARLIEST_ON_TOP, AVERAGE or RANDOM
getOverlap
public Expression getOverlap()
- The OverlapBehavior element tells a system how to behave when multiple
raster images in a layer overlap each other, for example with
satellite-image scenes. LATEST_ON_TOP and EARLIEST_ON_TOP refer to the
time the scene was captured. AVERAGE means to average multiple scenes
together. This can produce blurry results if the source images are
not perfectly aligned in their geo-referencing. RANDOM means to select
an image (or piece thereof) randomly and place it on top. This can
produce crisper results than AVERAGE potentially more efficiently than
LATEST_ON_TOP or EARLIEST_ON_TOP. The default behaviour is
system-dependent.
- Returns:
- The expression which evaluates to LATEST_ON_TOP,
EARLIEST_ON_TOP, AVERAGE or RANDOM
setColorMap
public void setColorMap(ColorMap colorMap)
- The ColorMap element defines either the colors of a palette-type raster
source or the mapping of fixed-numeric pixel values to colors. For
example, a DEM raster giving elevations in meters above sea level can
be translated to a colored image with a ColorMap. The quantity
attributes of a color-map are used for translating between numeric
matrixes and color rasters and the ColorMap entries should be in order
of increasing numeric quantity so that intermediate numeric values can
be matched to a color (or be interpolated between two colors). Labels
may be used for legends or may be used in the future to match character
values. Not all systems can support opacity in colormaps. The default
opacity is 1.0 (fully opaque). Defaults for quantity and label are
system-dependent.
- Parameters:
colorMap
- the ColorMap for the raster
getColorMap
public ColorMap getColorMap()
- The ColorMap element defines either the colors of a palette-type raster
source or the mapping of fixed-numeric pixel values to colors. For
example, a DEM raster giving elevations in meters above sea level can
be translated to a colored image with a ColorMap. The quantity
attributes of a color-map are used for translating between numeric
matrixes and color rasters and the ColorMap entries should be in order
of increasing numeric quantity so that intermediate numeric values can
be matched to a color (or be interpolated between two colors). Labels
may be used for legends or may be used in the future to match character
values. Not all systems can support opacity in colormaps. The
default opacity is 1.0 (fully opaque). Defaults for quantity and
label are system-dependent.
- Returns:
- the ColorMap for the raster
setContrastEnhancement
public void setContrastEnhancement(ContrastEnhancement ce)
- The ContrastEnhancement element defines contrast enhancement for a
channel of a false-color image or for a color image. In the case of a
color image, the relative grayscale brightness of a pixel color is
used. ?Normalize? means to stretch the contrast so that the dimmest
color is stretched to black and the brightest color is stretched to
white, with all colors in between stretched out linearly. ?Histogram?
means to stretch the contrast based on a histogram of how many colors
are at each brightness level on input, with the goal of producing equal
number of pixels in the image at each brightness level on output. This
has the effect of revealing many subtle ground features. A ?GammaValue?
tells how much to brighten (value greater than 1.0) or dim (value less
than 1.0) an image. The default GammaValue is 1.0 (no change). If none
of Normalize, Histogram, or GammaValue are selected in a
ContrastEnhancement, then no enhancement is performed.
- Parameters:
ce
- the contrastEnhancement
getContrastEnhancement
public ContrastEnhancement getContrastEnhancement()
- The ContrastEnhancement element defines contrast enhancement for a
channel of a false-color image or for a color image. In the case of a
color image, the relative grayscale brightness of a pixel color is
used. ?Normalize? means to stretch the contrast so that the dimmest
color is stretched to black and the brightest color is stretched to
white, with all colors in between stretched out linearly. ?Histogram?
means to stretch the contrast based on a histogram of how many colors
are at each brightness level on input, with the goal of producing
equal number of pixels in the image at each brightness level on output.
This has the effect of revealing many subtle ground features. A
?GammaValue? tells how much to brighten (value greater than 1.0) or dim
(value less than 1.0) an image. The default GammaValue is 1.0 (no
change). If none of Normalize, Histogram, or GammaValue are selected in
a ContrastEnhancement, then no enhancement is performed.
- Returns:
- the ContrastEnhancement
setShadedRelief
public void setShadedRelief(ShadedRelief relief)
- The ShadedRelief element selects the application of relief shading (or
?hill shading?) to an image for a three-dimensional visual effect. It
is defined as: Exact parameters of the shading are system-dependent
(for now). If the BrightnessOnly flag is ?0? (false, default), the
shading is applied to the layer being rendered as the current
RasterSymbol. If BrightnessOnly is ?1? (true), the shading is applied
to the brightness of the colors in the rendering canvas generated so
far by other layers, with the effect of relief-shading these other
layers. The default for BrightnessOnly is ?0? (false). The
ReliefFactor gives the amount of exaggeration to use for the height of
the ?hills.? A value of around 55 (times) gives reasonable results for
Earth-based DEMs. The default value is system-dependent.
- Parameters:
relief
- the shadedrelief object
getShadedRelief
public ShadedRelief getShadedRelief()
- The ShadedRelief element selects the application of relief shading (or
?hill shading?) to an image for a three-dimensional visual effect. It
is defined as: Exact parameters of the shading are system-dependent
(for now). If the BrightnessOnly flag is ?0? (false, default), the
shading is applied to the layer being rendered as the current
RasterSymbol. If BrightnessOnly is ?1? (true), the shading is applied
to the brightness of the colors in the rendering canvas generated so
far by other layers, with the effect of relief-shading these other
layers. The default for BrightnessOnly is ?0? (false). The
ReliefFactor gives the amount of exaggeration to use for the height of
the ?hills.? A value of around 55 (times) gives reasonable results for
Earth-based DEMs. The default value is system-dependent.
- Returns:
- the shadedrelief object
setImageOutline
public void setImageOutline(Symbolizer symbolizer)
- The ImageOutline element specifies that individual source rasters in a
multi-raster set (such as a set of satellite-image scenes) should be
outlined with either a LineStringSymbol or PolygonSymbol. It is defined
as:
<xs:element name="ImageOutline">
<xs:complexType>
<xs:choice>
<xs:element ref="sld:LineSymbolizer"/>
<xs:element ref="sld:PolygonSymbolizer"/>
</xs:choice>
</xs:complexType>
</xs:element>
An Opacity of 0.0 can be selected for the main raster to avoid rendering
the main-raster pixels, or an opacity can be used for a
PolygonSymbolizer Fill to allow the main-raster data be visible through
the fill.
- Parameters:
symbolizer
- the symbolizer to be used. If this is not a
polygon or a line symbolizer an unexpected argument exception
may be thrown by an implementing class.
getImageOutline
public Symbolizer getImageOutline()
- The ImageOutline element specifies that individual source rasters in a
multi-raster set (such as a set of satellite-image scenes) should be
outlined with either a LineStringSymbol or PolygonSymbol. It is
defined as:
<xs:element name="ImageOutline">
<xs:complexType>
<xs:choice>
<xs:element ref="sld:LineSymbolizer"/>
<xs:element ref="sld:PolygonSymbolizer"/>
</xs:choice>
</xs:complexType>
</xs:element>
An Opacity of 0.0 can be selected for the main raster to avoid rendering
the main-raster pixels, or an opacity can be used for a
PolygonSymbolizer Fill to allow the main-raster data be visible through
the fill.
- Returns:
- The relevent symbolizer
Copyright © GeoTools. All Rights Reserved.