Class TLcdWCSCoverageModelDecoder

java.lang.Object
com.luciad.ogc.wcs.client.TLcdWCSCoverageModelDecoder
All Implemented Interfaces:
ILcdModelDecoder

@LcdService(service=ILcdModelDecoder.class, priority=20000) public class TLcdWCSCoverageModelDecoder extends Object implements ILcdModelDecoder
This model decoder decodes a WCS coverage data source encoded as GeoTIFF into an ILcdModel object.

Input

  • An instance of TLcdWCSDataSource.
  • A String referring to the WCS base URL.
  • A String referring to the WCS base URL and coverage identifier, specified as a data=coverageIdentifier key/value pair.

Supported transfer protocols

  • This model decoder supports http and https protocols.

Model structure

  • This model decoder creates a model per WCS coverage source.
  • All models returned by this model decoder are of type TLcdWCSProxyModel, which is an implementation of ILcd2DBoundsIndexedModel.

Model descriptor

  • All models returned by this model decoder have a TLcdWCSProxyModelDescriptor.
  • The model descriptor is an implementation of ILcdImageModelDescriptor, indicating that the model data can be accessed through the ALcdImage API (see below).
  • The type name of the model descriptor is the display name of this decoder.

Model reference

Model elements

  • Each decoded model contains a single element of the type TLcdWCSProxy. This element acts as a client-side proxy towards the WCS coverage data. The recommended way to access the WCS coverage data is by using the ALcdImage API; the image instance can be retrieved through ALcdImage#fromDomainObject(TLcdWCSProxy)}. To render the data, the model can be given to a general Lightspeed and GXY image layer builder builder or factory.

Sample code

Decoding a WCS data source:

    String serverURL = "https://sampleservices.luciad.com/wcs";
    String coverageName = "world_elevation_6714a770-860b-4878-90c9-ab386a4bae0f";

    //Create the data source
    TLcdWCSDataSource dataSource = TLcdWCSDataSource.newBuilder()
                                                    .uri(serverURL)
                                                    .coverageName(coverageName)
                                                    .build();

    //Decode the model
    ILcdModelDecoder decoder = new TLcdWCSCoverageModelDecoder();
    ILcdModel model = decoder.decodeSource(dataSource);

Decoding a string containing the server URL and WCS coverage

    String serverURL = "https://sampleservices.luciad.com/wcs";
    String coverageName = "world_elevation_6714a770-860b-4878-90c9-ab386a4bae0f";

    //Concat the url and layer name to a single string
    String sourceName = String.format("%s?data=%s", serverURL, coverageName);

    //Decode the model
    ILcdModelDecoder decoder = new TLcdWCSCoverageModelDecoder();
    ILcdModel model = decoder.decode(sourceName);

Thread safety

  • The decoding of models is thread-safe.
  • The decoded models are thread-safe for read access.

Supported versions and specifications

  • This model decoder supports WCS coverage data sources that comply with the OGC WCS 1.0 specification and that are available in the GeoTIFF exchange format. For more information about the OGC WCS specification, please refer to http://www.opengeospatial.org.

Since:
2018.0
See Also:
  • Constructor Details

    • TLcdWCSCoverageModelDecoder

      public TLcdWCSCoverageModelDecoder()
      Creates a new TLcdWCSCoverageModelDecoder instance.
    • TLcdWCSCoverageModelDecoder

      public TLcdWCSCoverageModelDecoder(ILcdOWSTransport aTransport)
      Creates a new TLcdWCSCoverageModelDecoder instance, configured with the given transport.
      Parameters:
      aTransport - The transport to be used to interact with a WCS server. Must not be null.
      Since:
      2018.1
  • Method Details