Gebruik maken van equal FES-filter

We proberen in een request voor Gemeenten2015 gebruik te maken van het FES PropertyIsEqualTo filter. Als we dit gebruiken krijgen we een correct antwoord maar zonder de verwachte features. Wordt dit FES filter ondersteund en zo niet, wanneer is ondersteuning hiervoor beschikbaar?

Request:

<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs" xmlns:wijkenbuurten2015="http://wijkenbuurten2015.geonovum.nl"  service="WFS" version="1.1.0" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/2.0.0/wfs.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:fes="http://www.opengis.net/fes/2.0">
<wfs:Query typeName="wijkenbuurten2015:gemeenten2015" srsName="EPSG:28992">
<fes:Filter>
    <fes:PropertyIsEqualTo>
        <fes:ValueReference>gemeentecode</fes:ValueReference>
        <fes:Literal>GM0003</fes:Literal>
    </fes:PropertyIsEqualTo>
</fes:Filter>
</wfs:Query>
</wfs:GetFeature>

Response:

<?xml version="1.0" encoding="UTF-8"?>
<wfs:FeatureCollection xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:wijkenbuurten2015="http://wijkenbuurten2015.geonovum.nl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" numberOfFeatures="0" timeStamp="2018-01-04T10:59:28.341Z" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd http://wijkenbuurten2015.geonovum.nl https://geodata.nationaalgeoregister.nl/wijkenbuurten2015/wfs?service=WFS&amp;version=1.1.0&amp;request=DescribeFeatureType&amp;typeName=wijkenbuurten2015%3Agemeenten2015"/>

Beste @MvanKlink,

FES Filters zijn beschikbaar op onze WFS services.

Een aangepaste versie van het verzoek dat werkt:

<?xml version="1.0" encoding="UTF-8"?>
<wfs:GetFeature service="WFS" version="2.0.0" 
    xmlns:wfs="http://www.opengis.net/wfs/2.0" 
    xmlns:fes="http://www.opengis.net/fes/2.0"
    xmlns:gml="http://www.opengis.net/gml"     
    xmlns:wijkenbuurten2015="http://wijkenbuurten2015.geonovum.nl"  
    xsi:schemaLocation="http://www.opengis.net/wfs/2.0
                        http://schemas.opengis.net/wfs/2.0/wfs.xsd
                        http://www.opengis.net/gml/3.2
                        http://schemas.opengis.net/gml/3.2.1/gml.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <wfs:Query typeNames="wijkenbuurten2015:gemeenten2015" srsName="EPSG:28992">
        <fes:Filter>
            <fes:PropertyIsEqualTo>
                <fes:ValueReference>gemeentecode</fes:ValueReference>
                <fes:Literal>GM0003</fes:Literal>
            </fes:PropertyIsEqualTo>
        </fes:Filter>
    </wfs:Query>
</wfs:GetFeature>

Wat hierin verschilt is de WFS namespace (xmlns:wfs="http://www.opengis.net/wfs/2.0), typeNames in de Query en het versienummer naar 2.0.0.

Ook is het mogelijk een Filter toe te passen in WFS 1.1.0, voorbeeld:

<?xml version="1.0" encoding="UTF-8"?>
<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs" xmlns:wijkenbuurten2015="http://wijkenbuurten2015.geonovum.nl"  service="WFS" version="1.1.0" xmlns:gml="http://www.opengis.net/gml" xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<wfs:Query typeName="wijkenbuurten2015:gemeenten2015" srsName="EPSG:28992">
<Filter>
    <PropertyIsEqualTo>
        <PropertyName>gemeentecode</PropertyName>
            <Literal>GM0003</Literal>
        </PropertyIsEqualTo>
</Filter>
</wfs:Query>
</wfs:GetFeature>

Daarnaast is het ook mogelijk Filters toe te passen in een GET request:

https://geodata.nationaalgeoregister.nl/wijkenbuurten2015/wfs?request=getFeature&typename=wijkenbuurten2015:gemeenten2015&filter=<PropertyIsEqualTo><PropertyName>gemeentecode</PropertyName><Literal>GM0003</Literal></PropertyIsEqualTo>

Hoop dat je hiermee verder kunt.

Met dank aan @wouter.visscher, @fsteggink, @cbos

2 likes