LuciadRIA (2026.0.07)
    Preparing search index...

    A RasterImageModel that can access an OGC WMS Server. Use this model instead of the WMSTileSetModel if you want to visualize WMS images at an arbitrary scale and with arbitrary extents. For example, if the WMS images contain text, the text may appear smaller on the map than intended when using a WMSTileSetModel. You can avoid this by using this WMSImageModel instead.

    Typically, you don't need to call the constructor yourself. Instead, use the factory methods createFromURL or createFromCapabilities to create an instance of this model. The following example demonstrates how to set up a WMSImageModel to retrieve WMS image data for a given service url and layer name:

    WMSImageModel.createFromURL("http://sampleservices.luciad.com/wms", [{layer: "rivers"}])
    .then(function(model) {
    //Create a layer for the WMS model
    const layer = new RasterImageLayer(model);
    //Add the layer to the map
    map.layerTree.addChild(layer);
    });

    If you want to access the WMS server's capabilities and explore the service metadata and available data sets, you first have to create a WMSCapabilities instance. This instance can also be to create a WMSImageModel afterwards:

    const capabilitiesPromise = WMSCapabilities.fromURL("http://sampleservices.luciad.com/wms");
    capabilitiesPromise.then(function(capabilities) {
    //Create a model using the capabilities
    const model = WMSImageModel.createFromCapabilities(capabilities, [{layer: "rivers"}]);
    //Create a layer for the WMS model
    const layer = new RasterImageLayer(model);
    //Add the layer to the map
    map.layerTree.addChild(layer);
    });

    Supported versions

    LuciadRIA supports consuming WMS services that support version 1.1.1 and 1.3.0 of the OGC WMS specification.

    2015.0

    Hierarchy (View Summary)

    Constructors

    Accessors

    • get backgroundColor(): string | null

      The background color the WMS server must use when generating the WMS image. Note that this option is only considered by the server when the WMSImageModel.transparent property is false. The backgroundColor is a string that must be formatted as "0xRRGGBB", where RGB values are represented as hexadecimal values. If you try to assign a string that does not adhere to this format an exception will be thrown.

      Returns string | null

    • set backgroundColor(val: string | null): void

      Parameters

      • val: string | null

      Returns void

    • get bounds(): Bounds

      The Bounds by which the geometry of this Bounded object is bounded or null if the bounds is not defined.

      Returns Bounds

    • get coordinateType(): CoordinateType

      The coordinate type of geometries in this model

      Returns CoordinateType

    • get credentials(): boolean

      Indicates whether or not credentials should be included with HTTP requests.

      See GoogleImageModel.credentials for more information.

      The default value is false.

      Returns boolean

    • set credentials(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get dimensions(): object | null

      Dimension parameters to send along with WMS GetMap and GetFeatureInfo request. Typical dimensions are TIME and ELEVATION.

      The object literal can contain simple key/value pairs. Dimension names will be prefixed with "DIM_" in the WMS requests, if this is not already the case. The dimension names TIME and ELEVATION will never be prefixed. Accepted values are strings, numbers, booleans. A ProgrammingError will be thrown if values of another type are used. Values must not be URL encoded. Assigning other values than object literals to dimensions will throw a ProgrammingError.

      Assigning to this property will automatically trigger a refresh of the visualization on the map.

      The example below configures a WMSImageModel to request temperature data on the 1st of july 2016, at ground level.

      wmsImageModel.dimensions = {
      TIME: "2016-07-01T12:00:00.000Z",
      ELEVATION: 0
      };

      Returns object | null

      2016.1

    • set dimensions(value: object | null): void

      Parameters

      • value: object | null

      Returns void

    • get getFeatureInfoRoot(): string

      Root URI of the getMap request interface.

      Returns string

      2024.0

    • set getFeatureInfoRoot(value: string): void

      Parameters

      • value: string

      Returns void

    • get getMapRoot(): string

      Root URI of the getMap request interface.

      Returns string

      2021.0.04

    • set getMapRoot(value: string): void

      Parameters

      • value: string

      Returns void

    • get layers(): string[]

      The WMS layers, specified as an array of strings. Each string is a layer name identifier.

      These layers are not the same as a Layer. They are the layers exposed by the WMS server and which are listed in the capabilities document of the WMS server.

      This layers array must be considered as an immutable property. This means that to add or to remove layers, you will need to reassign this property again. Directly removing elements from the array, or directly adding elements to the array, without resetting the property will have no effect.

      The order of the layers in the array corresponds to the rendering order of the layers by the WMS server.

      Assigning to this property will automatically trigger a refresh of the visualization on the map.

      Returns string[]

    • set layers(layers: string[]): void

      Parameters

      • layers: string[]

      Returns void

    • get modelDescriptor(): ModelDescriptor

      An object containing metadata about this model

      Returns ModelDescriptor

    • set modelDescriptor(modelDescriptor: ModelDescriptor): void

      An object containing metadata about this model

      Parameters

      Returns void

    • get queryable(): boolean

      Reports whether this model supports GetFeatureInfo requests. This is only true if the queryLayers property is filled in.

      Returns boolean

    • get queryLayers(): string[]

      The WMS layers that will be queried. These are the layers that will be used in the GetFeatureInfo requests performed by the WMSImageLayer.getFeatureInfo method.

      The query layers are specified as an array of strings. Each string is a layer name identifier.

      This queryLayers array must be considered as an immutable property. This means that to add or to remove layers, you will need to reassign this property again. Directly removing elements from the array, or directly adding elements to the array, without resetting the property will have no effect.

      Assigning to this property will automatically trigger a refresh of the visualization on the map.

      Returns string[]

    • set queryLayers(queryLayers: string[]): void

      Parameters

      • queryLayers: string[]

      Returns void

    • get requestParameters(): HttpRequestParameters | null

      Custom request parameters to send along with WMS GetMap and GetFeatureInfo request. The object literal can contain simple key/value pairs. If you try to configure request parameters that are part of the WMS standard, a ProgrammingError will be thrown. For example, adding a "layers" request parameter is not allowed. Accepted values are strings, numbers and booleans. A ProgrammingError will be thrown if values of another type are used. Values must not be URL encoded.

      Assignments of other values than object literals to requestParameters will throw an Error. Clearing the parameters can be done by assigning null or an empty object literal to requestParameters. Assigning to this property will automatically trigger a refresh of the visualization on the map.

      Returns HttpRequestParameters | null

      2016.1

    • set requestParameters(value: HttpRequestParameters | null): void

      Parameters

      Returns void

    • get sld(): string | null

      A url to a Styled Layer Descriptor that must be passed when making a request. This corresponds to the SLD request parameter in the GetMap request. If you assign to this value, the value of the sldBody property, if any, will be reset to null.

      Assigning to this property will automatically trigger a refresh of the visualization on the map.

      Returns string | null

      2016.1

    • set sld(value: string | null): void

      Parameters

      • value: string | null

      Returns void

    • get sldBody(): string | null

      the Styled Layer Descriptor to pass when making a request. This corresponds to the SLD_BODY request parameter in the GetMap request. The SLD must not be URL encoded.

      If you assign to this value, the value of the sldBody property, if any, will be reset to null.

      Assigning to this property will automatically trigger a refresh of the visualization on the map.

      Returns string | null

      2016.1

    • set sldBody(value: string | null): void

      Parameters

      • value: string | null

      Returns void

    • get styles(): string[]

      The named styles to apply on the server when making a request. The style names in the array apply to the respective layers. Specifying a style name for a layer is optional; if you do not wish to specify a style name for a particular layer, you can omit the entry for that layer or pass an empty string in the styles array. The STYLES request parameter is mandatory in a WMS request, but can be empty in case no styles are defined.

      Assigning to this property will automatically trigger a refresh of the visualization on the map.

      Returns string[]

      2016.1

    • set styles(value: string[]): void

      Parameters

      • value: string[]

      Returns void

    • get transparent(): boolean

      Indicates whether the ImageModel will request transparent tiles from the server or not

      Returns boolean

    • set transparent(val: boolean): void

      Parameters

      • val: boolean

      Returns void

    Methods

    • Signals that the underlying data for the tiled images has changed. If this model is added to a map using a RasterImageLayer, calling this method will thus trigger a refresh of the visualization.

      Returns void

    • Creates a WMS image model for the given layers and options. This is the recommended method to create a model based on information provided by WMSCapabilities.

      Parameters

      • wmsCapabilities: WMSCapabilities

        The capabilities of the WMS server.

      • wmsLayers: WMSCapabilitiesLayerConfig[]

        An array of object literals that defines the desired WMS layers and (optionally) their layer styles. Each object literal has a mandatory layer property and an optional style property, both of type String.

      • Optionaloptions: WMSImageModelCreateOptions

        the options for the WMS model

      Returns WMSImageModel

      a WMSImageModel for the given parameters.

      2019.1

      ProgrammingError if any of the following cases occurs:

      • the reference or the reference of the bounds passed in the options. are not supported by the WMS server's capabilities.
      • The reference and bounds in the options are both passed and the references do not match.
      • both sld and sldBody are specified in the options.
    • Creates a WMS image model for the given layers and options. This is the recommended method to create a model based on a given WMS server URL and layer name(s).

      Parameters

      • url: string

        The URL of the WMS server.

      • wmsLayers: WMSCapabilitiesLayerConfig[]

        An array of object literals that defines the desired WMS layers and (optionally) their layer styles. Each object literal has a mandatory layer property and an optional style property, both of type String.

      • Optionaloptions: WMSImageModelCreateOptions

        the options for the WMS model

      Returns Promise<WMSImageModel>

      a promise for a WMSImageModel for the given parameters. The promise is rejected if the model creation fails.

      2019.1

    Events

    • An event indicating that this Controller is invalidated. Invalidated means that data has changed and the visualization needs to be refreshed. This event fires when #invalidate is called.

      Parameters

      • event: "Invalidated"
      • callback: (...args: any[]) => void
      • Optionalcontext: any

      Returns Handle