Dit kan niet met pydov.


Aangezien dit een gewone WFS laag is kan dit rechtstreeks via OWSLib.

Hieronder de code voor het geval je de data voor één specifieke put/filter wil ophalen.


import requests

from owslib.etree import etree
from owslib.fes import (
    PropertyIsEqualTo,
    And,
)
from owslib.wfs import WebFeatureService

import pandas as pd
from pandas.compat import StringIO

putnummer = '2-0434b'
filternummer = '1'

dov_wfs = WebFeatureService(
    'https://www.dov.vlaanderen.be/geoserver/wfs', '1.1.0')

query = And([PropertyIsEqualTo('putnummer', putnummer),
             PropertyIsEqualTo('filternummer', filternummer)])
query_str = etree.tostring(query.toXML()).decode('utf8')

fts = dov_wfs.getfeature(
    'gw_varia:stand_freatisch', query_str).read().encode('utf8')

fts_tree = etree.fromstring(fts)

tijdreeks_url = fts_tree.find(
    './/{http://dov.vlaanderen.be/grondwater/gw_varia}tijdreeks')

if tijdreeks_url is not None:
    tijdreeks_url = tijdreeks_url.text

    tijdreeks = requests.get(tijdreeks_url)
    df = pd.read_csv(StringIO(tijdreeks.text), sep=';')
    print(df)