You can customize BUFR display using the TLcdBUFRStyleSettings
and TLcdSIGWXStyleSettings
classes. These can be
applied to the TLcdBUFRGXYLayerFactory
and TLspBUFRLayerBuilder
to override the default black and white styling.
TLcdBUFRStyleSettings
exposes two predefined sets of style settings: DEFAULT_SETTINGS
which is the default
black & white style settings, and COLOR_SETTINGS
which adds some color similar to the SIGWX charts from
aviationweather.gov. The examples below show you how to build and use the style settings object.
Program: Customizing the BUFR display in a GXY view using style settings
static TLcdBUFRStyleSettings createStyleSettings() {
TLcdSIGWXStyleSettings sigwxSettings =
TLcdSIGWXStyleSettings.newBuilder()
.cloudBorderColor(new Color(205, 0, 0))
.cloudBorderLineWidth(1)
.jetStreamLineColor(new Color(0, 139, 0))
.jetStreamLineWidth(3)
.jetStreamWindSymbolColor(new Color(0, 139, 0))
.jetStreamLabelForegroundColor(new Color(0, 139, 0))
.clearAirTurbulenceBorderColor(new Color(255, 255, 0))
.clearAirTurbulenceBorderLineWidth(2)
.volcanoLabelForegroundColor(Color.white)
.volcanoIconColor(Color.red)
.radiationIconColor(Color.red)
.radiationLabelForegroundColor(Color.white)
.stormIconColor(Color.red)
.stormLabelForegroundColor(Color.white)
.build();
TLcdBUFRStyleSettings styleSettings =
TLcdBUFRStyleSettings.newBuilder()
.sigwxStyleSettings(sigwxSettings)
.build();
return styleSettings;
}
TLcdBUFRStyleSettings styleSettings = createStyleSettings();
ILcdGXYLayer layer = new TLcdBUFRGXYLayerFactory(styleSettings).createGXYLayer(model);
Program: Customizing the BUFR display in a Lightspeed view using style settings
static TLcdBUFRStyleSettings createStyleSettings() {
TLcdSIGWXStyleSettings sigwxSettings =
TLcdSIGWXStyleSettings.newBuilder()
.cloudBorderColor(new Color(205, 0, 0))
.cloudBorderLineWidth(1)
.jetStreamLineColor(new Color(0, 139, 0))
.jetStreamLineWidth(3)
.jetStreamWindSymbolColor(new Color(0, 139, 0))
.jetStreamLabelForegroundColor(new Color(0, 139, 0))
.clearAirTurbulenceBorderColor(new Color(255, 255, 0))
.clearAirTurbulenceBorderLineWidth(2)
.volcanoLabelForegroundColor(Color.white)
.volcanoIconColor(Color.red)
.radiationIconColor(Color.red)
.radiationLabelForegroundColor(Color.white)
.stormIconColor(Color.red)
.stormLabelForegroundColor(Color.white)
.build();
TLcdBUFRStyleSettings styleSettings =
TLcdBUFRStyleSettings.newBuilder()
.sigwxStyleSettings(sigwxSettings)
.build();
return styleSettings;
}
TLcdBUFRStyleSettings styleSettings = createStyleSettings();
ILspLayer layer = TLspBUFRLayerBuilder.newBuilder()
.model(model)
.styleSettings(styleSettings)
.build();