Class TLcdS52SymbologyDecoder

java.lang.Object
com.luciad.format.s52.TLcdS52SymbologyDecoder
All Implemented Interfaces:
ILcdInputStreamFactoryCapable

public class TLcdS52SymbologyDecoder extends Object implements ILcdInputStreamFactoryCapable
This class provides support to decode the ECDIS S-52 Presentation Library, for use with ECDIS S-57 geometries. The S-52 format is published by the International Hydrographic Organization in "Specifications for Chart Content and Display Aspects of ECDIS, Special Publication No. 52".

Before the decoder can be used, an object class map and an attribute class map have to be set.

The following tables are decoded:

  • The style tables:
    • Plain boundaries
    • Symbolized boundaries
    • Lines
    • Simplified symbols
    • Paper chart symbols
  • The color tables:
    • Day bright
    • Day white back
    • Day black back
    • Dusk
    • Night
  • Line styles
  • Symbols
  • Fill patterns
See Also:
  • Constructor Details

    • TLcdS52SymbologyDecoder

      public TLcdS52SymbologyDecoder()
      Constructs a new TLcdS52SymbologyDecoder.
  • Method Details

    • setInputStreamFactory

      public void setInputStreamFactory(ILcdInputStreamFactory aInputStreamFactory)
      Sets the factory that will create input streams from which data can be decoded.
      Specified by:
      setInputStreamFactory in interface ILcdInputStreamFactoryCapable
      Parameters:
      aInputStreamFactory - the factory that creates an input stream based on a source name.
    • getInputStreamFactory

      public ILcdInputStreamFactory getInputStreamFactory()
      Returns the current input stream factory.
      Specified by:
      getInputStreamFactory in interface ILcdInputStreamFactoryCapable
      Returns:
      the input stream factory that is used.
    • setS57ObjectClassMap

      public void setS57ObjectClassMap(ILcdS57ObjectClassMap aS57ObjectClassMap)
      Sets the object class map to be used by this symbology decoder.
      Parameters:
      aS57ObjectClassMap - the object class map to be used by this symbology decoder.
    • getS57ObjectClassMap

      public ILcdS57ObjectClassMap getS57ObjectClassMap()
      Returns the object class map that is used by this symbology decoder.
      Returns:
      the object class map that is used by this symbology decoder.
    • setS57AttributeClassMap

      public void setS57AttributeClassMap(ILcdS57AttributeClassMap aS57AttributeClassMap)
      Sets the attribute class map to be used by this symbology decoder.
      Parameters:
      aS57AttributeClassMap - the attribute class map to be used by this symbology decoder.
    • getS57AttributeClassMap

      public ILcdS57AttributeClassMap getS57AttributeClassMap()
      Returns the attribute class map that is used by this symbology decoder.
      Returns:
      the attribute class map that is used by this symbology decoder.
    • setScaleFactor

      public void setScaleFactor(double aScaleFactor)
      Sets the scale factor that is applied to the decoded symbols. The default is 3.0 pixels/mm.
      Parameters:
      aScaleFactor - the scale factor, expressed in pixels per mm.
    • getScaleFactor

      public double getScaleFactor()
      Returns the scale fafctor that is applied to the decoded symbols.
      Returns:
      the scale fafctor, expressed in pixels per mm.
    • isAntiAliasing

      public boolean isAntiAliasing()
      Returns whether to enable anti-aliasing in the decoded S-52 symbologies or not.
      Returns:
      whether to enable anti-aliasing in the decoded S-52 symbologies or not.
      See Also:
    • setAntiAliasing

      public void setAntiAliasing(boolean aAntiAliasing)
      Configures whether the decoded S-52 symbologies should use anti-aliasing for their icons. Enabling anti-aliasing will result in better-looking icons, but might have a small impact on the rendering performance. It is disabled by default.
      Parameters:
      aAntiAliasing - flag indicating whether to enable anti-aliasing or not.
      See Also:
    • decodeS52Symbology

      public ILcdS52Symbology decodeS52Symbology(String aSourceName, TLcdS52DisplaySettings aDisplaySettings) throws IOException
      Decodes an S-52 symbology, which can be applied to render S-57 geometry. The source is a properties file that contains the following properties:
      • LINESTYLES
      • PATTERNS
      • SYMBOLS
      • LOOKUP
      • DAYBRIGHT
      • DAYWHITEBACK
      • DAYBLACKBACK
      • DUSK
      • NIGHT

      The values of these properties point to corresponding .DAT files that follow the S-52 standard.

      Parameters:
      aSourceName - the source name of the properties file containing the S-52 symbology configuration.
      aDisplaySettings - the S-52 display settings to be used for visualization.
      Throws:
      IOException
    • decodeS52Symbology

      public ILcdS52Symbology decodeS52Symbology(String aSourceName) throws IOException
      Decodes an S-52 symbology, which can be applied to render S-57 geometry. The source is a properties file that contains the following properties:
      • LINESTYLES
      • PATTERNS
      • SYMBOLS
      • LOOKUP
      • DAYBRIGHT
      • DAYWHITEBACK
      • DAYBLACKBACK
      • DUSK
      • NIGHT

      The values of these properties point to corresponding .DAT files that follow the S-52 standard.

      Parameters:
      aSourceName - the source name of the properties file containing the S-52 symbology configuration.
      Throws:
      IOException