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.
 
Methods inherited from interface org.geotools.styling.Symbolizer
accept
 
Methods inherited from interface org.geotools.event.GTComponent
changed, getNote, getParent, removed, setNote
 

Method Detail

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.