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 Link icon

  • 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 Link icon

  • This model decoder supports http and https protocols.

Model structure Link icon

  • 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 Link icon

  • 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 Link icon

Model elements Link icon

  • 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 Link icon

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 Link icon

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

Supported versions and specifications Link icon

  • 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 Link icon

    • TLcdWCSCoverageModelDecoder Link icon

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

      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 Link icon