S-57 and S-63 data are visualized as defined in the S-52 content display standard, as specified by the IHO. This specification defines a number of settings the user can control, for example:
-
Should depth soundings be displayed or not ?
-
What color should be used to indicate the safety depth ?
-
Use the day, dusk or night color scheme
The below images shows the same S-57 data being visualized with day and night settings
In the LuciadLightspeed API, these settings are available in the TLcdS52DisplaySettings
class.
For example to switch to night settings, you would use:
s52DisplaySettings.setColorType(ILcdS52Symbology.NIGHT_COLORS);
In order to apply those settings on your layer, you pass them to the layer builder (Lightspeed)
ILspLayer layer = TLspS52LayerBuilder.newBuilder()
.model(model)
.s52DisplaySettings(s52DisplaySettings)
.build();
or to the layer factory (GXY) during layer creation.
TLcdS52GXYLayerFactory layerFactory = new TLcdS52GXYLayerFactory(s52DisplaySettings);
ILcdGXYLayer layer = layerFactory.createGXYLayer(model);
In a typical application, you should have a single TLcdS52DisplaySettings
instance which is shared by all layers.
This ensures that when you (or your application user) changes the display settings, it is applied on all layers.
The sample contains a UI panel which can be used to change the display settings.
See the |