Query BAG3D:lod22 WFS laag voor één pand dmv Filter

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?

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