The majority of formats require the same two steps for visualization on a GXY view. To visualize WMTS 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 TLcdWMTSDataSource for the coverage
String serverURL = "https://sampleservices.luciad.com/wmts";
String layerName = "4ceea49c-3e7c-4e2d-973d-c608fb2fb07e";
TLcdWMTSDataSource dataSource = TLcdWMTSDataSource.newBuilder()
                                                  .uri(serverURL)
                                                  .layer(layerName)
                                                  .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 TLcdWMTSGXYLayerFactory().createGXYLayer(model);
//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 WMTS layer with default styling. See Visualizing Raster Data for more information about visualizing and styling raster 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 WMTS data is the TLcdWMTSModelDecoder.