Als ik via OWMS de gemeentes ophaal, dan is het erg handig om op basis van de gemeentecode via de WFS de geometrie er bij te halen. Op die manier kan ik altijd de correcte gemeentegrenzen hanteren. Helaas gaat dat niet volledig geautomatiseerd zonder ingrepen en workarounds. Bij nogal wat gementen komt er bij filter op code niks terug (terwijl die gemeente met exact dezelfde code wel via de WMS terug te vinden is). Een paar voorbeeldjes:
De gemeente Hengelo in Overijssel met code0164:
https://geodata.nationaalgeoregister.nl/bestuurlijkegrenzen/wfs?service=WFS&version=2.0.0&request=GetFeature&typename=gemeenten&Filter=<fes:Filter xmlns:fes="http://www.opengis.net/fes/2.0"><fes:PropertyIsEqualTo><fes:PropertyName>code</fes:PropertyName><fes:Literal>0164</fes:Literal></fes:PropertyIsEqualTo></fes:Filter>
geeft dit als resultaat:
<wfs:FeatureCollection numberMatched="0" numberReturned="0" timeStamp="2021-02-02T14:20:07.289Z" xsi:schemaLocation="http://www.opengis.net/wfs/2.0 http://schemas.opengis.net/wfs/2.0/wfs.xsd http://bestuurlijkegrenzen.geonovum.nl https://geodata.nationaalgeoregister.nl/bestuurlijkegrenzen/wfs?service=WFS&version=2.0.0&request=DescribeFeatureType&typeName=bestuurlijkegrenzen%3Agemeenten http://www.opengis.net/gml/3.2 http://schemas.opengis.net/gml/3.2.1/gml.xsd"/>
Als ik 'm ophaal via de naam:
https://geodata.nationaalgeoregister.nl/bestuurlijkegrenzen/wfs?service=WFS&version=2.0.0&request=GetFeature&typename=gemeenten&Filter=<fes:Filter xmlns:fes="http://www.opengis.net/fes/2.0"><fes:PropertyIsEqualTo><fes:PropertyName>gemeentenaam</fes:PropertyName><fes:Literal>Hengelo (O)</fes:Literal></fes:PropertyIsEqualTo></fes:Filter>
<wfs:FeatureCollection numberMatched="1" numberReturned="1" timeStamp="2021-02-02T14:21:32.824Z" xsi:schemaLocation="http://www.opengis.net/wfs/2.0 http://schemas.opengis.net/wfs/2.0/wfs.xsd http://bestuurlijkegrenzen.geonovum.nl https://geodata.nationaalgeoregister.nl/bestuurlijkegrenzen/wfs?service=WFS&version=2.0.0&request=DescribeFeatureType&typeName=bestuurlijkegrenzen%3Agemeenten http://www.opengis.net/gml/3.2 http://schemas.opengis.net/gml/3.2.1/gml.xsd">
<wfs:member>
<bestuurlijkegrenzen:gemeenten gml:id="gemeenten.326">
<bestuurlijkegrenzen:code>0164</bestuurlijkegrenzen:code>
<bestuurlijkegrenzen:gemeentenaam>Hengelo (O)</bestuurlijkegrenzen:gemeentenaam>
<bestuurlijkegrenzen:geom>
Zie vooral het veld code…
en de naburige gemeente Dinkelland lukt wel via de code:
https://geodata.nationaalgeoregister.nl/bestuurlijkegrenzen/wfs?service=WFS&version=2.0.0&request=GetFeature&typename=gemeenten&Filter=<fes:Filter xmlns:fes="http://www.opengis.net/fes/2.0"><fes:PropertyIsEqualTo><fes:PropertyName>code</fes:PropertyName><fes:Literal>1774</fes:Literal></fes:PropertyIsEqualTo></fes:Filter>
<wfs:FeatureCollection numberMatched="1" numberReturned="1" timeStamp="2021-02-02T14:23:12.794Z" xsi:schemaLocation="http://www.opengis.net/wfs/2.0 http://schemas.opengis.net/wfs/2.0/wfs.xsd http://bestuurlijkegrenzen.geonovum.nl https://geodata.nationaalgeoregister.nl/bestuurlijkegrenzen/wfs?service=WFS&version=2.0.0&request=DescribeFeatureType&typeName=bestuurlijkegrenzen%3Agemeenten http://www.opengis.net/gml/3.2 http://schemas.opengis.net/gml/3.2.1/gml.xsd">
<wfs:member>
<bestuurlijkegrenzen:gemeenten gml:id="gemeenten.62">
<bestuurlijkegrenzen:code>1774</bestuurlijkegrenzen:code>
<bestuurlijkegrenzen:gemeentenaam>Dinkelland</bestuurlijkegrenzen:gemeentenaam>
<bestuurlijkegrenzen:geom>
En het probleem met de naam is natuurlijk die Hengelo (O), als je de waarde uit OWMS haalt, is het gewoon netjes Hengelo, dus ik krijg het wel voor elkaar: maar dan moet ik weer Hengelo er uit filteren en daar een workaround voor maken…
Er zijn er 265 waar het niet op de Code lukt. Op Naam lukt het bij de meeste wel, behalve Haaren en Eemsdelta, maar Haaren is per 01-01-2021 vervallen, en Eemsdelta is per 01-01-2021 nieuw, dus da’s niet zo vreemd (wel jammer, want die twee waren de aanleiding voor mij om de zaak opnieuw aan te maken, maar ja, je kunt niet alles hebben ).
Overigens zie ik vergelijkbare vragen c.q. opmerkingen over dit soort akkefietjes vaker terugkomen hier, maar het feit dat de WFS op het attribuut code soms wel en soms niet iets terug geeft, terwijl de gezochte waarde wel degelijk voorkomt in de dataset, vind ik opmerklijk genoeg om er toch een post aan te wijden.