The majority of formats require the same two steps for visualization on a Lightspeed view. To visualize WMS data:
-
Decode the data into an
ILcdModel
using anILcdModelDecoder
. -
Create an
ILspLayer
for theILcdModel
and add it to theILspView
.
//First create the model
//Start by creating a TLcdWMSDataSource for the coverage
String serverURL = "https://sampleservices.luciad.com/wms";
String wmsLayerName = "cities";
TLcdWMSDataSource dataSource = TLcdWMSDataSource.newBuilder()
.uri(serverURL)
.addLayer(wmsLayerName)
.build();
//Decode the model by passing the datasource to the model decoder
ILcdModelDecoder decoder =
new TLcdCompositeModelDecoder(TLcdServiceLoader.getInstance(ILcdModelDecoder.class));
ILcdModel model = decoder.decodeSource(dataSource);
//Create a layer for the model and use the tiled paint strategy
ILspLayer layer = TLspWMSLayerBuilder.newBuilder()
.model(model)
.paintStrategy(ELcdWMSPaintStrategy.TILED)
.build();
//Add the layer to the Lightspeed view (an ILspView)
view.addLayer(layer);
This results in a WMS layer with default styling. See Visualizing Raster Data for more information about visualizing and styling raster data.
This created WMS layer queries the data in a tiled manner.
See the Single image versus tiled WMS requests guide for more information about querying a WMS server for a single image versus querying it in a tiled manner.
This code snippet uses the The model decoder class that is actually responsible for decoding WMS data is the
|