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 |