The majority of formats require the same two steps for visualization on a GXY view. To visualize WFS data:

  1. Decode the data into an ILcdModel using an ILcdModelDecoder.

  2. Create an ILcdGXYLayer for the ILcdModel and add it to the ILcdGXYView.

//First create the model
//Start by creating a TLcdWFSDataSource for the coverage
String serverURL = "http://sampleservices.luciad.com/wfs";
String featureTypeName = "cities";
TLcdWFSDataSource dataSource = TLcdWFSDataSource.newBuilder()
                                                .uri(serverURL)
                                                .featureTypeName(featureTypeName)
                                                .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 with default styling
ILcdGXYLayer layer = TLcdGXYLayer.create(model);
//Wrap the layer with an async layer wrapper to ensure
//that the view remains responsive while data is being painted
layer = ILcdGXYAsynchronousLayerWrapper.create(layer);

//Add the async layer to the GXY view (an ILcdGXYView)
view.addGXYLayer(layer);

This results in a WFS layer with default styling. See Visualizing Vector Data for more information about visualizing and styling vector data.

This code snippet uses the TLcdCompositeModelDecoder, initialized with all model decoders available in the service registry.

The model decoder class that is actually responsible for decoding WFS data is the TLcdWFSModelDecoderDecorator.