Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The FEWS Web Feature is the Delft-FEWS implementation of the OpenGIS WFS 2.0 OGC standard and is available since 2023.01. It allows requesting GML or GeoJSON data for plots that have been configured in the FEWS grid display. The WFS service can be seen as a complementary to the WMS service as it supports only gridplot types that contain polygon data instead of grids, where the WMS service allows you to render these plots to images, the WFS service provides access to the underlying vector data. 

...

When requesting the GetCapabilities an XML response with be given with all available polygon gridPlots. The XML schema unfortunately (unlike the WMS schema) does not allow them to be nested by gridPlotGroups (unlike the WMS schema).

Example request

Code Block
http://localhost:8080/FewsWebServices/wfs?request=GetCapabilities

...

Code Block
<?xml version="1.0" encoding="UTF-8"?>
<WFS_Capabilities version="2.0.0" xmlns="http://www.opengis.net/wfs/2.0" xmlns:gml="http://www.opengis.net/gml/3.2" xmlns:fes="http://www.opengis.net/fes/2.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:deltares="http://deltares.nl" xsi:schemaLocation="http://www.opengis.net/wfs/2.0 http://schemas.opengis.net/wfs/2.0/wfs.xsd http://www.opengis.net/ows/1.1 http://schemas.opengis.net/ows/1.1.0/owsAll.xsd">
    <ows:ServiceIdentification>
        <ows:Title>WFS Unit tests</ows:Title>
        <ows:ServiceType>WFS</ows:ServiceType>
        <ows:ServiceTypeVersion>2.0.0</ows:ServiceTypeVersion>
    </ows:ServiceIdentification>
    <ows:ServiceProvider>
        <ows:ProviderName>Deltares</ows:ProviderName>
    </ows:ServiceProvider>
    <ows:OperationsMetadata>
        <ows:Operation name="GetCapabilities">
            <ows:DCP>
                <ows:HTTP>
                    <ows:Get xlink:href="http://localhost/FewsWebServices/wfs"></ows:Get>
                </ows:HTTP>
            </ows:DCP>
            <ows:Parameter name="AcceptVersions">
                <ows:AllowedValues>
                    <ows:Value>2.0.0</ows:Value>
                </ows:AllowedValues>
            </ows:Parameter>
            <ows:Parameter name="AcceptFormats">
                <ows:AllowedValues>
                    <ows:Value>text/xml</ows:Value>
                </ows:AllowedValues>
            </ows:Parameter>
        </ows:Operation>
        <ows:Operation name="DescribeFeatureType">
            <ows:DCP>
                <ows:HTTP>
                    <ows:Get xlink:href="http://localhost/FewsWebServices/wfs"/>
                </ows:HTTP>
            </ows:DCP>
            <ows:Parameter name="outputFormat">
                <ows:AllowedValues>
                    <ows:Value>application/gml+xml; version=3.2</ows:Value>
                </ows:AllowedValues>
            </ows:Parameter>
        </ows:Operation>
        <ows:Operation name="ListStoredQueries">
            <ows:DCP>
                <ows:HTTP>
                    <ows:Get xlink:href="http://localhost/FewsWebServices/wfs"/>
                </ows:HTTP>
            </ows:DCP>
        </ows:Operation>
        <ows:Operation name="DescribeStoredQueries">
            <ows:DCP>
                <ows:HTTP>
                    <ows:Get xlink:href="http://localhost/FewsWebServices/wfs"/>
                </ows:HTTP>
            </ows:DCP>
        </ows:Operation>
        <ows:Operation name="GetFeature">
            <ows:DCP>
                <ows:HTTP>
                    <ows:Get xlink:href="http://localhost/FewsWebServices/wfs"/>
                </ows:HTTP>
            </ows:DCP>
            <ows:Parameter name="outputFormat">
                <ows:AllowedValues>
                    <ows:Value>application/gml+xml; version=3.2</ows:Value>
                    <ows:Value>application/geo+json</ows:Value>
                    <ows:Value>application/json</ows:Value>
                </ows:AllowedValues>
            </ows:Parameter>
        </ows:Operation>
        <ows:Parameter name="AcceptVersions">
            <ows:AllowedValues>
                <ows:Value>2.0.0</ows:Value>
            </ows:AllowedValues>
        </ows:Parameter>
        <ows:Constraint name="ImplementsBasicWFS">
            <ows:NoValues/>
            <ows:DefaultValue>TRUE</ows:DefaultValue>
        </ows:Constraint>
        <ows:Constraint name="ImplementsTransactionalWFS">
            <ows:NoValues/>
            <ows:DefaultValue>FALSE</ows:DefaultValue>
        </ows:Constraint>
        <ows:Constraint name="ImplementsLockingWFS">
            <ows:NoValues/>
            <ows:DefaultValue>FALSE</ows:DefaultValue>
        </ows:Constraint>
        <ows:Constraint name="KVPEncoding">
            <ows:NoValues/>
            <ows:DefaultValue>TRUE</ows:DefaultValue>
        </ows:Constraint>
        <ows:Constraint name="XMLEncoding">
            <ows:NoValues/>
            <ows:DefaultValue>FALSE</ows:DefaultValue>
        </ows:Constraint>
        <ows:Constraint name="SOAPEncoding">
            <ows:NoValues/>
            <ows:DefaultValue>FALSE</ows:DefaultValue>
        </ows:Constraint>
        <ows:Constraint name="ImplementsInheritance">
            <ows:NoValues/>
            <ows:DefaultValue>FALSE</ows:DefaultValue>
        </ows:Constraint>
        <ows:Constraint name="ImplementsRemoteResolve">
            <ows:NoValues/>
            <ows:DefaultValue>FALSE</ows:DefaultValue>
        </ows:Constraint>
        <ows:Constraint name="ImplementsResultPaging">
            <ows:NoValues/>
            <ows:DefaultValue>FALSE</ows:DefaultValue>
        </ows:Constraint>
        <ows:Constraint name="ImplementsStandardJoins">
            <ows:NoValues/>
            <ows:DefaultValue>FALSE</ows:DefaultValue>
        </ows:Constraint>
        <ows:Constraint name="ImplementsSpatialJoins">
            <ows:NoValues/>
            <ows:DefaultValue>FALSE</ows:DefaultValue>
        </ows:Constraint>
        <ows:Constraint name="ImplementsTemporalJoins">
            <ows:NoValues/>
            <ows:DefaultValue>FALSE</ows:DefaultValue>
        </ows:Constraint>
        <ows:Constraint name="ImplementsFeatureVersioning">
            <ows:NoValues/>
            <ows:DefaultValue>FALSE</ows:DefaultValue>
        </ows:Constraint>
        <ows:Constraint name="ManageStoredQueries">
            <ows:NoValues/>
            <ows:DefaultValue>FALSE</ows:DefaultValue>
        </ows:Constraint>
        <ows:Constraint name="wfs:StoredQuery">
            <ows:NoValues/>
            <ows:DefaultValue>FALSE</ows:DefaultValue>
        </ows:Constraint>
    </ows:OperationsMetadata>
    <FeatureTypeList>
        <FeatureType>
            <Name>deltares:full_extent_cta_clean</Name>
            <Title>SFINCS full extent</Title>
            <DefaultCRS>urn:ogc:def:crs:EPSG::4326</DefaultCRS>
            <OtherCRS>urn:ogc:def:crs:EPSG::4326</OtherCRS>
            <OtherCRS>urn:ogc:def:crs:EPSG::3857</OtherCRS>
            <ows:WGS84BoundingBox>
                <ows:LowerCorner>125.095000 -37.527500</ows:LowerCorner>
                <ows:UpperCorner>153.637500 -10.020000</ows:UpperCorner>
            </ows:WGS84BoundingBox>
        </FeatureType>
        <FeatureType>
            <Name>deltares:full_extent_cta</Name>
            <Title>SFINCS full extent (not clean)</Title>
            <DefaultCRS>urn:ogc:def:crs:EPSG::4326</DefaultCRS>
            <OtherCRS>urn:ogc:def:crs:EPSG::4326</OtherCRS>
            <OtherCRS>urn:ogc:def:crs:EPSG::3857</OtherCRS>
            <ows:WGS84BoundingBox>
                <ows:LowerCorner>125.095000 -37.527500</ows:LowerCorner>
                <ows:UpperCorner>153.637500 -10.020000</ows:UpperCorner>
            </ows:WGS84BoundingBox>
        </FeatureType>
    </FeatureTypeList>
</WFS_Capabilities>

Note: in this example a deltares Deltares namespace is used to identify items that originate from Delft-FEWS, as identified by xmlns:deltares="http://deltares.nl". This is used as prefix for the gridplot-id values that have been taken from the spatial display configuration, The WFS standard more or less requires this. The namespace used by the WFS service can be changed in the Webservices.xml configuration.

...

  • time (optional): the time for which the polygon data is requested. Only one time is supported. Time ranges are NOT supported. Time has to be in the xml dateformat:  yyyy-MM-ddTHH:mm:ssZ. The time parameter is identical to that of the Delft-FEWS WMS service for practical reasons.
    Please note that any options the OpenGIS Filter specifications offer to define a temporalk temporal extent have not been implemented in Delft-FEWS WFS.

Restrictions:

  • There currently are no restrictions on the output size of the WFS service, paging options that may help dealing with very large datasets have not yet been implemented.

...

Get a list of 'stored queries' a WFS supports, in this case the only stored query supported is the so-called "GetFeatureById" stored query. This request has been implemented as the WFS 2.0 lists it as a requirement for the "Simple" implementation of a WFS 2.0 service. It will most likely not be of much value to your project as the Note: The id's, used mainly for the generation of GML output, are assigned sequentially, they are not linked to a specific property or attribute in Delft-FEWS.

Request parameters

  • version (optional): supported version is 2.0 and is the default if not set. Older versions are not supported

...

Get a more detailed description of 'stored queries' a WFS supports, in this case the only stored query supported is the so-called "GetFeatureById" stored query. This request has been implemented as the WFS 2.0 lists it as a requirement for the "Simple" implementation of a WFS 2.0 service. It will most likely not be of much value to your project as the Note: The id's, used mainly for the generation of GML output, are assigned sequentially, they are not linked to a specific property or attribute in Delft-FEWS.

Request parameters

  • version (optional): supported version is 2.0 and is the default if not set. Older versions are not supported

...