LoadsWaterinfo

loads.LoadsWaterinfo()

Belastinggegevens ophalen van Rijkswaterstaat Waterinfo

Attributes

Name Type Description
data_adapter DataAdapter De data adapter voor het ophalen en opslaan van gegevens.
df_in Optional[pd.DataFrame] | None Dataframe met meetlocaties.
df_out Optional[pd.DataFrame] | None Dataframe met belastinggegevens.
url str De url van de Waterinfo API.
input_waterinfo_schema ClassVar[dict[str, str]] Het schema van de invoer data meetlocaties.

Notes

Hiervoor wordt de url gebruikt: [https://waterinfo.rws.nl/#/publiek/waterhoogte](https://waterinfo.rws.nl/#/publiek/waterhoogte

Methods

Name Description
create_dataframe Maak een pandas dataframe van de opgehaalde data uit Waterinfo
get_maptype Bepaalt welk schema moet worden gebruikt voor het ophalen van de belasting.
get_value_by_observedhours bepaal welke range gebruikt moet worden voor het ophalen van de belasting
log_exceptions Stuurt exceptions eerst naar de logger van de DataAdapter
run De runner van de Belasting Waterinfo functie.

create_dataframe

loads.LoadsWaterinfo.create_dataframe(
    options,
    maptype_schema,
    measuringstation,
    json_data,
)

Maak een pandas dataframe van de opgehaalde data uit Waterinfo

Parameters

Name Type Description Default
options dict Opties opgegeven in de yaml. required
maptype_schema dict Gegevens van de maptype. required
measuringstation dict Gegevens van het meetstation. required
json_data dict[str, Any] JSON data met opgehaalde belasting data. required

Returns

Name Type Description
pd.DataFrame Pandas dataframe geschikt voor uitvoer.

Notes

Het dataframe bevat de volgende kolommen:

  • Meetlocatie id (measurement_location_id)
  • Meetlocatie code (measurement_location_code)
  • Meetlocatie omschrijving/naam (measurement_location_description)
  • Parameter id overeenkomstig Aquo-standaard: ‘4724’ (parameter_id)
  • Parameter code overeenkomstig Aquo-standaard: ‘WATHTE’ (parameter_code)
  • Parameter omschrijving overeenkomstig Aquo-standaard: ‘Waterhoogte’ (parameter_description)
  • Eenheid (unit)
  • Datum en tijd (date_time)
  • Waarde (value)
  • Type waarde: meting of verwachting (value_type)

get_maptype

loads.LoadsWaterinfo.get_maptype(maptype, global_variables)

Bepaalt welk schema moet worden gebruikt voor het ophalen van de belasting.

Parameters

Name Type Description Default
maptype str Het type kaart: - waterhoogte, - wind, - golfhoogte, - watertemperatuur, - luchttemperatuur, - astronomische-getij, - waterafvoer, - zouten required
global_variables dict De globale variabelen van de configuratie. required

Returns

Name Type Description
str De query van het bereik als een string. Bijvoorbeeld: -48,0

get_value_by_observedhours

loads.LoadsWaterinfo.get_value_by_observedhours(
    maptype_schema,
    observedhours_moments,
)

bepaal welke range gebruikt moet worden voor het ophalen van de belasting

Parameters

Name Type Description Default
maptype_schema dict schema met mogelijke ranges. Voorbeeld: json {"observedhours": 48, "predictionhours": 48, "query": "-48,0"}, {"observedhours": 6, "predictionhours": 3, "query": "-6,0"}, {"observedhours": 216, "predictionhours": 48, "query": "-216,0"}, {"observedhours": 672, "predictionhours": 0, "query": "-672,0"} required
observedhours_moments int het laagste moment. required

Returns

Name Type Description
de query van de range als string: str voorbeeld: -48,0
None None als er geen range gevonden kan worden

log_exceptions

loads.LoadsWaterinfo.log_exceptions(method)

Stuurt exceptions eerst naar de logger van de DataAdapter

run

loads.LoadsWaterinfo.run(input, output)

De runner van de Belasting Waterinfo functie.

Parameters

Name Type Description Default
input str Naam van de dataadapter met invoergegevens. required
output str Naam van de dataadapter om uitvoergegevens op te slaan. required

Raises

Name Type Description
UserWarning Wanneer de belasting niet kan worden opgehaald. Wanneer moments niet aanwezig in global_variables (config) Wanneer de opgegeven parameter(s) komen niet voor in Waterinfo. Wanneer de opgegeven locatie niet voorkomt in Waterinfo