Retrieve DDL measurements#
[1]:
import matplotlib.pyplot as plt
import ddlpy
# enabling debug logging so we can see what happens in the background
import logging
logging.basicConfig()
logging.getLogger("ddlpy").setLevel(logging.DEBUG)
Get a list of all known locations#
The method locations gets a list of all known measurement locations by sending a request.
[2]:
locations = ddlpy.locations()
DEBUG:ddlpy.ddlpy:Requesting at https://waterwebservices.rijkswaterstaat.nl/METADATASERVICES_DBO/OphalenCatalogus with request: {"CatalogusFilter": {"Eenheden": true, "Grootheden": true, "Hoedanigheden": true, "Groeperingen": true, "Parameters": true, "Compartimenten": true}}
[3]:
locations.to_json(r'locations.json', orient='records')
[4]:
## also add code as a variable
locations['Code'] = locations.index
locations.head()
[4]:
Locatie_MessageID | Coordinatenstelsel | X | Y | Naam | Parameter_Wat_Omschrijving | Compartiment.Code | Compartiment.Omschrijving | Eenheid.Code | Eenheid.Omschrijving | Grootheid.Code | Grootheid.Omschrijving | Hoedanigheid.Code | Hoedanigheid.Omschrijving | Parameter.Code | Parameter.Omschrijving | Groepering.Code | Groepering.Omschrijving | Code | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Code | |||||||||||||||||||
ROTTMPT3 | 9486 | 25831 | 735924.084551 | 5.941073e+06 | Rottumerplaat 3 km uit de kust | Korrelgroottefractie Bodem/Sediment diameter g... | BS | Bodem/Sediment | % | procent | KGF | Korrelgroottefractie | Dg0016dg | diameter groter dan 16 um / drooggewicht | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | ROTTMPT3 |
SCHOUWN10 | 9510 | 25831 | 534120.858324 | 5.729921e+06 | Schouwen 10 km uit de kust | Korrelgroottefractie Bodem/Sediment diameter g... | BS | Bodem/Sediment | % | procent | KGF | Korrelgroottefractie | Dg0016dg | diameter groter dan 16 um / drooggewicht | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | SCHOUWN10 |
TERSLG235 | 9518 | 25831 | 509938.998556 | 6.113888e+06 | Terschelling 235 km uit de kust | Korrelgroottefractie Bodem/Sediment diameter g... | BS | Bodem/Sediment | % | procent | KGF | Korrelgroottefractie | Dg0016dg | diameter groter dan 16 um / drooggewicht | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | TERSLG235 |
WALCRN2 | 9526 | 25831 | 528394.396027 | 5.710854e+06 | Walcheren 2 km uit de kust | Korrelgroottefractie Bodem/Sediment diameter g... | BS | Bodem/Sediment | % | procent | KGF | Korrelgroottefractie | Dg0016dg | diameter groter dan 16 um / drooggewicht | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | WALCRN2 |
GOERE6 | 9542 | 25831 | 560056.490959 | 5.746818e+06 | Goeree 6 km uit de kust | Korrelgroottefractie Bodem/Sediment diameter g... | BS | Bodem/Sediment | % | procent | KGF | Korrelgroottefractie | Dg0016dg | diameter groter dan 16 um / drooggewicht | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | GOERE6 |
Validate#
Check if data is in the domain of the Netherlands. It also includes data of the North Sea.
[5]:
## Create a spatial plot
fig, ax = plt.subplots(figsize=(13, 8))
ax.plot(locations.X, locations.Y, 'k.')
[5]:
[<matplotlib.lines.Line2D at 0x1a1ca21bf50>]
[6]:
# CHECK See what the data in the east is.
# These is a reference river for water quality near Chernobyl.
locations.sort_values('X', ascending=False).head(n=5)
[6]:
Locatie_MessageID | Coordinatenstelsel | X | Y | Naam | Parameter_Wat_Omschrijving | Compartiment.Code | Compartiment.Omschrijving | Eenheid.Code | Eenheid.Omschrijving | Grootheid.Code | Grootheid.Omschrijving | Hoedanigheid.Code | Hoedanigheid.Omschrijving | Parameter.Code | Parameter.Omschrijving | Groepering.Code | Groepering.Omschrijving | Code | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Code | |||||||||||||||||||
RIEDBG | 11039 | 25831 | 1.133985e+06 | 5.460049e+06 | Riedenburg | Waterhoogte Oppervlaktewater t.o.v. plaatselij... | OW | Oppervlaktewater | cm | centimeter | WATHTE | Waterhoogte | PLAATSLR | t.o.v. plaatselijk referentievlak | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | RIEDBG |
BAMBG | 13481 | 25831 | 1.066035e+06 | 5.555525e+06 | Bamberg | Waterhoogte Oppervlaktewater t.o.v. plaatselij... | OW | Oppervlaktewater | cm | centimeter | WATHTE | Waterhoogte | PLAATSLR | t.o.v. plaatselijk referentievlak | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | BAMBG |
STEINBCH | 11103 | 25831 | 9.715529e+05 | 5.559332e+06 | Steinbach | Waterhoogte Oppervlaktewater t.o.v. plaatselij... | OW | Oppervlaktewater | cm | centimeter | WATHTE | Waterhoogte | PLAATSLR | t.o.v. plaatselijk referentievlak | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | STEINBCH |
KONSZ | 13512 | 25831 | 9.642014e+05 | 5.295846e+06 | Konstanz | Waterhoogte Oppervlaktewater t.o.v. plaatselij... | OW | Oppervlaktewater | cm | centimeter | WATHTE | Waterhoogte | PLAATSLR | t.o.v. plaatselijk referentievlak | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | KONSZ |
SPEYER | 11067 | 25831 | 8.958191e+05 | 5.477785e+06 | Speyer | Waterhoogte Oppervlaktewater t.o.v. plaatselij... | OW | Oppervlaktewater | cm | centimeter | WATHTE | Waterhoogte | PLAATSLR | t.o.v. plaatselijk referentievlak | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | SPEYER |
[7]:
bool_stations = locations.index.isin(['HOEKVHLD', 'IJMDBTHVN','SCHEVNGN'])
bool_grootheid = locations['Grootheid.Code'].isin(['WATHTE']) # measured (WATHTE) versus computed/astro
bool_groepering = locations['Groepering.Code'].isin(['NVT']) # timeseries (NVT) versus extremes
bool_hoedanigheid = locations['Hoedanigheid.Code'].isin(['NAP']) # vertical reference (NAP/MSL)
selected = locations.loc[bool_stations & bool_grootheid & bool_groepering & bool_hoedanigheid]
selected
[7]:
Locatie_MessageID | Coordinatenstelsel | X | Y | Naam | Parameter_Wat_Omschrijving | Compartiment.Code | Compartiment.Omschrijving | Eenheid.Code | Eenheid.Omschrijving | Grootheid.Code | Grootheid.Omschrijving | Hoedanigheid.Code | Hoedanigheid.Omschrijving | Parameter.Code | Parameter.Omschrijving | Groepering.Code | Groepering.Omschrijving | Code | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Code | |||||||||||||||||||
HOEKVHLD | 10399 | 25831 | 576917.669784 | 5.759136e+06 | Hoek van Holland | Waterhoogte Oppervlaktewater t.o.v. Normaal Am... | OW | Oppervlaktewater | cm | centimeter | WATHTE | Waterhoogte | NAP | t.o.v. Normaal Amsterdams Peil | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | HOEKVHLD |
SCHEVNGN | 10406 | 25831 | 586550.994421 | 5.772806e+06 | Scheveningen | Waterhoogte Oppervlaktewater t.o.v. Normaal Am... | OW | Oppervlaktewater | cm | centimeter | WATHTE | Waterhoogte | NAP | t.o.v. Normaal Amsterdams Peil | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | SCHEVNGN |
IJMDBTHVN | 10414 | 25831 | 605633.035699 | 5.813598e+06 | IJmuiden buitenhaven | Waterhoogte Oppervlaktewater t.o.v. Normaal Am... | OW | Oppervlaktewater | cm | centimeter | WATHTE | Waterhoogte | NAP | t.o.v. Normaal Amsterdams Peil | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | IJMDBTHVN |
[8]:
names = 'uit de kust'
selected = locations[locations.Naam.str.contains(names)].head()
selected
[8]:
Locatie_MessageID | Coordinatenstelsel | X | Y | Naam | Parameter_Wat_Omschrijving | Compartiment.Code | Compartiment.Omschrijving | Eenheid.Code | Eenheid.Omschrijving | Grootheid.Code | Grootheid.Omschrijving | Hoedanigheid.Code | Hoedanigheid.Omschrijving | Parameter.Code | Parameter.Omschrijving | Groepering.Code | Groepering.Omschrijving | Code | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Code | |||||||||||||||||||
ROTTMPT3 | 9486 | 25831 | 735924.084551 | 5.941073e+06 | Rottumerplaat 3 km uit de kust | Korrelgroottefractie Bodem/Sediment diameter g... | BS | Bodem/Sediment | % | procent | KGF | Korrelgroottefractie | Dg0016dg | diameter groter dan 16 um / drooggewicht | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | ROTTMPT3 |
SCHOUWN10 | 9510 | 25831 | 534120.858324 | 5.729921e+06 | Schouwen 10 km uit de kust | Korrelgroottefractie Bodem/Sediment diameter g... | BS | Bodem/Sediment | % | procent | KGF | Korrelgroottefractie | Dg0016dg | diameter groter dan 16 um / drooggewicht | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | SCHOUWN10 |
TERSLG235 | 9518 | 25831 | 509938.998556 | 6.113888e+06 | Terschelling 235 km uit de kust | Korrelgroottefractie Bodem/Sediment diameter g... | BS | Bodem/Sediment | % | procent | KGF | Korrelgroottefractie | Dg0016dg | diameter groter dan 16 um / drooggewicht | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | TERSLG235 |
WALCRN2 | 9526 | 25831 | 528394.396027 | 5.710854e+06 | Walcheren 2 km uit de kust | Korrelgroottefractie Bodem/Sediment diameter g... | BS | Bodem/Sediment | % | procent | KGF | Korrelgroottefractie | Dg0016dg | diameter groter dan 16 um / drooggewicht | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | WALCRN2 |
GOERE6 | 9542 | 25831 | 560056.490959 | 5.746818e+06 | Goeree 6 km uit de kust | Korrelgroottefractie Bodem/Sediment diameter g... | BS | Bodem/Sediment | % | procent | KGF | Korrelgroottefractie | Dg0016dg | diameter groter dan 16 um / drooggewicht | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | GOERE6 |
[9]:
# multiple parameters avaialble per location, each combination is a row
selected = locations.loc['SCHEVNGN']
selected
[9]:
Locatie_MessageID | Coordinatenstelsel | X | Y | Naam | Parameter_Wat_Omschrijving | Compartiment.Code | Compartiment.Omschrijving | Eenheid.Code | Eenheid.Omschrijving | Grootheid.Code | Grootheid.Omschrijving | Hoedanigheid.Code | Hoedanigheid.Omschrijving | Parameter.Code | Parameter.Omschrijving | Groepering.Code | Groepering.Omschrijving | Code | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Code | |||||||||||||||||||
SCHEVNGN | 10406 | 25831 | 586550.994421 | 5.772806e+06 | Scheveningen | Waterhoogte berekend Oppervlaktewater t.o.v. N... | OW | Oppervlaktewater | cm | centimeter | WATHTBRKD | Waterhoogte berekend | NAP | t.o.v. Normaal Amsterdams Peil | NVT | Waarde is niet van toepassing | GETETBRKD2 | Getijextreem berekend | SCHEVNGN |
SCHEVNGN | 10406 | 25831 | 586550.994421 | 5.772806e+06 | Scheveningen | Waterhoogte berekend Oppervlaktewater t.o.v. N... | OW | Oppervlaktewater | cm | centimeter | WATHTBRKD | Waterhoogte berekend | NAP | t.o.v. Normaal Amsterdams Peil | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | SCHEVNGN |
SCHEVNGN | 10406 | 25831 | 586550.994421 | 5.772806e+06 | Scheveningen | Waterhoogte Oppervlaktewater t.o.v. Normaal Am... | OW | Oppervlaktewater | cm | centimeter | WATHTE | Waterhoogte | NAP | t.o.v. Normaal Amsterdams Peil | NVT | Waarde is niet van toepassing | GETETM2 | Getijextremen | SCHEVNGN |
SCHEVNGN | 10406 | 25831 | 586550.994421 | 5.772806e+06 | Scheveningen | Waterhoogte Oppervlaktewater t.o.v. Normaal Am... | OW | Oppervlaktewater | cm | centimeter | WATHTE | Waterhoogte | NAP | t.o.v. Normaal Amsterdams Peil | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | SCHEVNGN |
SCHEVNGN | 10406 | 25831 | 586550.994421 | 5.772806e+06 | Scheveningen | Waterhoogte astronomisch Oppervlaktewater t.o.... | OW | Oppervlaktewater | cm | centimeter | WATHTEASTRO | Waterhoogte astronomisch | NAP | t.o.v. Normaal Amsterdams Peil | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | SCHEVNGN |
SCHEVNGN | 10406 | 25831 | 586550.994421 | 5.772806e+06 | Scheveningen | Levendigheid Oppervlaktewater cm2 | OW | Oppervlaktewater | cm2 | vierkante centimeter | NVT | Waarde is niet van toepassing | NVT | niet van toepassing | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | SCHEVNGN |
SCHEVNGN | 10406 | 25831 | 586550.994421 | 5.772806e+06 | Scheveningen | Getijextreemtype Oppervlaktewater | OW | Oppervlaktewater | DIMSLS | dimensieloos | NVT | Waarde is niet van toepassing | NVT | niet van toepassing | NVT | Waarde is niet van toepassing | GETETBRKD2 | Getijextreem berekend | SCHEVNGN |
SCHEVNGN | 10406 | 25831 | 586550.994421 | 5.772806e+06 | Scheveningen | Getijextreemtype Oppervlaktewater | OW | Oppervlaktewater | DIMSLS | dimensieloos | NVT | Waarde is niet van toepassing | NVT | niet van toepassing | NVT | Waarde is niet van toepassing | GETETM2 | Getijextremen | SCHEVNGN |
[10]:
# subset to a single location/measurement location (waterhoogte timeseries for Scheveningen)
bool_stations = locations.index.isin(['SCHEVNGN'])
# measured (WATHTE) versus computed/astro
bool_grootheid = locations['Grootheid.Code'].isin(['WATHTE'])
# timeseries (NVT) versus extremes
bool_groepering = locations['Groepering.Code'].isin(['NVT'])
selected = locations.loc[bool_stations & bool_grootheid & bool_groepering]
selected
[10]:
Locatie_MessageID | Coordinatenstelsel | X | Y | Naam | Parameter_Wat_Omschrijving | Compartiment.Code | Compartiment.Omschrijving | Eenheid.Code | Eenheid.Omschrijving | Grootheid.Code | Grootheid.Omschrijving | Hoedanigheid.Code | Hoedanigheid.Omschrijving | Parameter.Code | Parameter.Omschrijving | Groepering.Code | Groepering.Omschrijving | Code | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Code | |||||||||||||||||||
SCHEVNGN | 10406 | 25831 | 586550.994421 | 5.772806e+06 | Scheveningen | Waterhoogte Oppervlaktewater t.o.v. Normaal Am... | OW | Oppervlaktewater | cm | centimeter | WATHTE | Waterhoogte | NAP | t.o.v. Normaal Amsterdams Peil | NVT | Waarde is niet van toepassing | NVT | Niet van toepassing | SCHEVNGN |
[11]:
# if we pass one row to the measurements function you can get all the measurements
measurements = ddlpy.measurements(selected.iloc[0], "2019-05-01", "2020-02-01")
0%| | 0/9 [00:00<?, ?it/s]DEBUG:ddlpy.ddlpy:Requesting at https://waterwebservices.rijkswaterstaat.nl/ONLINEWAARNEMINGENSERVICES_DBO/OphalenWaarnemingen with request: {"AquoPlusWaarnemingMetadata": {"AquoMetadata": {"Compartiment": {"Code": "OW"}, "Eenheid": {"Code": "cm"}, "Grootheid": {"Code": "WATHTE"}, "Hoedanigheid": {"Code": "NAP"}, "Parameter": {"Code": "NVT"}, "Groepering": {"Code": "NVT"}}}, "Locatie": {"X": 586550.994420996, "Y": 5772806.43069697, "Code": "SCHEVNGN"}, "Periode": {"Begindatumtijd": "2019-05-01T00:00:00.000+00:00", "Einddatumtijd": "2019-06-01T00:00:00.000+00:00"}}
11%|█████████▎ | 1/9 [00:02<00:20, 2.52s/it]DEBUG:ddlpy.ddlpy:Requesting at https://waterwebservices.rijkswaterstaat.nl/ONLINEWAARNEMINGENSERVICES_DBO/OphalenWaarnemingen with request: {"AquoPlusWaarnemingMetadata": {"AquoMetadata": {"Compartiment": {"Code": "OW"}, "Eenheid": {"Code": "cm"}, "Grootheid": {"Code": "WATHTE"}, "Hoedanigheid": {"Code": "NAP"}, "Parameter": {"Code": "NVT"}, "Groepering": {"Code": "NVT"}}}, "Locatie": {"X": 586550.994420996, "Y": 5772806.43069697, "Code": "SCHEVNGN"}, "Periode": {"Begindatumtijd": "2019-06-01T00:00:00.000+00:00", "Einddatumtijd": "2019-07-01T00:00:00.000+00:00"}}
22%|██████████████████▋ | 2/9 [00:05<00:17, 2.54s/it]DEBUG:ddlpy.ddlpy:Requesting at https://waterwebservices.rijkswaterstaat.nl/ONLINEWAARNEMINGENSERVICES_DBO/OphalenWaarnemingen with request: {"AquoPlusWaarnemingMetadata": {"AquoMetadata": {"Compartiment": {"Code": "OW"}, "Eenheid": {"Code": "cm"}, "Grootheid": {"Code": "WATHTE"}, "Hoedanigheid": {"Code": "NAP"}, "Parameter": {"Code": "NVT"}, "Groepering": {"Code": "NVT"}}}, "Locatie": {"X": 586550.994420996, "Y": 5772806.43069697, "Code": "SCHEVNGN"}, "Periode": {"Begindatumtijd": "2019-07-01T00:00:00.000+00:00", "Einddatumtijd": "2019-08-01T00:00:00.000+00:00"}}
33%|████████████████████████████ | 3/9 [00:07<00:15, 2.53s/it]DEBUG:ddlpy.ddlpy:Requesting at https://waterwebservices.rijkswaterstaat.nl/ONLINEWAARNEMINGENSERVICES_DBO/OphalenWaarnemingen with request: {"AquoPlusWaarnemingMetadata": {"AquoMetadata": {"Compartiment": {"Code": "OW"}, "Eenheid": {"Code": "cm"}, "Grootheid": {"Code": "WATHTE"}, "Hoedanigheid": {"Code": "NAP"}, "Parameter": {"Code": "NVT"}, "Groepering": {"Code": "NVT"}}}, "Locatie": {"X": 586550.994420996, "Y": 5772806.43069697, "Code": "SCHEVNGN"}, "Periode": {"Begindatumtijd": "2019-08-01T00:00:00.000+00:00", "Einddatumtijd": "2019-09-01T00:00:00.000+00:00"}}
44%|█████████████████████████████████████▎ | 4/9 [00:12<00:17, 3.55s/it]DEBUG:ddlpy.ddlpy:Requesting at https://waterwebservices.rijkswaterstaat.nl/ONLINEWAARNEMINGENSERVICES_DBO/OphalenWaarnemingen with request: {"AquoPlusWaarnemingMetadata": {"AquoMetadata": {"Compartiment": {"Code": "OW"}, "Eenheid": {"Code": "cm"}, "Grootheid": {"Code": "WATHTE"}, "Hoedanigheid": {"Code": "NAP"}, "Parameter": {"Code": "NVT"}, "Groepering": {"Code": "NVT"}}}, "Locatie": {"X": 586550.994420996, "Y": 5772806.43069697, "Code": "SCHEVNGN"}, "Periode": {"Begindatumtijd": "2019-09-01T00:00:00.000+00:00", "Einddatumtijd": "2019-10-01T00:00:00.000+00:00"}}
56%|██████████████████████████████████████████████▋ | 5/9 [00:15<00:12, 3.15s/it]DEBUG:ddlpy.ddlpy:Requesting at https://waterwebservices.rijkswaterstaat.nl/ONLINEWAARNEMINGENSERVICES_DBO/OphalenWaarnemingen with request: {"AquoPlusWaarnemingMetadata": {"AquoMetadata": {"Compartiment": {"Code": "OW"}, "Eenheid": {"Code": "cm"}, "Grootheid": {"Code": "WATHTE"}, "Hoedanigheid": {"Code": "NAP"}, "Parameter": {"Code": "NVT"}, "Groepering": {"Code": "NVT"}}}, "Locatie": {"X": 586550.994420996, "Y": 5772806.43069697, "Code": "SCHEVNGN"}, "Periode": {"Begindatumtijd": "2019-10-01T00:00:00.000+00:00", "Einddatumtijd": "2019-11-01T00:00:00.000+00:00"}}
67%|████████████████████████████████████████████████████████ | 6/9 [00:17<00:08, 2.89s/it]DEBUG:ddlpy.ddlpy:Requesting at https://waterwebservices.rijkswaterstaat.nl/ONLINEWAARNEMINGENSERVICES_DBO/OphalenWaarnemingen with request: {"AquoPlusWaarnemingMetadata": {"AquoMetadata": {"Compartiment": {"Code": "OW"}, "Eenheid": {"Code": "cm"}, "Grootheid": {"Code": "WATHTE"}, "Hoedanigheid": {"Code": "NAP"}, "Parameter": {"Code": "NVT"}, "Groepering": {"Code": "NVT"}}}, "Locatie": {"X": 586550.994420996, "Y": 5772806.43069697, "Code": "SCHEVNGN"}, "Periode": {"Begindatumtijd": "2019-11-01T00:00:00.000+00:00", "Einddatumtijd": "2019-12-01T00:00:00.000+00:00"}}
78%|█████████████████████████████████████████████████████████████████▎ | 7/9 [00:20<00:05, 2.80s/it]DEBUG:ddlpy.ddlpy:Requesting at https://waterwebservices.rijkswaterstaat.nl/ONLINEWAARNEMINGENSERVICES_DBO/OphalenWaarnemingen with request: {"AquoPlusWaarnemingMetadata": {"AquoMetadata": {"Compartiment": {"Code": "OW"}, "Eenheid": {"Code": "cm"}, "Grootheid": {"Code": "WATHTE"}, "Hoedanigheid": {"Code": "NAP"}, "Parameter": {"Code": "NVT"}, "Groepering": {"Code": "NVT"}}}, "Locatie": {"X": 586550.994420996, "Y": 5772806.43069697, "Code": "SCHEVNGN"}, "Periode": {"Begindatumtijd": "2019-12-01T00:00:00.000+00:00", "Einddatumtijd": "2020-01-01T00:00:00.000+00:00"}}
89%|██████████████████████████████████████████████████████████████████████████▋ | 8/9 [00:22<00:02, 2.77s/it]DEBUG:ddlpy.ddlpy:Requesting at https://waterwebservices.rijkswaterstaat.nl/ONLINEWAARNEMINGENSERVICES_DBO/OphalenWaarnemingen with request: {"AquoPlusWaarnemingMetadata": {"AquoMetadata": {"Compartiment": {"Code": "OW"}, "Eenheid": {"Code": "cm"}, "Grootheid": {"Code": "WATHTE"}, "Hoedanigheid": {"Code": "NAP"}, "Parameter": {"Code": "NVT"}, "Groepering": {"Code": "NVT"}}}, "Locatie": {"X": 586550.994420996, "Y": 5772806.43069697, "Code": "SCHEVNGN"}, "Periode": {"Begindatumtijd": "2020-01-01T00:00:00.000+00:00", "Einddatumtijd": "2020-02-01T00:00:00.000+00:00"}}
100%|████████████████████████████████████████████████████████████████████████████████████| 9/9 [00:25<00:00, 2.86s/it]
DEBUG:ddlpy.ddlpy:8 duplicated values dropped
[12]:
measurements.plot(y='Meetwaarde.Waarde_Numeriek', linewidth=0.5, figsize=(12, 6))
[12]:
<Axes: xlabel='time'>
[13]:
measurements
[13]:
WaarnemingMetadata.StatuswaardeLijst | WaarnemingMetadata.BemonsteringshoogteLijst | WaarnemingMetadata.ReferentievlakLijst | WaarnemingMetadata.OpdrachtgevendeInstantieLijst | WaarnemingMetadata.KwaliteitswaardecodeLijst | AquoMetadata_MessageID | Parameter_Wat_Omschrijving | BemonsteringsApparaat.Code | BemonsteringsApparaat.Omschrijving | BemonsteringsMethode.Code | ... | WaardeBepalingsmethode.Omschrijving | WaardeBewerkingsmethode.Code | WaardeBewerkingsmethode.Omschrijving | Meetwaarde.Waarde_Numeriek | Meetwaarde.Waarde_Alfanumeriek | Code | Coordinatenstelsel | Naam | X | Y | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
time | |||||||||||||||||||||
2019-05-01 02:00:00+01:00 | Gecontroleerd | -999999999 | NVT | RIKZMON_WAT | 00 | 2573 | Waterhoogte Oppervlaktewater t.o.v. Normaal Am... | NVT | Waarde is niet van toepassing | NVT | ... | Rekenkundig gemiddelde waarde over vorige 5 en... | NVT | Niet van toepassing | 44.0 | 44 | SCHEVNGN | 25831 | Scheveningen | 586550.994421 | 5.772806e+06 |
2019-05-01 02:10:00+01:00 | Gecontroleerd | -999999999 | NVT | RIKZMON_WAT | 00 | 2573 | Waterhoogte Oppervlaktewater t.o.v. Normaal Am... | NVT | Waarde is niet van toepassing | NVT | ... | Rekenkundig gemiddelde waarde over vorige 5 en... | NVT | Niet van toepassing | 41.0 | 41 | SCHEVNGN | 25831 | Scheveningen | 586550.994421 | 5.772806e+06 |
2019-05-01 02:20:00+01:00 | Gecontroleerd | -999999999 | NVT | RIKZMON_WAT | 00 | 2573 | Waterhoogte Oppervlaktewater t.o.v. Normaal Am... | NVT | Waarde is niet van toepassing | NVT | ... | Rekenkundig gemiddelde waarde over vorige 5 en... | NVT | Niet van toepassing | 36.0 | 36 | SCHEVNGN | 25831 | Scheveningen | 586550.994421 | 5.772806e+06 |
2019-05-01 02:30:00+01:00 | Gecontroleerd | -999999999 | NVT | RIKZMON_WAT | 00 | 2573 | Waterhoogte Oppervlaktewater t.o.v. Normaal Am... | NVT | Waarde is niet van toepassing | NVT | ... | Rekenkundig gemiddelde waarde over vorige 5 en... | NVT | Niet van toepassing | 31.0 | 31 | SCHEVNGN | 25831 | Scheveningen | 586550.994421 | 5.772806e+06 |
2019-05-01 02:40:00+01:00 | Gecontroleerd | -999999999 | NVT | RIKZMON_WAT | 00 | 2573 | Waterhoogte Oppervlaktewater t.o.v. Normaal Am... | NVT | Waarde is niet van toepassing | NVT | ... | Rekenkundig gemiddelde waarde over vorige 5 en... | NVT | Niet van toepassing | 25.0 | 25 | SCHEVNGN | 25831 | Scheveningen | 586550.994421 | 5.772806e+06 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
2020-02-01 00:20:00+01:00 | Gecontroleerd | -999999999 | NVT | RIKZMON_WAT | 00 | 2573 | Waterhoogte Oppervlaktewater t.o.v. Normaal Am... | NVT | Waarde is niet van toepassing | NVT | ... | Rekenkundig gemiddelde waarde over vorige 5 en... | NVT | Niet van toepassing | -21.0 | -21 | SCHEVNGN | 25831 | Scheveningen | 586550.994421 | 5.772806e+06 |
2020-02-01 00:30:00+01:00 | Gecontroleerd | -999999999 | NVT | RIKZMON_WAT | 00 | 2573 | Waterhoogte Oppervlaktewater t.o.v. Normaal Am... | NVT | Waarde is niet van toepassing | NVT | ... | Rekenkundig gemiddelde waarde over vorige 5 en... | NVT | Niet van toepassing | -21.0 | -21 | SCHEVNGN | 25831 | Scheveningen | 586550.994421 | 5.772806e+06 |
2020-02-01 00:40:00+01:00 | Gecontroleerd | -999999999 | NVT | RIKZMON_WAT | 00 | 2573 | Waterhoogte Oppervlaktewater t.o.v. Normaal Am... | NVT | Waarde is niet van toepassing | NVT | ... | Rekenkundig gemiddelde waarde over vorige 5 en... | NVT | Niet van toepassing | -23.0 | -23 | SCHEVNGN | 25831 | Scheveningen | 586550.994421 | 5.772806e+06 |
2020-02-01 00:50:00+01:00 | Gecontroleerd | -999999999 | NVT | RIKZMON_WAT | 00 | 2573 | Waterhoogte Oppervlaktewater t.o.v. Normaal Am... | NVT | Waarde is niet van toepassing | NVT | ... | Rekenkundig gemiddelde waarde over vorige 5 en... | NVT | Niet van toepassing | -22.0 | -22 | SCHEVNGN | 25831 | Scheveningen | 586550.994421 | 5.772806e+06 |
2020-02-01 01:00:00+01:00 | Gecontroleerd | -999999999 | NVT | RIKZMON_WAT | 00 | 2573 | Waterhoogte Oppervlaktewater t.o.v. Normaal Am... | NVT | Waarde is niet van toepassing | NVT | ... | Rekenkundig gemiddelde waarde over vorige 5 en... | NVT | Niet van toepassing | -26.0 | -26 | SCHEVNGN | 25831 | Scheveningen | 586550.994421 | 5.772806e+06 |
39739 rows × 53 columns
Convert to xarray#
[14]:
drop_if_constant = ["WaarnemingMetadata.OpdrachtgevendeInstantieLijst",
"WaarnemingMetadata.BemonsteringshoogteLijst",
"WaarnemingMetadata.ReferentievlakLijst",
"AquoMetadata_MessageID",
"BioTaxonType",
"BemonsteringsSoort.Code",
"Compartiment.Code", "Eenheid.Code", "Grootheid.Code", "Hoedanigheid.Code",
]
ds = ddlpy.dataframe_to_xarray(measurements, drop_if_constant=drop_if_constant)
ds
[14]:
<xarray.Dataset> Size: 2MB Dimensions: (time: 39739) Coordinates: * time (time) datetime64[ns] 318kB ... Data variables: WaarnemingMetadata.StatuswaardeLijst (time) object 318kB 'Gecont... WaarnemingMetadata.KwaliteitswaardecodeLijst (time) object 318kB '00' ..... MeetApparaat.Code (time) object 318kB '127' .... WaardeBepalingsmethode.Code (time) object 318kB 'other:... Meetwaarde.Waarde_Numeriek (time) float64 318kB 44.0 .... Attributes: (12/27) BemonsteringsApparaat.Code: NVT BemonsteringsMethode.Code: NVT BioTaxon.Code: NVT BioTaxon_Compartiment.Code: NVT MonsterBewerkingsMethode.Code: NVT Orgaan.Code: NVT ... ... Hoedanigheid.Code: NAP Code: SCHEVNGN Naam: Scheveningen Coordinatenstelsel: 25831 X: 586550.994420996 Y: 5772806.43069697
[ ]: