Mbv Python probeer ik de BAG3D:lod22 WFS laag voor één pand dmv een Filter te lezen:
import urllib.request
import json
pandidentificatie = "0344100000135173" # voorbeeld stadskantoor Utrecht
url = 'https://data.3dbag.nl/api/BAG3D/wfs?request=getfeature&service=wfs&version=2.0.0&typenames=BAG3D:lod22&filter=<Filter><PropertyIsEqualTo><PropertyName>identificatie</PropertyName><Literal>NL.IMBAG.Pand.%s</Literal></PropertyIsEqualTo></Filter>&outputFormat=application/json' % (pandidentificatie)
data = urllib.request.urlopen(url).read()
json_data = json.loads(data)
print(json_data)
Dit geeft een error (in de browser geeft het een 504 Gateway Time-out). De PDOK BAG WFS (https://service.pdok.nl/lv/bag/wfs/v2_0 ) werkt wel op deze manier.
Wellicht heeft de 3DBAG WFS de filter optie uitstaan? Of dien ik mijn filter query aan te passen?
GinaSt
4 september 2025 om 15:25
2
Can you please check the following code:
import urllib.request
import json
pandidentificatie = "0344100000135173"
filter_xml = f'<Filter><PropertyIsEqualTo><PropertyName>identificatie</PropertyName><Literal>NL.IMBAG.Pand.{pandidentificatie}</Literal></PropertyIsEqualTo></Filter>'
filter_encoded = urllib.parse.quote(filter_xml)
url = (
'https://data.3dbag.nl/api/BAG3D/wfs?'
'request=getfeature&service=wfs&version=2.0.0&typenames=BAG3D:lod22'
f'&filter={filter_encoded}&outputFormat=application/json'
)
data = urllib.request.urlopen(url).read()
json_data = json.loads(data)
print(json_data)
Does this work as expected?
Hi @GinaSt ,
No unfortunately the line data = urllib.request.urlopen(url).read() gives the error urllib.error.HTTPError: HTTP Error 504: Gateway Time-out
Hi @GinaSt and @jhpoosthoek ,
I’m facing the same problem. Is there any solution for this already?
The example script, 3dbag-scripts/wfs_filtering.py at main · 3DBAG/3dbag-scripts · GitHub , doesn’t work.