michelJ
13 februari 2022 om 22:46
1
De dataset wijken en buurten 2019 kon in in R gemakkelijk inlezen. Er worden netjes 3200 records ingelezen.
df ← st_read(“https://geodata.nationaalgeoregister.nl/wijkenbuurten2019/wfs?request=GetFeature&service=WFS&version=1.1.0&typeName=wijkenbuurten2019:cbs_wijken_2019&outputFormat=application%2Fjson ”)
De dataset wijken en buurten 2021 geeft de nodige problemen. Zo worden er maximaal 1000 record meegestuurd. Dus ik wil een filter meesturen. Maar ik weet niet hoe. Ik het volgende geprobeerd:
df ← st_read(“https://service.pdok.nl/cbs/wb2021/wfs/v1_0?request=GetFeature&service=WFS&version=1.1.0&typeName=wb2021:wijken&CQL_Filter=gemeentecode=GM0796&outputFormat=application%2Fjson ”).
Wie kan mij verder helpen?
Hoi @michelJ heb je de search hier voor al gebruikt? → Zoekresultaten voor 'cql' - Geoforum
Maar lang verhaal kort, CQL is officieel geen onderdeel van de WFS spec (maar een extra onderdeel van de Geoserver implemenatie) En deze service is recent van de ouwe Geoserver backend naar Mapserver gegaan.
Maar geen nood, je request is prima naar een ‘officieel’ filter om te schrijven. bijvoorbeeld:
Als POST request
<wfs:GetFeature service="WFS" version="2.0.0"
outputFormat="application/gml+xml; version=3.2" count="1000" startindex="0" xmlns:wb2021="http://wb2021.geonovum.nl"
xmlns:wfs="http://www.opengis.net/wfs/2.0"
xmlns:fes="http://www.opengis.net/fes/2.0"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:gml="http://www.opengis.net/gml/3.2"
xsi:schemaLocation="http://www.opengis.net/wfs
http://schemas.opengis.net/wfs/2.0/wfs.xsd">
<wfs:Query typeNames="wb2021:wijken" srsName="EPSG:28992">
<fes:Filter>
<fes:PropertyIsEqualTo matchCase="true">
<fes:ValueReference>gemeentecode</fes:ValueReference>
<fes:Literal>GM0796</fes:Literal>
</fes:PropertyIsEqualTo>
</fes:Filter>
</wfs:Query>
</wfs:GetFeature>
Als GET request
https://service.pdok.nl/cbs/wb2021/wfs/v1_0?request=GetFeature&service=WFS&version=1.1.0&typeName=wb2021:wijken&filter=<Filter><PropertyIsEqualTo%20matchCase="true"><ValueReference>gemeentecode</ValueReference><Literal>GM0796</Literal></PropertyIsEqualTo></Filter>
michelJ
14 februari 2022 om 08:18
3
Top, dank je wel.
Werkt prima en supersnel.
Michel
system
gesloten
13 augustus 2022 om 08:19
4
Dit topic is 180 dagen na het laatste antwoord automatisch gesloten. Nieuwe antwoorden zijn niet meer toegestaan.