The majority of formats require the same two steps for visualization on a GXY view. To visualize WMS data:
Decode the data into an
ILcdModeland add it to the
//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 ILcdGXYLayer layer = new TLcdWMSProxyGXYLayerFactory().createGXYLayer(model); //Replace the painter provider with a tiled painter ((TLcdGXYLayer) layer).setGXYPainterProvider(new TLcdGXYTiledWMSProxyPainter()); //Wrap the layer with an async layer wrapper to ensure //that the view remains responsive while data is being painted ILcdGXYLayer asyncLayer = ILcdGXYAsynchronousLayerWrapper.create(layer); //Add the async layer to the GXY view (an ILcdGXYView) view.addGXYLayer(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