LuciadRIA (2026.0.07)
    Preparing search index...

    Store implementation for communicating with an OGC WFS server. This Store uses a Codec to convert the server response to LuciadRIA features. The standard codec assumes a server response in GeoJson format. Replace the codec if you want to support another format.

    Set this Store on a FeatureModel to create a feature model which retrieves its data from a WFS server. Typically, you don't need to call the constructor yourself. Instead, use the factory methods createFromURL or createFromCapabilities to create an instance of this store. The following example demonstrates how to set up a WFSFeatureStore to retrieve WFS feature data for a given service url and feature type name:

      WFSFeatureStore.createFromURL("http://sampleservices.luciad.com/wfs", "usrivers")
    .then(function(store) {
    //Create a model for the store
    const model = new FeatureModel(store);
    //Create a layer for the model
    const layer = new FeatureLayer(model);
    //Add the model to the map
    map.layerTree.addChild(layer);
    });

    The above example uses GeoJSON as the default exchange format. The following example shows how to configure the same WFSFeatureStore to decode GML-based data using a GMLCodec:

      const storePromise = WFSFeatureStore.createFromURL("http://sampleservices.luciad.com/wfs", "usrivers", {
    codec: new GMLCodec(),
    outputFormat: "text/xml; subtype=gml/3.1.1"
    });

    If you want to access the WFS server capabilities and explore the service metadata and available data sets, you have to create a WFSCapabilities instance first. You can also use this instance to create a Store afterward:

      WFSCapabilities.fromURL("http://sampleservices.luciad.com/wfs")
    .then(function(capabilities) {
    //Create a store using the capabilities
    const store = WFSFeatureStore.createFromCapabilities(capabilities, "usrivers");
    //Create a model for the store
    const model = new FeatureModel(store);
    //Create a layer for the model
    const layer = new FeatureLayer(model);
    //Add the model to the map
    map.layerTree.addChild(layer);
    });

    Supported versions

    LuciadRIA supports consuming WFS services that support version 1.0, 1.1 and 2.0 of the OGC WFS specification.

    Type Parameters

    • TFeature extends Feature = Feature

      Represents the type of Feature instances that are handled by the store. Default type is Feature without restrictions on shape and properties.

    Implements

    Constructors

    Accessors

    • get bounds(): Bounds | undefined

      Data bounds as specified by the BBOX parameter in the WFS capabilities, if the store is created from WFS capabilities, otherwise undefined.

      Returns Bounds | undefined

      2023.1

    • get credentials(): boolean

      Indicates whether credentials should be included with HTTP requests.

      Set this to true if the server requires credentials, like HTTP basic authentication headers or cookies. You should disable credentials if the server is configured to allow cross-origin requests from all domains (Access-Control-Allow-Origin=*). If the server allows CORS requests from all domains, the browser will block all requests where credentials=true.

      Once set, all later HTTP requests will use the newly set value.

      The default value is false.

      Returns boolean

    • set credentials(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get requestHeaders(): HttpRequestHeaders | null

      Headers to send with every HTTP request.

      An object literal that represents the headers to send with every HTTP request. The property names represent HTTP header names, the property values represent the HTTP header values. This property can be set dynamically (post-construction). Once set, all later HTTP requests will use the newly set headers.

      Note that when custom headers are being sent to a server on another domain, the server will have to properly respond to pre-flight CORS requests (an HTTP OPTION request sent by the browser before doing the actual request). The server must indicate that the header is allowed in the actual request by including it in the preflight Access-Control-Allow-Headers response header.

      The default value is null.

      Returns HttpRequestHeaders | null

    • set requestHeaders(value: HttpRequestHeaders | null): void

      Parameters

      Returns void

    • get requestParameters(): HttpRequestParameters | null

      Custom request parameters to send along with WFS requests. The object literal can contain simple key/value pairs. 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. You can clear the parameters by assigning null or an empty object literal. To refresh the visualization on the map, call layer.loadingStrategy.queryProvider.invalidate().

      Returns HttpRequestParameters | null

      2021.0

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

      Parameters

      Returns void

    Methods

    Events

    • An event that is emitted when the contents of the store change. Stores that perform create, update, or delete operations must implement this event to ensure that changes are communicated properly to listeners.

      Parameters

      • event: string

        The "StoreChanged" event.

      • callback: (...args: any[]) => void

        The callback to be invoked when the contents of the store change. The callback has three parameters:

        • eventType: A string indicating the type of change. Possible values are "add", "update", or "remove".
        • feature: The Feature that was added, updated, or removed. For the "remove" event type, the value should be undefined.
        • id: The identifier of the Feature that was affected by the change.
      • Optionalcontext: any

        An optional value used as the this context when executing the callback.

      Returns Handle