In [75]:
import requests
import functools
import pandas as pd
import numpy as np

import osr

import matplotlib.pyplot as plt

src_crs = osr.SpatialReference()
src_crs.ImportFromEPSG(25831)
dst_crs = osr.SpatialReference()
dst_crs.ImportFromEPSG(3857)
src2dst = osr.CoordinateTransformation(src_crs, dst_crs)

In [76]:
# the url for getting metadata (locations, measurement types)
ddl_url = 'https://waterwebservices.rijkswaterstaat.nl/METADATASERVICES_DBO/OphalenCatalogus/'
ddl_data_url = 'https://waterwebservices.rijkswaterstaat.nl/ONLINEWAARNEMINGENSERVICES_DBO/OphalenWaarnemingen'

In [77]:
request = {
    "CatalogusFilter": {
        "Eenheden": True,
        "Grootheden": True,
        "Hoedanigheden": True
    }
}
resp = requests.post(ddl_url, json=request)
result = resp.json()

In [81]:
result['AquoMetadataLijst']


Out[81]:
[{'AquoMetadata_MessageID': 1,
  'Eenheid': {'Code': 'mg/kg', 'Omschrijving': 'milligram per kilogram'},
  'Grootheid': {'Code': 'MASSFTE', 'Omschrijving': 'Massafractie'},
  'Hoedanigheid': {'Code': 'Ndg',
   'Omschrijving': 'uitgedrukt in Stikstof / drooggewicht'},
  'Parameter_Wat_Omschrijving': 'Massafractie stikstof Kjeldahl in Zwevende stof uitgedrukt in Stikstof / drooggewicht in mg/kg'},
 {'AquoMetadata_MessageID': 2,
  'Eenheid': {'Code': 'ng/l', 'Omschrijving': 'nanogram per liter'},
  'Grootheid': {'Code': 'CONCTTE', 'Omschrijving': '(massa)Concentratie'},
  'Hoedanigheid': {'Code': 'Sn', 'Omschrijving': 'uitgedrukt in Tin'},
  'Parameter_Wat_Omschrijving': '(massa)Concentratie dibutyltin (kation) in Oppervlaktewater uitgedrukt in Tin in ng/l'},
 {'AquoMetadata_MessageID': 3,
  'Eenheid': {'Code': 'ug/l', 'Omschrijving': 'microgram per liter'},
  'Grootheid': {'Code': 'CONCTTE', 'Omschrijving': '(massa)Concentratie'},
  'Hoedanigheid': {'Code': 'Sn', 'Omschrijving': 'uitgedrukt in Tin'},
  'Parameter_Wat_Omschrijving': '(massa)Concentratie trifenyltin (kation) in Oppervlaktewater uitgedrukt in Tin in ug/l'},
 {'AquoMetadata_MessageID': 4,
  'Eenheid': {'Code': 'mg/l', 'Omschrijving': 'milligram per liter'},
  'Grootheid': {'Code': 'CONCTTE', 'Omschrijving': '(massa)Concentratie'},
  'Hoedanigheid': {'Code': 'Pnf',
   'Omschrijving': 'uitgedrukt in fosfor / opgeloste fractie'},
  'Parameter_Wat_Omschrijving': '(massa)Concentratie fosfaat in Oppervlaktewater uitgedrukt in fosfor / opgeloste fractie in mg/l'},
 {'AquoMetadata_MessageID': 5,
  'Eenheid': {'Code': '%', 'Omschrijving': 'procent'},
  'Grootheid': {'Code': 'VERZDGGD', 'Omschrijving': 'Verzadigingsgraad'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Verzadigingsgraad zuurstof in Oppervlaktewater %'},
 {'AquoMetadata_MessageID': 6,
  'Eenheid': {'Code': '%', 'Omschrijving': 'procent'},
  'Grootheid': {'Code': 'MASSFTE', 'Omschrijving': 'Massafractie'},
  'Hoedanigheid': {'Code': 'Cdg',
   'Omschrijving': 'uitgedrukt in Koolstof / drooggewicht'},
  'Parameter_Wat_Omschrijving': 'Massafractie koolstof organisch in Zwevende stof uitgedrukt in Koolstof / drooggewicht in %'},
 {'AquoMetadata_MessageID': 7,
  'Eenheid': {'Code': 's', 'Omschrijving': 'seconde'},
  'Grootheid': {'Code': 'T_H1/3',
   'Omschrijving': 'Golfperiode die hoort bij H1/3'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Golfperiode die hoort bij H1/3 Oppervlaktewater s'},
 {'AquoMetadata_MessageID': 8,
  'Eenheid': {'Code': 'graad', 'Omschrijving': 'graad'},
  'Grootheid': {'Code': 'Th0',
   'Omschrijving': 'Gemiddelde golfrichting in het spectrale domein'},
  'Hoedanigheid': {'Code': 'F003-050',
   'Omschrijving': 'golffrequentie tussen 30 en 500 mHz'},
  'Parameter_Wat_Omschrijving': 'Gemiddelde golfrichting in het spectrale domein Oppervlaktewater golffrequentie tussen 30 en 500 mHz in graad'},
 {'AquoMetadata_MessageID': 9,
  'Eenheid': {'Code': 's', 'Omschrijving': 'seconde'},
  'Grootheid': {'Code': 'Tm02',
   'Omschrijving': 'Golfperiode bepaald uit de spectrale momenten m0 en m2'},
  'Hoedanigheid': {'Code': 'F003-050',
   'Omschrijving': 'golffrequentie tussen 30 en 500 mHz'},
  'Parameter_Wat_Omschrijving': 'Golfperiode bepaald uit de spectrale momenten m0 en m2 Oppervlaktewater golffrequentie tussen 30 en 500 mHz in s'},
 {'AquoMetadata_MessageID': 10,
  'Eenheid': {'Code': 'NVT', 'Omschrijving': 'Waarde is niet van toepassing'},
  'Grootheid': {'Code': 'AG',
   'Omschrijving': 'Aantal golven in 20 minuten periode'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Aantal golven in 20 minuten periode Oppervlaktewater '},
 {'AquoMetadata_MessageID': 11,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'HTE3',
   'Omschrijving': 'Significante deiningshoogte in het spectrale domein'},
  'Hoedanigheid': {'Code': 'F003-010',
   'Omschrijving': 'golffrequentie tussen 30 en 100 mHz'},
  'Parameter_Wat_Omschrijving': 'Significante deiningshoogte in het spectrale domein Oppervlaktewater golffrequentie tussen 30 en 100 mHz in cm'},
 {'AquoMetadata_MessageID': 12,
  'Eenheid': {'Code': 's', 'Omschrijving': 'seconde'},
  'Grootheid': {'Code': 'Tm02V',
   'Omschrijving': 'Golfperiode bepaald uit de spectrale momenten m0 en m2 verwacht'},
  'Hoedanigheid': {'Code': 'F003-050',
   'Omschrijving': 'golffrequentie tussen 30 en 500 mHz'},
  'Parameter_Wat_Omschrijving': 'Golfperiode bepaald uit de spectrale momenten m0 en m2 verwacht Oppervlaktewater golffrequentie tussen 30 en 500 mHz in s'},
 {'AquoMetadata_MessageID': 13,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'WATHTE', 'Omschrijving': 'Waterhoogte'},
  'Hoedanigheid': {'Code': 'MSL', 'Omschrijving': 't.o.v. Mean Sea Level'},
  'Parameter_Wat_Omschrijving': 'Waterhoogte Oppervlaktewater t.o.v. Mean Sea Level in cm'},
 {'AquoMetadata_MessageID': 14,
  'Eenheid': {'Code': 'mg/kg', 'Omschrijving': 'milligram per kilogram'},
  'Grootheid': {'Code': 'MASSFTE', 'Omschrijving': 'Massafractie'},
  'Hoedanigheid': {'Code': 'dg', 'Omschrijving': 't.o.v. drooggewicht'},
  'Parameter_Wat_Omschrijving': 'Massafractie mangaan in Zwevende stof t.o.v. drooggewicht in mg/kg'},
 {'AquoMetadata_MessageID': 15,
  'Eenheid': {'Code': '%', 'Omschrijving': 'procent'},
  'Grootheid': {'Code': 'KGF', 'Omschrijving': 'Korrelgroottefractie'},
  'Hoedanigheid': {'Code': 'Dk0016dg',
   'Omschrijving': 'diameter kleiner dan 16 um / drooggewicht'},
  'Parameter_Wat_Omschrijving': 'Korrelgroottefractie Zwevende stof diameter kleiner dan 16 um / drooggewicht in %'},
 {'AquoMetadata_MessageID': 16,
  'Eenheid': {'Code': 'mS/m', 'Omschrijving': 'millisiemens per meter'},
  'Grootheid': {'Code': 'GELDHD', 'Omschrijving': 'Geleidendheid'},
  'Hoedanigheid': {'Code': '20oC', 'Omschrijving': 't.o.v. 20 graden Celsius'},
  'Parameter_Wat_Omschrijving': 'Geleidendheid Oppervlaktewater t.o.v. 20 graden Celsius in mS/m'},
 {'AquoMetadata_MessageID': 17,
  'Eenheid': {'Code': 'mg/l', 'Omschrijving': 'milligram per liter'},
  'Grootheid': {'Code': 'CONCTTE', 'Omschrijving': '(massa)Concentratie'},
  'Hoedanigheid': {'Code': 'N', 'Omschrijving': 'uitgedrukt in Stikstof'},
  'Parameter_Wat_Omschrijving': '(massa)Concentratie stikstof Kjeldahl in Oppervlaktewater uitgedrukt in Stikstof in mg/l'},
 {'AquoMetadata_MessageID': 18,
  'Eenheid': {'Code': 'graad', 'Omschrijving': 'graad'},
  'Grootheid': {'Code': 'SRV10w3', 'Omschrijving': 'Stroomrichting laag 3'},
  'Hoedanigheid': {'Code': 'WARNDN', 'Omschrijving': 't.o.v. ware Noorden'},
  'Parameter_Wat_Omschrijving': 'Stroomrichting laag 3 Oppervlaktewater t.o.v. ware Noorden in graad'},
 {'AquoMetadata_MessageID': 19,
  'Eenheid': {'Code': 'm/s', 'Omschrijving': 'meter per seconde'},
  'Grootheid': {'Code': 'SSV10w3G',
   'Omschrijving': 'Stroomsnelheid loodrecht laag 3'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Stroomsnelheid loodrecht laag 3 Oppervlaktewater m/s'},
 {'AquoMetadata_MessageID': 20,
  'Eenheid': {'Code': 's', 'Omschrijving': 'seconde'},
  'Grootheid': {'Code': 'TH1/3',
   'Omschrijving': 'gem. golfperiode hoogste 1/3 deel golven'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Gem. golfperiode hoogste 1/3 deel golven Oppervlaktewater s'},
 {'AquoMetadata_MessageID': 21,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'Hm0',
   'Omschrijving': 'Significante golfhoogte in het spectrale domein'},
  'Hoedanigheid': {'Code': 'F003-100',
   'Omschrijving': 'golffrequentie tussen 30 en 1000 mHz'},
  'Parameter_Wat_Omschrijving': 'Significante golfhoogte in het spectrale domein Oppervlaktewater golffrequentie tussen 30 en 1000 mHz in cm'},
 {'AquoMetadata_MessageID': 22,
  'Eenheid': {'Code': 'mHz', 'Omschrijving': 'millihertz'},
  'Grootheid': {'Code': 'Fp',
   'Omschrijving': 'Golffrequentie bij maximum v.h. variantiedichtheidspectrum'},
  'Hoedanigheid': {'Code': 'F003-100',
   'Omschrijving': 'golffrequentie tussen 30 en 1000 mHz'},
  'Parameter_Wat_Omschrijving': 'Golffrequentie bij maximum v.h. variantiedichtheidspectrum Oppervlaktewater golffrequentie tussen 30 en 1000 mHz in mHz'},
 {'AquoMetadata_MessageID': 23,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'SPGH',
   'Omschrijving': 'Standaardafwijking van de golfhoogte in het tijdsdomein'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Standaardafwijking van de golfhoogte in het tijdsdomein Oppervlaktewater cm'},
 {'AquoMetadata_MessageID': 24,
  'Eenheid': {'Code': 's', 'Omschrijving': 'seconde'},
  'Grootheid': {'Code': 'Tm02',
   'Omschrijving': 'Golfperiode bepaald uit de spectrale momenten m0 en m2'},
  'Hoedanigheid': {'Code': 'F003-100',
   'Omschrijving': 'golffrequentie tussen 30 en 1000 mHz'},
  'Parameter_Wat_Omschrijving': 'Golfperiode bepaald uit de spectrale momenten m0 en m2 Oppervlaktewater golffrequentie tussen 30 en 1000 mHz in s'},
 {'AquoMetadata_MessageID': 25,
  'Eenheid': {'Code': 's', 'Omschrijving': 'seconde'},
  'Grootheid': {'Code': 'Tmax',
   'Omschrijving': 'Maximale golfperiode in het tijdsdomein'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Maximale golfperiode in het tijdsdomein Oppervlaktewater s'},
 {'AquoMetadata_MessageID': 26,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'WATHTBRKD', 'Omschrijving': 'Waterhoogte berekend'},
  'Hoedanigheid': {'Code': 'MSL', 'Omschrijving': 't.o.v. Mean Sea Level'},
  'Parameter_Wat_Omschrijving': 'Waterhoogte berekend Oppervlaktewater t.o.v. Mean Sea Level in cm'},
 {'AquoMetadata_MessageID': 27,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'H1/3',
   'Omschrijving': 'Gem. hoogte van hoogste 1/3 deel v.d. golven (tijdsdomein)'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Gem. hoogte van hoogste 1/3 deel v.d. golven (tijdsdomein) Oppervlaktewater cm'},
 {'AquoMetadata_MessageID': 28,
  'Eenheid': {'Code': 'ug/kg', 'Omschrijving': 'microgram per kilogram'},
  'Grootheid': {'Code': 'MASSFTE', 'Omschrijving': 'Massafractie'},
  'Hoedanigheid': {'Code': 'dg', 'Omschrijving': 't.o.v. drooggewicht'},
  'Parameter_Wat_Omschrijving': 'Massafractie cis-heptachloorepoxide in Zwevende stof t.o.v. drooggewicht in ug/kg'},
 {'AquoMetadata_MessageID': 29,
  'Eenheid': {'Code': 'mg/g', 'Omschrijving': 'milligram per gram'},
  'Grootheid': {'Code': 'MASSFTE', 'Omschrijving': 'Massafractie'},
  'Hoedanigheid': {'Code': 'dg', 'Omschrijving': 't.o.v. drooggewicht'},
  'Parameter_Wat_Omschrijving': 'Massafractie fosfor totaal in Zwevende stof t.o.v. drooggewicht in mg/g'},
 {'AquoMetadata_MessageID': 30,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'Hm0',
   'Omschrijving': 'Significante golfhoogte in het spectrale domein'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Significante golfhoogte in het spectrale domein Oppervlaktewater cm'},
 {'AquoMetadata_MessageID': 31,
  'Eenheid': {'Code': 'mg/l', 'Omschrijving': 'milligram per liter'},
  'Grootheid': {'Code': 'CONCTTE', 'Omschrijving': '(massa)Concentratie'},
  'Hoedanigheid': {'Code': 'P', 'Omschrijving': 'uitgedrukt in Fosfor'},
  'Parameter_Wat_Omschrijving': '(massa)Concentratie fosfor totaal in Oppervlaktewater uitgedrukt in Fosfor in mg/l'},
 {'AquoMetadata_MessageID': 32,
  'Eenheid': {'Code': 'oC', 'Omschrijving': 'graad Celsius'},
  'Grootheid': {'Code': 'T', 'Omschrijving': 'Temperatuur'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Temperatuur Oppervlaktewater oC'},
 {'AquoMetadata_MessageID': 33,
  'Eenheid': {'Code': 'graad', 'Omschrijving': 'graad'},
  'Grootheid': {'Code': 'SRV10w2', 'Omschrijving': 'Stroomrichting laag 2'},
  'Hoedanigheid': {'Code': 'WARNDN', 'Omschrijving': 't.o.v. ware Noorden'},
  'Parameter_Wat_Omschrijving': 'Stroomrichting laag 2 Oppervlaktewater t.o.v. ware Noorden in graad'},
 {'AquoMetadata_MessageID': 34,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'WATHTBRKD', 'Omschrijving': 'Waterhoogte berekend'},
  'Hoedanigheid': {'Code': 'NAP',
   'Omschrijving': 't.o.v. Normaal Amsterdams Peil'},
  'Parameter_Wat_Omschrijving': 'Waterhoogte berekend Oppervlaktewater t.o.v. Normaal Amsterdams Peil in cm'},
 {'AquoMetadata_MessageID': 35,
  'Eenheid': {'Code': 's', 'Omschrijving': 'seconde'},
  'Grootheid': {'Code': 'T1/3',
   'Omschrijving': 'Gem. golfperiode langste 1/3 deel v.d. golven (tijdsdomein)'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Gem. golfperiode langste 1/3 deel v.d. golven (tijdsdomein) Oppervlaktewater s'},
 {'AquoMetadata_MessageID': 36,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'H1/50',
   'Omschrijving': 'Gem. hoogte van hoogste 1/50 deel v.d. golven (tijdsdomein)'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Gem. hoogte van hoogste 1/50 deel v.d. golven (tijdsdomein) Oppervlaktewater cm'},
 {'AquoMetadata_MessageID': 37,
  'Eenheid': {'Code': 's', 'Omschrijving': 'seconde'},
  'Grootheid': {'Code': 'GGT',
   'Omschrijving': 'Gemiddelde golfperiode in het tijdsdomein'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Gemiddelde golfperiode in het tijdsdomein Oppervlaktewater s'},
 {'AquoMetadata_MessageID': 38,
  'Eenheid': {'Code': 'cm2', 'Omschrijving': 'vierkante centimeter'},
  'Grootheid': {'Code': 'TE3',
   'Omschrijving': 'Deiningsenergie in het spectrale domein'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Deiningsenergie in het spectrale domein Oppervlaktewater cm2'},
 {'AquoMetadata_MessageID': 39,
  'Eenheid': {'Code': '%', 'Omschrijving': 'procent'},
  'Grootheid': {'Code': 'KGF', 'Omschrijving': 'Korrelgroottefractie'},
  'Hoedanigheid': {'Code': 'Dk0002dg',
   'Omschrijving': 'diameter kleiner dan 2 um / drooggewicht'},
  'Parameter_Wat_Omschrijving': 'Korrelgroottefractie Zwevende stof diameter kleiner dan 2 um / drooggewicht in %'},
 {'AquoMetadata_MessageID': 40,
  'Eenheid': {'Code': 'DIMSLS', 'Omschrijving': 'dimensieloos'},
  'Grootheid': {'Code': 'pH', 'Omschrijving': 'Zuurgraad'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Zuurgraad Oppervlaktewater '},
 {'AquoMetadata_MessageID': 41,
  'Eenheid': {'Code': 'mg/l', 'Omschrijving': 'milligram per liter'},
  'Grootheid': {'Code': 'CONCTTE', 'Omschrijving': '(massa)Concentratie'},
  'Hoedanigheid': {'Code': 'Nnf',
   'Omschrijving': 'uitgedrukt in stikstof / opgeloste fractie'},
  'Parameter_Wat_Omschrijving': '(massa)Concentratie som nitraat en nitriet in Oppervlaktewater uitgedrukt in stikstof / opgeloste fractie in mg/l'},
 {'AquoMetadata_MessageID': 42,
  'Eenheid': {'Code': 'ug/l', 'Omschrijving': 'microgram per liter'},
  'Grootheid': {'Code': 'CONCTTE', 'Omschrijving': '(massa)Concentratie'},
  'Hoedanigheid': {'Code': 'Cl', 'Omschrijving': 'uitgedrukt in Chloor'},
  'Parameter_Wat_Omschrijving': '(massa)Concentratie som extraheerbare organische halogeenverbindingen in Oppervlaktewater uitgedrukt in Chloor in ug/l'},
 {'AquoMetadata_MessageID': 43,
  'Eenheid': {'Code': 'm', 'Omschrijving': 'meter'},
  'Grootheid': {'Code': 'ZICHTMETEO', 'Omschrijving': 'Meteorologisch zicht'},
  'Hoedanigheid': {'Code': 'NAP',
   'Omschrijving': 't.o.v. Normaal Amsterdams Peil'},
  'Parameter_Wat_Omschrijving': 'Meteorologisch zicht Lucht t.o.v. Normaal Amsterdams Peil in m'},
 {'AquoMetadata_MessageID': 44,
  'Eenheid': {'Code': 'mg/l', 'Omschrijving': 'milligram per liter'},
  'Grootheid': {'Code': 'CONCTTE', 'Omschrijving': '(massa)Concentratie'},
  'Hoedanigheid': {'Code': 'pg', 'Omschrijving': 'particulair gebonden'},
  'Parameter_Wat_Omschrijving': '(massa)Concentratie fosfor totaal in Oppervlaktewater particulair gebonden in mg/l'},
 {'AquoMetadata_MessageID': 45,
  'Eenheid': {'Code': 'mHz', 'Omschrijving': 'millihertz'},
  'Grootheid': {'Code': 'Fp',
   'Omschrijving': 'Golffrequentie bij maximum v.h. variantiedichtheidspectrum'},
  'Hoedanigheid': {'Code': 'F003-050',
   'Omschrijving': 'golffrequentie tussen 30 en 500 mHz'},
  'Parameter_Wat_Omschrijving': 'Golffrequentie bij maximum v.h. variantiedichtheidspectrum Oppervlaktewater golffrequentie tussen 30 en 500 mHz in mHz'},
 {'AquoMetadata_MessageID': 46,
  'Eenheid': {'Code': 'm/s', 'Omschrijving': 'meter per seconde'},
  'Grootheid': {'Code': 'SSV10w1', 'Omschrijving': 'Stroomsnelheid laag 1'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Stroomsnelheid laag 1 Oppervlaktewater m/s'},
 {'AquoMetadata_MessageID': 47,
  'Eenheid': {'Code': 'm/s', 'Omschrijving': 'meter per seconde'},
  'Grootheid': {'Code': 'SSV10w3', 'Omschrijving': 'Stroomsnelheid laag 3'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Stroomsnelheid laag 3 Oppervlaktewater m/s'},
 {'AquoMetadata_MessageID': 48,
  'Eenheid': {'Code': 'm/s', 'Omschrijving': 'meter per seconde'},
  'Grootheid': {'Code': 'SSV10w2', 'Omschrijving': 'Stroomsnelheid laag 2'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Stroomsnelheid laag 2 Oppervlaktewater m/s'},
 {'AquoMetadata_MessageID': 49,
  'Eenheid': {'Code': 'graad', 'Omschrijving': 'graad'},
  'Grootheid': {'Code': 'WINDRTG', 'Omschrijving': 'Windrichting'},
  'Hoedanigheid': {'Code': 'WARNDN', 'Omschrijving': 't.o.v. ware Noorden'},
  'Parameter_Wat_Omschrijving': 'Windrichting Lucht t.o.v. ware Noorden in graad'},
 {'AquoMetadata_MessageID': 50,
  'Eenheid': {'Code': 'm/s', 'Omschrijving': 'meter per seconde'},
  'Grootheid': {'Code': 'WINDSHD', 'Omschrijving': 'Windsnelheid'},
  'Hoedanigheid': {'Code': 'MSL', 'Omschrijving': 't.o.v. Mean Sea Level'},
  'Parameter_Wat_Omschrijving': 'Windsnelheid Lucht t.o.v. Mean Sea Level in m/s'},
 {'AquoMetadata_MessageID': 51,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'Hmax',
   'Omschrijving': 'Maximale golfhoogte in het tijdsdomein'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Maximale golfhoogte in het tijdsdomein Oppervlaktewater cm'},
 {'AquoMetadata_MessageID': 52,
  'Eenheid': {'Code': 'DIMSLS', 'Omschrijving': 'dimensieloos'},
  'Grootheid': {'Code': 'AV10_H',
   'Omschrijving': 'Aantal vrijheidsgraden bij het variantiedichtheidspectrum'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Aantal vrijheidsgraden bij het variantiedichtheidspectrum Oppervlaktewater '},
 {'AquoMetadata_MessageID': 53,
  'Eenheid': {'Code': 'DIMSLS', 'Omschrijving': 'dimensieloos'},
  'Grootheid': {'Code': 'AV10_R',
   'Omschrijving': 'Aantal vrijheidsgraden behorend bij het golfrichtingspectrum'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Aantal vrijheidsgraden behorend bij het golfrichtingspectrum Oppervlaktewater '},
 {'AquoMetadata_MessageID': 54,
  'Eenheid': {'Code': 's', 'Omschrijving': 'seconde'},
  'Grootheid': {'Code': 'SPGT',
   'Omschrijving': 'Standaardafwijking van de golfperiode in het tijdsdomein'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Standaardafwijking van de golfperiode in het tijdsdomein Oppervlaktewater s'},
 {'AquoMetadata_MessageID': 55,
  'Eenheid': {'Code': 's', 'Omschrijving': 'seconde'},
  'Grootheid': {'Code': 'T_Hmax',
   'Omschrijving': 'Golfperiode die hoort bij Hmax'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Golfperiode die hoort bij Hmax Oppervlaktewater s'},
 {'AquoMetadata_MessageID': 56,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'WATHTE', 'Omschrijving': 'Waterhoogte'},
  'Hoedanigheid': {'Code': 'PLAATSLR',
   'Omschrijving': 't.o.v. plaatselijk referentievlak'},
  'Parameter_Wat_Omschrijving': 'Waterhoogte Oppervlaktewater t.o.v. plaatselijk referentievlak in cm'},
 {'AquoMetadata_MessageID': 57,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'WATHTEASTRO',
   'Omschrijving': 'Waterhoogte astronomisch'},
  'Hoedanigheid': {'Code': 'NAP',
   'Omschrijving': 't.o.v. Normaal Amsterdams Peil'},
  'Parameter_Wat_Omschrijving': 'Waterhoogte astronomisch Oppervlaktewater t.o.v. Normaal Amsterdams Peil in cm'},
 {'AquoMetadata_MessageID': 58,
  'Eenheid': {'Code': 'graad', 'Omschrijving': 'graad'},
  'Grootheid': {'Code': 'WINDRTGVERWACHT',
   'Omschrijving': 'Windrichting verwacht'},
  'Hoedanigheid': {'Code': 'WARNDN', 'Omschrijving': 't.o.v. ware Noorden'},
  'Parameter_Wat_Omschrijving': 'Windrichting verwacht Lucht t.o.v. ware Noorden in graad'},
 {'AquoMetadata_MessageID': 59,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'H1/3V',
   'Omschrijving': 'Gem. hoogte van hoogste 1/3 deel v.d. golven (tijdsdomein) verwacht'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Gem. hoogte van hoogste 1/3 deel v.d. golven (tijdsdomein) verwacht Oppervlaktewater cm'},
 {'AquoMetadata_MessageID': 60,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'HTE3V',
   'Omschrijving': 'Significante deiningshoogte in het spectrale domein verwacht'},
  'Hoedanigheid': {'Code': 'F003-010',
   'Omschrijving': 'golffrequentie tussen 30 en 100 mHz'},
  'Parameter_Wat_Omschrijving': 'Significante deiningshoogte in het spectrale domein verwacht Oppervlaktewater golffrequentie tussen 30 en 100 mHz in cm'},
 {'AquoMetadata_MessageID': 61,
  'Eenheid': {'Code': 'm/s', 'Omschrijving': 'meter per seconde'},
  'Grootheid': {'Code': 'WINDSHD', 'Omschrijving': 'Windsnelheid'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Windsnelheid Lucht m/s'},
 {'AquoMetadata_MessageID': 62,
  'Eenheid': {'Code': 'm/s', 'Omschrijving': 'meter per seconde'},
  'Grootheid': {'Code': 'WINDSHDVERWACHT',
   'Omschrijving': 'Windsnelheid verwacht'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Windsnelheid verwacht Lucht m/s'},
 {'AquoMetadata_MessageID': 63,
  'Eenheid': {'Code': 'ug/l', 'Omschrijving': 'microgram per liter'},
  'Grootheid': {'Code': 'CONCTTE', 'Omschrijving': '(massa)Concentratie'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': '(massa)Concentratie som 4-nonylfenol-isomeren (vertakt) in Oppervlaktewater ug/l'},
 {'AquoMetadata_MessageID': 64,
  'Eenheid': {'Code': 'ug/l', 'Omschrijving': 'microgram per liter'},
  'Grootheid': {'Code': 'CONCTTE', 'Omschrijving': '(massa)Concentratie'},
  'Hoedanigheid': {'Code': 'nf',
   'Omschrijving': 'opgeloste fractie (bijv. na filtratie)'},
  'Parameter_Wat_Omschrijving': '(massa)Concentratie titaan in Oppervlaktewater opgeloste fractie (bijv. na filtratie) in ug/l'},
 {'AquoMetadata_MessageID': 65,
  'Eenheid': {'Code': 'ng/l', 'Omschrijving': 'nanogram per liter'},
  'Grootheid': {'Code': 'CONCTTE', 'Omschrijving': '(massa)Concentratie'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': '(massa)Concentratie tributyltin (kation) in Oppervlaktewater ng/l'},
 {'AquoMetadata_MessageID': 66,
  'Eenheid': {'Code': '%', 'Omschrijving': 'procent'},
  'Grootheid': {'Code': 'MASSFTE', 'Omschrijving': 'Massafractie'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Massafractie Gloeirest in Oppervlaktewater %'},
 {'AquoMetadata_MessageID': 67,
  'Eenheid': {'Code': 'mg/l', 'Omschrijving': 'milligram per liter'},
  'Grootheid': {'Code': 'CONCTTE', 'Omschrijving': '(massa)Concentratie'},
  'Hoedanigheid': {'Code': 'Npg',
   'Omschrijving': 'uitgedrukt in Stikstof particulair gebonden'},
  'Parameter_Wat_Omschrijving': '(massa)Concentratie stikstof totaal in Oppervlaktewater uitgedrukt in Stikstof particulair gebonden in mg/l'},
 {'AquoMetadata_MessageID': 68,
  'Eenheid': {'Code': 'cm2', 'Omschrijving': 'vierkante centimeter'},
  'Grootheid': {'Code': 'TE',
   'Omschrijving': 'Golfenergie in het spectrale domein'},
  'Hoedanigheid': {'Code': 'F003-050',
   'Omschrijving': 'golffrequentie tussen 30 en 500 mHz'},
  'Parameter_Wat_Omschrijving': 'Golfenergie in het spectrale domein Oppervlaktewater golffrequentie tussen 30 en 500 mHz in cm2'},
 {'AquoMetadata_MessageID': 69,
  'Eenheid': {'Code': 'graad', 'Omschrijving': 'graad'},
  'Grootheid': {'Code': 'Th3',
   'Omschrijving': 'Gem. richting deining tov ware noorden in spectrale domein'},
  'Hoedanigheid': {'Code': 'WARNDN', 'Omschrijving': 't.o.v. ware Noorden'},
  'Parameter_Wat_Omschrijving': 'Gem. richting deining tov ware noorden in spectrale domein Oppervlaktewater t.o.v. ware Noorden in graad'},
 {'AquoMetadata_MessageID': 70,
  'Eenheid': {'Code': 'cm2', 'Omschrijving': 'vierkante centimeter'},
  'Grootheid': {'Code': 'TE3V',
   'Omschrijving': 'Deiningsenergie in het spectrale domein verwacht'},
  'Hoedanigheid': {'Code': 'F003-010',
   'Omschrijving': 'golffrequentie tussen 30 en 100 mHz'},
  'Parameter_Wat_Omschrijving': 'Deiningsenergie in het spectrale domein verwacht Oppervlaktewater golffrequentie tussen 30 en 100 mHz in cm2'},
 {'AquoMetadata_MessageID': 71,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'WATHTE', 'Omschrijving': 'Waterhoogte'},
  'Hoedanigheid': {'Code': 'NAP',
   'Omschrijving': 't.o.v. Normaal Amsterdams Peil'},
  'Parameter_Wat_Omschrijving': 'Waterhoogte Oppervlaktewater t.o.v. Normaal Amsterdams Peil in cm'},
 {'AquoMetadata_MessageID': 72,
  'Eenheid': {'Code': 'n/l', 'Omschrijving': 'exemplaren per liter'},
  'Grootheid': {'Code': 'AANTPVLME', 'Omschrijving': 'Aantal per volume'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': "Aantal per volume Thermotolerante Coli's (incubatie bij 44 C) in Oppervlaktewater n/l"},
 {'AquoMetadata_MessageID': 73,
  'Eenheid': {'Code': 'ug/kg', 'Omschrijving': 'microgram per kilogram'},
  'Grootheid': {'Code': 'MASSFTE', 'Omschrijving': 'Massafractie'},
  'Hoedanigheid': {'Code': 'Sndg',
   'Omschrijving': 'uitgedrukt in Tin / drooggewicht'},
  'Parameter_Wat_Omschrijving': 'Massafractie tributyltin (kation) in Zwevende stof uitgedrukt in Tin / drooggewicht in ug/kg'},
 {'AquoMetadata_MessageID': 74,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'Hm0',
   'Omschrijving': 'Significante golfhoogte in het spectrale domein'},
  'Hoedanigheid': {'Code': 'F003-050',
   'Omschrijving': 'golffrequentie tussen 30 en 500 mHz'},
  'Parameter_Wat_Omschrijving': 'Significante golfhoogte in het spectrale domein Oppervlaktewater golffrequentie tussen 30 en 500 mHz in cm'},
 {'AquoMetadata_MessageID': 75,
  'Eenheid': {'Code': 'm/s', 'Omschrijving': 'meter per seconde'},
  'Grootheid': {'Code': 'SSV10w2G',
   'Omschrijving': 'Stroomsnelheid loodrecht laag 2'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Stroomsnelheid loodrecht laag 2 Oppervlaktewater m/s'},
 {'AquoMetadata_MessageID': 76,
  'Eenheid': {'Code': 'S/m', 'Omschrijving': 'siemens per meter'},
  'Grootheid': {'Code': 'GELDHD', 'Omschrijving': 'Geleidendheid'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Geleidendheid Oppervlaktewater S/m'},
 {'AquoMetadata_MessageID': 77,
  'Eenheid': {'Code': 'cm2', 'Omschrijving': 'vierkante centimeter'},
  'Grootheid': {'Code': 'TE',
   'Omschrijving': 'Golfenergie in het spectrale domein'},
  'Hoedanigheid': {'Code': 'F010-020',
   'Omschrijving': 'golffrequentie tussen 100 en 200 mHz'},
  'Parameter_Wat_Omschrijving': 'Golfenergie in het spectrale domein Oppervlaktewater golffrequentie tussen 100 en 200 mHz in cm2'},
 {'AquoMetadata_MessageID': 78,
  'Eenheid': {'Code': 'graad', 'Omschrijving': 'graad'},
  'Grootheid': {'Code': 'S0BH',
   'Omschrijving': 'Gemiddelde golfrichtingspreiding in het spectrale domein'},
  'Hoedanigheid': {'Code': 'F003-050',
   'Omschrijving': 'golffrequentie tussen 30 en 500 mHz'},
  'Parameter_Wat_Omschrijving': 'Gemiddelde golfrichtingspreiding in het spectrale domein Oppervlaktewater golffrequentie tussen 30 en 500 mHz in graad'},
 {'AquoMetadata_MessageID': 79,
  'Eenheid': {'Code': 'cm2', 'Omschrijving': 'vierkante centimeter'},
  'Grootheid': {'Code': 'TE',
   'Omschrijving': 'Golfenergie in het spectrale domein'},
  'Hoedanigheid': {'Code': 'F050-100',
   'Omschrijving': 'golffrequentie tussen 500 en 1000 mHz'},
  'Parameter_Wat_Omschrijving': 'Golfenergie in het spectrale domein Oppervlaktewater golffrequentie tussen 500 en 1000 mHz in cm2'},
 {'AquoMetadata_MessageID': 80,
  'Eenheid': {'Code': 'graad', 'Omschrijving': 'graad'},
  'Grootheid': {'Code': 'Th3V',
   'Omschrijving': 'Gem. richting deining tov ware noorden in spectrale domein verwacht'},
  'Hoedanigheid': {'Code': 'F003-010',
   'Omschrijving': 'golffrequentie tussen 30 en 100 mHz'},
  'Parameter_Wat_Omschrijving': 'Gem. richting deining tov ware noorden in spectrale domein verwacht Oppervlaktewater golffrequentie tussen 30 en 100 mHz in graad'},
 {'AquoMetadata_MessageID': 81,
  'Eenheid': {'Code': 'm3/s', 'Omschrijving': 'kubieke meter per seconde'},
  'Grootheid': {'Code': 'QVERWACHT', 'Omschrijving': 'Debiet verwacht'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Debiet verwacht Oppervlaktewater m3/s'},
 {'AquoMetadata_MessageID': 82,
  'Eenheid': {'Code': 'graad', 'Omschrijving': 'graad'},
  'Grootheid': {'Code': 'Th0',
   'Omschrijving': 'Gemiddelde golfrichting in het spectrale domein'},
  'Hoedanigheid': {'Code': 'WARNDN', 'Omschrijving': 't.o.v. ware Noorden'},
  'Parameter_Wat_Omschrijving': 'Gemiddelde golfrichting in het spectrale domein Oppervlaktewater t.o.v. ware Noorden in graad'},
 {'AquoMetadata_MessageID': 83,
  'Eenheid': {'Code': 's', 'Omschrijving': 'seconde'},
  'Grootheid': {'Code': 'Tm02',
   'Omschrijving': 'Golfperiode bepaald uit de spectrale momenten m0 en m2'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Golfperiode bepaald uit de spectrale momenten m0 en m2 Oppervlaktewater s'},
 {'AquoMetadata_MessageID': 84,
  'Eenheid': {'Code': 'mg/l', 'Omschrijving': 'milligram per liter'},
  'Grootheid': {'Code': 'HH', 'Omschrijving': 'Hardheid'},
  'Hoedanigheid': {'Code': 'CaCO3',
   'Omschrijving': 'uitgedrukt in Calciumcarbonaat'},
  'Parameter_Wat_Omschrijving': 'Hardheid Oppervlaktewater uitgedrukt in Calciumcarbonaat in mg/l'},
 {'AquoMetadata_MessageID': 85,
  'Eenheid': {'Code': 'DIMSLS', 'Omschrijving': 'dimensieloos'},
  'Grootheid': {'Code': 'GEURVDNFTR', 'Omschrijving': 'Geurverdunningsfactor'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Geurverdunningsfactor Oppervlaktewater '},
 {'AquoMetadata_MessageID': 86,
  'Eenheid': {'Code': 'Hz', 'Omschrijving': 'hertz'},
  'Grootheid': {'Code': 'Fp',
   'Omschrijving': 'Golffrequentie bij maximum v.h. variantiedichtheidspectrum'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Golffrequentie bij maximum v.h. variantiedichtheidspectrum Oppervlaktewater Hz'},
 {'AquoMetadata_MessageID': 87,
  'Eenheid': {'Code': 'mg/l', 'Omschrijving': 'milligram per liter'},
  'Grootheid': {'Code': 'CONCTTE', 'Omschrijving': '(massa)Concentratie'},
  'Hoedanigheid': {'Code': 'nf',
   'Omschrijving': 'opgeloste fractie (bijv. na filtratie)'},
  'Parameter_Wat_Omschrijving': '(massa)Concentratie sulfaat in Oppervlaktewater opgeloste fractie (bijv. na filtratie) in mg/l'},
 {'AquoMetadata_MessageID': 88,
  'Eenheid': {'Code': 'g/kg', 'Omschrijving': 'gram per kilogram'},
  'Grootheid': {'Code': 'MASSFTE', 'Omschrijving': 'Massafractie'},
  'Hoedanigheid': {'Code': 'dg', 'Omschrijving': 't.o.v. drooggewicht'},
  'Parameter_Wat_Omschrijving': 'Massafractie ijzer in Zwevende stof t.o.v. drooggewicht in g/kg'},
 {'AquoMetadata_MessageID': 89,
  'Eenheid': {'Code': 'dm', 'Omschrijving': 'decimeter'},
  'Grootheid': {'Code': 'ZICHT', 'Omschrijving': 'Doorzicht'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Doorzicht Oppervlaktewater dm'},
 {'AquoMetadata_MessageID': 90,
  'Eenheid': {'Code': 'mg/l', 'Omschrijving': 'milligram per liter'},
  'Grootheid': {'Code': 'CONCTTE', 'Omschrijving': '(massa)Concentratie'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': '(massa)Concentratie som methyleenblauwactieve stoffen anionactief in Oppervlaktewater mg/l'},
 {'AquoMetadata_MessageID': 91,
  'Eenheid': {'Code': 'mS/m', 'Omschrijving': 'millisiemens per meter'},
  'Grootheid': {'Code': 'GELDHD', 'Omschrijving': 'Geleidendheid'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Geleidendheid Oppervlaktewater mS/m'},
 {'AquoMetadata_MessageID': 92,
  'Eenheid': {'Code': 'graad', 'Omschrijving': 'graad'},
  'Grootheid': {'Code': 'SRV10w1', 'Omschrijving': 'Stroomrichting laag 1'},
  'Hoedanigheid': {'Code': 'WARNDN', 'Omschrijving': 't.o.v. ware Noorden'},
  'Parameter_Wat_Omschrijving': 'Stroomrichting laag 1 Oppervlaktewater t.o.v. ware Noorden in graad'},
 {'AquoMetadata_MessageID': 93,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'H1/10',
   'Omschrijving': 'Gem. hoogte van hoogste 1/10 deel v.d. golven (tijdsdomein)'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Gem. hoogte van hoogste 1/10 deel v.d. golven (tijdsdomein) Oppervlaktewater cm'},
 {'AquoMetadata_MessageID': 94,
  'Eenheid': {'Code': 'cm2', 'Omschrijving': 'vierkante centimeter'},
  'Grootheid': {'Code': 'TE',
   'Omschrijving': 'Golfenergie in het spectrale domein'},
  'Hoedanigheid': {'Code': 'F020-100',
   'Omschrijving': 'golffrequentie tussen 200 en 1000 mHz'},
  'Parameter_Wat_Omschrijving': 'Golfenergie in het spectrale domein Oppervlaktewater golffrequentie tussen 200 en 1000 mHz in cm2'},
 {'AquoMetadata_MessageID': 95,
  'Eenheid': {'Code': 'graad', 'Omschrijving': 'graad'},
  'Grootheid': {'Code': 'Th3',
   'Omschrijving': 'Gem. richting deining tov ware noorden in spectrale domein'},
  'Hoedanigheid': {'Code': 'F003-010',
   'Omschrijving': 'golffrequentie tussen 30 en 100 mHz'},
  'Parameter_Wat_Omschrijving': 'Gem. richting deining tov ware noorden in spectrale domein Oppervlaktewater golffrequentie tussen 30 en 100 mHz in graad'},
 {'AquoMetadata_MessageID': 96,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'WATHTEVERWACHT',
   'Omschrijving': 'Waterhoogte verwacht'},
  'Hoedanigheid': {'Code': 'NAP',
   'Omschrijving': 't.o.v. Normaal Amsterdams Peil'},
  'Parameter_Wat_Omschrijving': 'Waterhoogte verwacht Oppervlaktewater t.o.v. Normaal Amsterdams Peil in cm'},
 {'AquoMetadata_MessageID': 97,
  'Eenheid': {'Code': 's', 'Omschrijving': 'seconde'},
  'Grootheid': {'Code': 'T1/3V',
   'Omschrijving': 'Gem. golfperiode langste 1/3 deel v.d. golven (tijdsdomein) verwacht'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Gem. golfperiode langste 1/3 deel v.d. golven (tijdsdomein) verwacht Oppervlaktewater s'},
 {'AquoMetadata_MessageID': 98,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'WATHTE', 'Omschrijving': 'Waterhoogte'},
  'Hoedanigheid': {'Code': 'TAW',
   'Omschrijving': 't.o.v. Tweede Algemene Waterpassing'},
  'Parameter_Wat_Omschrijving': 'Waterhoogte Oppervlaktewater t.o.v. Tweede Algemene Waterpassing in cm'},
 {'AquoMetadata_MessageID': 99,
  'Eenheid': {'Code': 'graad', 'Omschrijving': 'graad'},
  'Grootheid': {'Code': 'STROOMRTG', 'Omschrijving': 'Stroomrichting'},
  'Hoedanigheid': {'Code': 'WARNDN', 'Omschrijving': 't.o.v. ware Noorden'},
  'Parameter_Wat_Omschrijving': 'Stroomrichting Oppervlaktewater t.o.v. ware Noorden in graad'},
 {'AquoMetadata_MessageID': 100,
  'Eenheid': {'Code': 'mg/kg', 'Omschrijving': 'milligram per kilogram'},
  'Grootheid': {'Code': 'MASSFTE', 'Omschrijving': 'Massafractie'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Massafractie aluminium in Zwevende stof mg/kg'},
 {'AquoMetadata_MessageID': 101,
  'Eenheid': {'Code': 'DIMSLS', 'Omschrijving': 'dimensieloos'},
  'Grootheid': {'Code': 'SALNTT', 'Omschrijving': 'Saliniteit'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Saliniteit Oppervlaktewater '},
 {'AquoMetadata_MessageID': 102,
  'Eenheid': {'Code': '%', 'Omschrijving': 'procent'},
  'Grootheid': {'Code': 'NVT',
   'Omschrijving': 'Waarde is niet van toepassing'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Chlorofyl-a in Oppervlaktewater %'},
 {'AquoMetadata_MessageID': 103,
  'Eenheid': {'Code': 'hPa', 'Omschrijving': 'hectopascal'},
  'Grootheid': {'Code': 'LUCHTDK', 'Omschrijving': 'Luchtdruk'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Luchtdruk Lucht hPa'},
 {'AquoMetadata_MessageID': 104,
  'Eenheid': {'Code': 'oC', 'Omschrijving': 'graad Celsius'},
  'Grootheid': {'Code': 'T', 'Omschrijving': 'Temperatuur'},
  'Hoedanigheid': {'Code': 'NAP',
   'Omschrijving': 't.o.v. Normaal Amsterdams Peil'},
  'Parameter_Wat_Omschrijving': 'Temperatuur Lucht t.o.v. Normaal Amsterdams Peil in oC'},
 {'AquoMetadata_MessageID': 105,
  'Eenheid': {'Code': 'm/s', 'Omschrijving': 'meter per seconde'},
  'Grootheid': {'Code': 'SSV10w1G',
   'Omschrijving': 'Stroomsnelheid loodrecht laag 1'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Stroomsnelheid loodrecht laag 1 Oppervlaktewater m/s'},
 {'AquoMetadata_MessageID': 106,
  'Eenheid': {'Code': 'm3/s', 'Omschrijving': 'kubieke meter per seconde'},
  'Grootheid': {'Code': 'Q', 'Omschrijving': 'Debiet'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Gemiddelde Debiet Oppervlaktewater m3/s'},
 {'AquoMetadata_MessageID': 107,
  'Eenheid': {'Code': 'm/s', 'Omschrijving': 'meter per seconde'},
  'Grootheid': {'Code': 'STROOMSHD', 'Omschrijving': 'Stroomsnelheid'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Stroomsnelheid Oppervlaktewater m/s'},
 {'AquoMetadata_MessageID': 108,
  'Eenheid': {'Code': 'm/s', 'Omschrijving': 'meter per seconde'},
  'Grootheid': {'Code': 'WINDSTOOT',
   'Omschrijving': 'Maximale 3" windstoot in de afgelopen 10 minuten'},
  'Hoedanigheid': {'Code': 'MSL', 'Omschrijving': 't.o.v. Mean Sea Level'},
  'Parameter_Wat_Omschrijving': 'Maximale 3" windstoot in de afgelopen 10 minuten Lucht t.o.v. Mean Sea Level in m/s'},
 {'AquoMetadata_MessageID': 109,
  'Eenheid': {'Code': 'cm2', 'Omschrijving': 'vierkante centimeter'},
  'Grootheid': {'Code': 'TE3',
   'Omschrijving': 'Deiningsenergie in het spectrale domein'},
  'Hoedanigheid': {'Code': 'F003-010',
   'Omschrijving': 'golffrequentie tussen 30 en 100 mHz'},
  'Parameter_Wat_Omschrijving': 'Deiningsenergie in het spectrale domein Oppervlaktewater golffrequentie tussen 30 en 100 mHz in cm2'},
 {'AquoMetadata_MessageID': 110,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'GGH',
   'Omschrijving': 'Gemiddelde golfhoogte in het tijdsdomein'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Gemiddelde golfhoogte in het tijdsdomein Oppervlaktewater cm'},
 {'AquoMetadata_MessageID': 111,
  'Eenheid': {'Code': 'cm2', 'Omschrijving': 'vierkante centimeter'},
  'Grootheid': {'Code': 'TE',
   'Omschrijving': 'Golfenergie in het spectrale domein'},
  'Hoedanigheid': {'Code': 'F020-050',
   'Omschrijving': 'golffrequentie tussen 200 en 500 mHz'},
  'Parameter_Wat_Omschrijving': 'Golfenergie in het spectrale domein Oppervlaktewater golffrequentie tussen 200 en 500 mHz in cm2'},
 {'AquoMetadata_MessageID': 112,
  'Eenheid': {'Code': 'cm', 'Omschrijving': 'centimeter'},
  'Grootheid': {'Code': 'HTE3',
   'Omschrijving': 'Significante deiningshoogte in het spectrale domein'},
  'Hoedanigheid': {'Code': 'NVT', 'Omschrijving': 'Niet van toepassing'},
  'Parameter_Wat_Omschrijving': 'Significante deiningshoogte in het spectrale domein Oppervlaktewater cm'}]

In [4]:
df = pd.DataFrame.from_dict(result['LocatieLijst'])
df = df.set_index('Code')
# note that there are two stations for IJmuiden. 
# The station was moved from the sluices to outside of the harbor in 1981.
ids = ['DELFZL', 'DENHDR', 'HARLGN', 'HOEKVHLD', 'IJMDBTHVN', 'IJMDNDSS', 'VLISSGN']

# make a copy so we can add things
stations_df = df.loc[ids].copy()
# this drops IJMDNSS
stations_df[['Naam', 'X', 'Y']]
stations_df


Out[4]:
Coordinatenstelsel Locatie_MessageID Naam X Y
Code
DELFZL 25831 84020 Delfzijl 761899.770960 5.915790e+06
DENHDR 25831 84011 Den Helder 617198.393684 5.869731e+06
HARLGN 25831 84096 Harlingen 661021.585505 5.894519e+06
HOEKVHLD 25831 72345 Hoek van Holland 576917.669784 5.759136e+06
IJMDBTHVN 25831 84132 IJmuiden buitenhaven 605633.035699 5.813598e+06
IJMDNDSS 25831 84560 IJmuiden Noordersluis 609033.673551 5.814221e+06
VLISSGN 25831 84387 Vlissingen 541425.983215 5.699182e+06

In [5]:
locaties_df = pd.DataFrame.from_dict(result['LocatieLijst'])
metadata_locaties_df = pd.DataFrame.from_dict(result['AquoMetadataLocatieLijst'])
metadata_df = pd.DataFrame.from_dict(result['AquoMetadataLijst'])

In [6]:
dfs = [locaties_df, metadata_locaties_df, metadata_df]
for df in dfs:
    df.columns = [x.lower() for x in df.columns]
merged_df = functools.reduce(
    lambda left, right: pd.merge(left, right), 
    dfs
)

In [7]:
xyz_web_list = src2dst.TransformPoints(np.c_[merged_df.x, merged_df.y])
xyz_web = np.array(xyz_web_list)
merged_df['x_web'] = xyz_web[:, 0]
merged_df['y_web'] = xyz_web[:, 1]

In [8]:
idx = merged_df['grootheid'].apply(lambda x: x['Omschrijving'] == 'Saliniteit')
salinity_stations = merged_df[idx]
idx = merged_df['grootheid'].apply(lambda x: x['Omschrijving'] == 'Debiet')
discharge_stations = merged_df[idx]
idx = merged_df['grootheid'].apply(lambda x: x['Omschrijving'] == 'Waterhoogte')
sea_surface_level_stations = merged_df[idx]

In [9]:
fig, ax = plt.subplots(figsize=(13, 10))
ax.plot(merged_df.x, merged_df.y, 'w.')
ax.plot(salinity_stations.x, salinity_stations.y, 'r.', alpha=0.3, markersize=10)
ax.plot(discharge_stations.x, discharge_stations.y, 'ko', alpha=0.3, markersize=5)
ax.plot(sea_surface_level_stations.x, sea_surface_level_stations.y, 'b.', alpha=0.8, markersize=1)

ax.axis('equal')
ax.set_xlim(salinity_stations.x.min(), salinity_stations.x.max())
ax.set_ylim(salinity_stations.y.min(), salinity_stations.y.max() - 100000)


Out[9]:
(5628778.4661693703, 6013888.4171688901)

In [10]:
# list of all quantities
set(merged_df['grootheid'].apply(lambda x: x['Omschrijving']))


Out[10]:
{'(massa)Concentratie',
 'Aantal per volume',
 'Debiet',
 'Deiningsenergie in het spectrale domein',
 'Doorzicht',
 'Geleidendheid',
 'Gem. golfperiode langste 1/3 deel v.d. golven (tijdsdomein)',
 'Gem. hoogte van hoogste 1/3 deel v.d. golven (tijdsdomein)',
 'Gem. richting deining tov ware noorden in spectrale domein',
 'Gemiddelde golfrichting in het spectrale domein',
 'Geurverdunningsfactor',
 'Golffrequentie bij maximum v.h. variantiedichtheidspectrum',
 'Golfperiode bepaald uit de spectrale momenten m0 en m2',
 'Hardheid',
 'Korrelgroottefractie',
 'Luchtdruk',
 'Massafractie',
 'Meteorologisch zicht',
 'Saliniteit',
 'Significante deiningshoogte in het spectrale domein',
 'Significante golfhoogte in het spectrale domein',
 'Stroomrichting',
 'Stroomsnelheid',
 'Temperatuur',
 'Verzadigingsgraad',
 'Waarde is niet van toepassing',
 'Waterhoogte',
 'Waterhoogte berekend',
 'Windrichting',
 'Windsnelheid',
 'Zuurgraad',
 'gem. golfperiode hoogste 1/3 deel golven'}

In [12]:
import bokeh.plotting 
import bokeh.io
import bokeh.tile_providers


bokeh.io.output_notebook()

from bokeh.models import HoverTool

sources = []
for df in [salinity_stations, discharge_stations, sea_surface_level_stations]:
    source = bokeh.plotting.ColumnDataSource(data=dict(
        x=df['x_web'],
        y=df['y_web'],
        desc=df.code,
        quantity=df.grootheid.apply(lambda x: x['Omschrijving'])
    ))
    sources.append(source)

hover = HoverTool(tooltips=[
    ("index", "$index"),
    ("(x,y)", "($x, $y)"),
    ("desc", "@desc: @quantity"),
])

p = bokeh.plotting.figure(
    plot_width=800, plot_height=900,
    # match_aspect=True,
    title="Mouse over the dots"
)
p.add_tile(bokeh.tile_providers.CARTODBPOSITRON_RETINA)
p.add_tools(hover)
colors = ['red', 'blue', 'black']
for source, color in zip(sources, colors):
    p.circle('x', 'y', size=5, source=source, line_color=color, alpha=0.3)

p.x_range.start = salinity_stations.x_web.min()
p.x_range.end = salinity_stations.x_web.max()
p.y_range.start = salinity_stations.y_web.min()
p.y_range.end = salinity_stations.y_web.max() - 100000

bokeh.io.show(p)


Loading BokehJS ...

In [14]:
merged_df[merged_df.code == 'BRIENOD']
merged_df[merged_df.code == 'HOEKVHLD']


Out[14]:
code coordinatenstelsel locatie_messageid naam x y aquometadata_messageid eenheid grootheid hoedanigheid parameter_wat_omschrijving x_web y_web
1679 HOEKVHLD 25831 72345 Hoek van Holland 576917.669784 5.759136e+06 89 {'Omschrijving': 'decimeter', 'Code': 'dm'} {'Omschrijving': 'Doorzicht', 'Code': 'ZICHT'} {'Omschrijving': 'Niet van toepassing', 'Code'... Doorzicht Oppervlaktewater dm 458623.046251 6.796072e+06
3405 HOEKVHLD 25831 72345 Hoek van Holland 576917.669784 5.759136e+06 64 {'Omschrijving': 'microgram per liter', 'Code'... {'Omschrijving': '(massa)Concentratie', 'Code'... {'Omschrijving': 'opgeloste fractie (bijv. na ... (massa)Concentratie titaan in Oppervlaktewater... 458623.046251 6.796072e+06
4354 HOEKVHLD 25831 72345 Hoek van Holland 576917.669784 5.759136e+06 41 {'Omschrijving': 'milligram per liter', 'Code'... {'Omschrijving': '(massa)Concentratie', 'Code'... {'Omschrijving': 'uitgedrukt in stikstof / opg... (massa)Concentratie som nitraat en nitriet in ... 458623.046251 6.796072e+06
5201 HOEKVHLD 25831 72345 Hoek van Holland 576917.669784 5.759136e+06 101 {'Omschrijving': 'dimensieloos', 'Code': 'DIMS... {'Omschrijving': 'Saliniteit', 'Code': 'SALNTT'} {'Omschrijving': 'Niet van toepassing', 'Code'... Saliniteit Oppervlaktewater 458623.046251 6.796072e+06
5800 HOEKVHLD 25831 72345 Hoek van Holland 576917.669784 5.759136e+06 90 {'Omschrijving': 'milligram per liter', 'Code'... {'Omschrijving': '(massa)Concentratie', 'Code'... {'Omschrijving': 'Niet van toepassing', 'Code'... (massa)Concentratie som methyleenblauwactieve ... 458623.046251 6.796072e+06
6455 HOEKVHLD 25831 72345 Hoek van Holland 576917.669784 5.759136e+06 63 {'Omschrijving': 'microgram per liter', 'Code'... {'Omschrijving': '(massa)Concentratie', 'Code'... {'Omschrijving': 'Niet van toepassing', 'Code'... (massa)Concentratie som 4-nonylfenol-isomeren ... 458623.046251 6.796072e+06
7063 HOEKVHLD 25831 72345 Hoek van Holland 576917.669784 5.759136e+06 32 {'Omschrijving': 'graad Celsius', 'Code': 'oC'} {'Omschrijving': 'Temperatuur', 'Code': 'T'} {'Omschrijving': 'Niet van toepassing', 'Code'... Temperatuur Oppervlaktewater oC 458623.046251 6.796072e+06
7609 HOEKVHLD 25831 72345 Hoek van Holland 576917.669784 5.759136e+06 102 {'Omschrijving': 'procent', 'Code': '%'} {'Omschrijving': 'Waarde is niet van toepassin... {'Omschrijving': 'Niet van toepassing', 'Code'... Chlorofyl-a in Oppervlaktewater % 458623.046251 6.796072e+06
8857 HOEKVHLD 25831 72345 Hoek van Holland 576917.669784 5.759136e+06 71 {'Omschrijving': 'centimeter', 'Code': 'cm'} {'Omschrijving': 'Waterhoogte', 'Code': 'WATHTE'} {'Omschrijving': 't.o.v. Normaal Amsterdams Pe... Waterhoogte Oppervlaktewater t.o.v. Normaal Am... 458623.046251 6.796072e+06
10212 HOEKVHLD 25831 72345 Hoek van Holland 576917.669784 5.759136e+06 34 {'Omschrijving': 'centimeter', 'Code': 'cm'} {'Omschrijving': 'Waterhoogte berekend', 'Code... {'Omschrijving': 't.o.v. Normaal Amsterdams Pe... Waterhoogte berekend Oppervlaktewater t.o.v. N... 458623.046251 6.796072e+06

In [57]:
def get_series(row, start_time, end_time, validated=False):
    """get timeseries for a given row"""
    station = row

    ddl_data_url = 'https://waterwebservices.rijkswaterstaat.nl/ONLINEWAARNEMINGENSERVICES_DBO/OphalenWaarnemingen'
    request = {
        "AquoPlusWaarnemingMetadata": {
            "AquoMetadata": {
                "Grootheid": {
                    "Code": station.grootheid['Code']
                }
            }
        }, 
        "Locatie": {
            "X": station.x, 
            "Y": station.y, 
            "Code": station.code
        },
        "Periode": {
            "Begindatumtijd": start_time,
            "Einddatumtijd": end_time
        }
    }
    resp = requests.post(ddl_data_url, json=request)
    data = resp.json()
    if not data['Succesvol']:
        raise Exception(data['Foutmelding'])
    measurements = []
    metadata = {}
    for row in data['WaarnemingenLijst']:
        # metadata is specified per row, just update it so we have 1
        metadata.update(row['AquoMetadata'])
        # standard_name = AQUO2CF.get(row['AquoMetadata']['Grootheid']['Code'])
        # metadata['standard_name'] = standard_name
        metadata.update(row['Locatie'])
        for measurement in row['MetingenLijst']:
            # only add validated data if requested
            if validated and 'Gecontroleerd' not in measurement['WaarnemingMetadata']['StatuswaardeLijst']:
                continue
            measurements.append(measurement)
    
    timeseries = []
    for measurement in measurements:
        record = {}
        record['v'] = measurement['Meetwaarde']['Waarde_Numeriek']
        UTC = dateutil.tz.tzutc()
        # parse time
        date = dateutil.parser.parse(measurement['Tijdstip'])
        # convert to UTC
        record['t'] = date.astimezone(UTC)
        timeseries.append(record)
    timeseries_df = pd.DataFrame(timeseries)
    series = timeseries_df
    return {
        "timeseries": series,
        "metadata": metadata
    }

In [58]:
idx = np.logical_and(merged_df.code == 'BRIENOD', merged_df.grootheid.apply(lambda x: x['Code'] == 'SALNTT'))
salinity_station = merged_df[idx].iloc[0]
idx = np.logical_and(merged_df.code == 'BRIENOD', merged_df.grootheid.apply(lambda x: x['Code'] == 'Q'))
discharge_station = merged_df[idx].iloc[0]

In [73]:
import datetime
import dateutil
import pytz
#start_time = datetime.datetime(2010, 1, 1, tzinfo=pytz.timezone('Europe/Amsterdam')).isoformat()
#end_time = datetime.datetime(2010, 1, 14, tzinfo=pytz.timezone('Europe/Amsterdam')).isoformat()
start_time = "2015-3-10T09:00:00.000+01:00"
end_time = "2015-3-14T10:10:00.000+01:00"
series = []
for station in [salinity_station, discharge_station]:
    df = get_series(station, start_time=start_time, end_time=end_time)
    series.append(df['timeseries'])


---------------------------------------------------------------------------
Exception                                 Traceback (most recent call last)
<ipython-input-73-85aadb25739b> in <module>()
      8 series = []
      9 for station in [salinity_station, discharge_station]:
---> 10     df = get_series(station, start_time=start_time, end_time=end_time)
     11     series.append(df['timeseries'])

<ipython-input-57-59962a788df0> in get_series(row, start_time, end_time, validated)
     25     data = resp.json()
     26     if not data['Succesvol']:
---> 27         raise Exception(data['Foutmelding'])
     28     measurements = []
     29     metadata = {}

Exception: Geen gegevens gevonden!

In [72]:
series[0].head(), series[1].head()


Out[72]:
(                          t        v
 0 2015-03-10 08:00:00+00:00  1307.74
 1 2015-03-10 08:10:00+00:00  1455.07
 2 2015-03-10 08:20:00+00:00  1581.15
 3 2015-03-10 08:30:00+00:00  1696.96
 4 2015-03-10 08:40:00+00:00  1806.10,                           t        v
 0 2015-03-10 08:00:00+00:00  1307.74
 1 2015-03-10 08:10:00+00:00  1455.07
 2 2015-03-10 08:20:00+00:00  1581.15
 3 2015-03-10 08:30:00+00:00  1696.96
 4 2015-03-10 08:40:00+00:00  1806.10)

In [111]:
stations = [salinity_station, discharge_station]
request = {
    "AquoMetadataLijst" : [
       {
        "Grootheid": stations[0].grootheid
       }
    ], 
    "Groeperingsperiode" : "Maand", 
    "LocatieLijst" : [
        {"X" : station.x,"Y" : station.y, "Code": station.code}
        for station
        in stations[:1]
    ], 
    "Periode" : {
        "Begindatumtijd" : "2010-01-16T14:00:00.000+01:00",
        "Einddatumtijd" : "2014-09-16T16:00:00.000+01:00"
    }
}
ddl_available_url = 'https://waterwebservices.rijkswaterstaat.nl/ONLINEWAARNEMINGENSERVICES_DBO/OphalenAantalWaarnemingen'
resp = requests.post(ddl_available_url, json=request)

resp
result = resp.json()


---------------------------------------------------------------------------
JSONDecodeError                           Traceback (most recent call last)
<ipython-input-111-55282deb4c6e> in <module>()
     21 
     22 resp
---> 23 result = resp.json()

~/.virtualenvs/main/lib/python3.5/site-packages/requests/models.py in json(self, **kwargs)
    890                     # used.
    891                     pass
--> 892         return complexjson.loads(self.text, **kwargs)
    893 
    894     @property

~/.virtualenvs/main/lib/python3.5/site-packages/simplejson/__init__.py in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, use_decimal, **kw)
    514             parse_constant is None and object_pairs_hook is None
    515             and not use_decimal and not kw):
--> 516         return _default_decoder.decode(s)
    517     if cls is None:
    518         cls = JSONDecoder

~/.virtualenvs/main/lib/python3.5/site-packages/simplejson/decoder.py in decode(self, s, _w, _PY3)
    368         if _PY3 and isinstance(s, binary_type):
    369             s = s.decode(self.encoding)
--> 370         obj, end = self.raw_decode(s)
    371         end = _w(s, end).end()
    372         if end != len(s):

~/.virtualenvs/main/lib/python3.5/site-packages/simplejson/decoder.py in raw_decode(self, s, idx, _w, _PY3)
    398             elif ord0 == 0xef and s[idx:idx + 3] == '\xef\xbb\xbf':
    399                 idx += 3
--> 400         return self.scan_once(s, idx=_w(s, idx).end())

JSONDecodeError: Expecting value: line 1 column 1 (char 0)

In [ ]:
resp.json()

In [101]:
stations[0]


Out[101]:
code                                                                    BRIENOD
coordinatenstelsel                                                        25831
locatie_messageid                                                         71402
naam                                              Brienenoord (kilometer 996.5)
x                                                                        604963
y                                                                     5.751e+06
aquometadata_messageid                                                      101
eenheid                       {'Omschrijving': 'dimensieloos', 'Code': 'DIMS...
grootheid                      {'Omschrijving': 'Saliniteit', 'Code': 'SALNTT'}
hoedanigheid                  {'Omschrijving': 'Niet van toepassing', 'Code'...
parameter_wat_omschrijving                         Saliniteit Oppervlaktewater 
x_web                                                                    503786
y_web                                                               6.78205e+06
Name: 5103, dtype: object

In [112]:
merged_df[merged_df.code.apply(lambda x:x.lower().startswith('lek'))]


Out[112]:
code coordinatenstelsel locatie_messageid naam x y aquometadata_messageid eenheid grootheid hoedanigheid parameter_wat_omschrijving x_web y_web
5149 LEK70 25831 86164 Lekhaven NAP -7.0m 598347.591178 5.751389e+06 101 {'Omschrijving': 'dimensieloos', 'Code': 'DIMS... {'Omschrijving': 'Saliniteit', 'Code': 'SALNTT'} {'Omschrijving': 'Niet van toepassing', 'Code'... Saliniteit Oppervlaktewater 493098.590028 6.782887e+06
5207 LEK50 25831 86161 Lekhaven NAP -5.0m 598347.591178 5.751389e+06 101 {'Omschrijving': 'dimensieloos', 'Code': 'DIMS... {'Omschrijving': 'Saliniteit', 'Code': 'SALNTT'} {'Omschrijving': 'Niet van toepassing', 'Code'... Saliniteit Oppervlaktewater 493098.590028 6.782887e+06
5266 LEK25 25831 86158 Lekhaven NAP -2.5m 598347.591178 5.751389e+06 101 {'Omschrijving': 'dimensieloos', 'Code': 'DIMS... {'Omschrijving': 'Saliniteit', 'Code': 'SALNTT'} {'Omschrijving': 'Niet van toepassing', 'Code'... Saliniteit Oppervlaktewater 493098.590028 6.782887e+06
5600 LEKHVRTOVR 25831 85687 Lekhaven rechter oever (kilometer 1005.2) 598349.768757 5.751338e+06 90 {'Omschrijving': 'milligram per liter', 'Code'... {'Omschrijving': '(massa)Concentratie', 'Code'... {'Omschrijving': 'Niet van toepassing', 'Code'... (massa)Concentratie som methyleenblauwactieve ... 493100.482715 6.782804e+06
5676 LEK70 25831 86164 Lekhaven NAP -7.0m 598347.591178 5.751389e+06 90 {'Omschrijving': 'milligram per liter', 'Code'... {'Omschrijving': '(massa)Concentratie', 'Code'... {'Omschrijving': 'Niet van toepassing', 'Code'... (massa)Concentratie som methyleenblauwactieve ... 493098.590028 6.782887e+06
5828 LEK50 25831 86161 Lekhaven NAP -5.0m 598347.591178 5.751389e+06 90 {'Omschrijving': 'milligram per liter', 'Code'... {'Omschrijving': '(massa)Concentratie', 'Code'... {'Omschrijving': 'Niet van toepassing', 'Code'... (massa)Concentratie som methyleenblauwactieve ... 493098.590028 6.782887e+06
5974 LEK25 25831 86158 Lekhaven NAP -2.5m 598347.591178 5.751389e+06 90 {'Omschrijving': 'milligram per liter', 'Code'... {'Omschrijving': '(massa)Concentratie', 'Code'... {'Omschrijving': 'Niet van toepassing', 'Code'... (massa)Concentratie som methyleenblauwactieve ... 493098.590028 6.782887e+06
6861 LEKHVRTOVR 25831 85687 Lekhaven rechter oever (kilometer 1005.2) 598349.768757 5.751338e+06 32 {'Omschrijving': 'graad Celsius', 'Code': 'oC'} {'Omschrijving': 'Temperatuur', 'Code': 'T'} {'Omschrijving': 'Niet van toepassing', 'Code'... Temperatuur Oppervlaktewater oC 493100.482715 6.782804e+06
6939 LEK70 25831 86164 Lekhaven NAP -7.0m 598347.591178 5.751389e+06 32 {'Omschrijving': 'graad Celsius', 'Code': 'oC'} {'Omschrijving': 'Temperatuur', 'Code': 'T'} {'Omschrijving': 'Niet van toepassing', 'Code'... Temperatuur Oppervlaktewater oC 493098.590028 6.782887e+06
7097 LEK50 25831 86161 Lekhaven NAP -5.0m 598347.591178 5.751389e+06 32 {'Omschrijving': 'graad Celsius', 'Code': 'oC'} {'Omschrijving': 'Temperatuur', 'Code': 'T'} {'Omschrijving': 'Niet van toepassing', 'Code'... Temperatuur Oppervlaktewater oC 493098.590028 6.782887e+06
7281 LEK25 25831 86158 Lekhaven NAP -2.5m 598347.591178 5.751389e+06 32 {'Omschrijving': 'graad Celsius', 'Code': 'oC'} {'Omschrijving': 'Temperatuur', 'Code': 'T'} {'Omschrijving': 'Niet van toepassing', 'Code'... Temperatuur Oppervlaktewater oC 493098.590028 6.782887e+06
10298 LEK70 25831 86164 Lekhaven NAP -7.0m 598347.591178 5.751389e+06 76 {'Omschrijving': 'siemens per meter', 'Code': ... {'Omschrijving': 'Geleidendheid', 'Code': 'GEL... {'Omschrijving': 'Niet van toepassing', 'Code'... Geleidendheid Oppervlaktewater S/m 493098.590028 6.782887e+06
10328 LEK50 25831 86161 Lekhaven NAP -5.0m 598347.591178 5.751389e+06 76 {'Omschrijving': 'siemens per meter', 'Code': ... {'Omschrijving': 'Geleidendheid', 'Code': 'GEL... {'Omschrijving': 'Niet van toepassing', 'Code'... Geleidendheid Oppervlaktewater S/m 493098.590028 6.782887e+06
10352 LEK25 25831 86158 Lekhaven NAP -2.5m 598347.591178 5.751389e+06 76 {'Omschrijving': 'siemens per meter', 'Code': ... {'Omschrijving': 'Geleidendheid', 'Code': 'GEL... {'Omschrijving': 'Niet van toepassing', 'Code'... Geleidendheid Oppervlaktewater S/m 493098.590028 6.782887e+06

In [ ]: