Package com.luciad.format.s52
Class TLcdS52SymbologyDecoder
java.lang.Object
com.luciad.format.s52.TLcdS52SymbologyDecoder
- All Implemented Interfaces:
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 Summary
-
Method Summary
Modifier and TypeMethodDescriptiondecodeS52Symbology
(String aSourceName) Decodes an S-52 symbology, which can be applied to render S-57 geometry.decodeS52Symbology
(String aSourceName, TLcdS52DisplaySettings aDisplaySettings) Decodes an S-52 symbology, which can be applied to render S-57 geometry.Returns the current input stream factory.Returns the attribute class map that is used by this symbology decoder.Returns the object class map that is used by this symbology decoder.double
Returns the scale fafctor that is applied to the decoded symbols.boolean
Returns whether to enable anti-aliasing in the decoded S-52 symbologies or not.void
setAntiAliasing
(boolean aAntiAliasing) Configures whether the decoded S-52 symbologies should use anti-aliasing for their icons.void
setInputStreamFactory
(ILcdInputStreamFactory aInputStreamFactory) Sets the factory that will create input streams from which data can be decoded.void
setS57AttributeClassMap
(ILcdS57AttributeClassMap aS57AttributeClassMap) Sets the attribute class map to be used by this symbology decoder.void
setS57ObjectClassMap
(ILcdS57ObjectClassMap aS57ObjectClassMap) Sets the object class map to be used by this symbology decoder.void
setScaleFactor
(double aScaleFactor) Sets the scale factor that is applied to the decoded symbols.
-
Constructor Details
-
TLcdS52SymbologyDecoder
public TLcdS52SymbologyDecoder()Constructs a newTLcdS52SymbologyDecoder
.
-
-
Method Details
-
setInputStreamFactory
Sets the factory that will create input streams from which data can be decoded.- Specified by:
setInputStreamFactory
in interfaceILcdInputStreamFactoryCapable
- Parameters:
aInputStreamFactory
- the factory that creates an input stream based on a source name.
-
getInputStreamFactory
Returns the current input stream factory.- Specified by:
getInputStreamFactory
in interfaceILcdInputStreamFactoryCapable
- Returns:
- the input stream factory that is used.
-
setS57ObjectClassMap
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
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
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
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
- 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
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
- Parameters:
aSourceName
- the source name of the properties file containing the S-52 symbology configuration.- Throws:
IOException
-