This documentation is aimed at people who want to tweak the built-in S-52 symbology with small changes. For example changing a few colors or icons, but leaving most of the symbology as-is.

Next to the built-in support for the ENC, IENC and AML products, LuciadLightspeed also offers support for the configuration of S-57 and S-52 components for use with other products. The S-52 package lets you plug in a custom symbology in the LuciadLightspeed framework in two ways:

  • You create a custom implementation of ILcdS52Symbology

  • You create a custom set of resource files

Creating a custom implementation of ILcdS52Symbology

The main method of the ILcdS52Symbology interface that you need to implement is ILcdS52Style getS52Style(ILcdS57Object aObject). It returns an S-52 style for a given S-57 object, based on its object class and attribute values.

The ILcdS52Style interface contains all style-related information for an object: line and fill styles, icon and text, display priority, viewing group, minimum display scale, and an optional reference to a conditional procedure to be executed. TLcdS52Style is the default implementation of the interface, providing bean-style getters and setters for each of these parameters.

In addition, you need to implement the ILcdS52Symbology methods for retrieving colors, icons, line and fill style. These methods use a unique identifier defined by the custom symbology specification.