:py:mod:`wolfhece.hydrometry.kiwis` =================================== .. py:module:: wolfhece.hydrometry.kiwis .. autoapi-nested-parse:: Author: HECE - University of Liege, Pierre Archambeau Date: 2024 Copyright (c) 2024 University of Liege. All rights reserved. This script and its content are protected by copyright law. Unauthorized copying or distribution of this file, via any medium, is strictly prohibited. Module Contents --------------- .. py:data:: URL_SERVICE :value: 'https://hydrometrie.wallonie.be/services' .. py:data:: URL_SERVICE_WATERINFO :value: 'https://download.waterinfo.be/tsmdownload' .. py:data:: URL_SERVICE_HICWS :value: 'https://hicws.vlaanderen.be' .. py:data:: URL_SPW .. py:data:: URL_WATERINFO .. py:data:: URL_HICWS .. py:data:: URL_TOKEN .. py:class:: HICWS_GroupID Bases: :py:obj:`enum.Enum` .. autoapi-inheritance-diagram:: wolfhece.hydrometry.kiwis.HICWS_GroupID :parts: 1 :private-bases: Generic enumeration. Derive from this class to define new enumerations. .. py:attribute:: FlowRate_daily :value: ('Afvoer_dag', 156169) .. py:attribute:: FlowRate_hig_res :value: ('Afvoer_hoge resolutie', 156170) .. py:attribute:: FlowRate_hourly :value: ('Afvoer_uur', 156171) .. py:attribute:: Astronomic_predictions_Scheldt_and_coastal_area :value: ('Astronomische voorspellingen reeksen Schelde en kust (LAT)', 512458) .. py:attribute:: Astronomic_predictions_Scheldt_and_coastal_area_high_res :value: ('AstroAstronomische voorspellingen reeksen Schelde en kust (mTAW)', 354718) .. py:attribute:: Astronomic_predictions_Scheldt_and_coastal_area_high_low :value: ('Astronomische voorspellingen Hoog-en laagwaters Schelde en kust (LAT)', 515316) .. py:attribute:: Astronomic_predictions_Scheldt_and_coastal_area_high_low_highres :value: ('Astronomische voorspellingen Hoog-en laagwaters Schelde en kust (mTAW)', 350099) .. py:attribute:: Calculated_Discharge_important :value: ('Berekende afvoeren sleutellocaties waterwegen', 260592) .. py:attribute:: Calculated_Area_Precipitation :value: ('Berekende gebiedsneerslagen belangrijke meetlocaties HIC', 156159) .. py:attribute:: Chlorophyl_high_res :value: ('Chlorofyl_hoge resolutie', 156172) .. py:attribute:: Conductivity_high_res :value: ('Conductiviteit_hoge resolutie', 156173) .. py:attribute:: Precipitation_daily :value: ('Neerslag_dag', 156166) .. py:attribute:: Precipitation_high_res :value: ('Neerslag_hoge resolutie', 156167) .. py:attribute:: Precipitation_yearly :value: ('Neerslag_jaar', 156191) .. py:attribute:: Precipitation_monthly :value: ('Neerslag_maand', 156190) .. py:attribute:: Precipitation_hourly :value: ('Neerslag_uur', 156168) .. py:attribute:: Salinity_high_res :value: ('Saliniteit_hoge resolutie', 421208) .. py:attribute:: Sediment_Concentration :value: ('Sedimentconcentratie_hoge resolutie', 156188) .. py:attribute:: Flow_Direction_high_res :value: ('Stroomrichting_hoge resolutie', 156158) .. py:attribute:: Flow_Velocity :value: ('Stroomsnelheid_hoge resolutie', 156199) .. py:attribute:: Turbidity :value: ('Turbiditeit_hoge resolutie', 156202) .. py:attribute:: Tidal_Previsions_Scheldt_ensemble :value: ('Verwachtingen Tijgebied Schelde (HWLW)', 432821) .. py:attribute:: Forecast_Discharge_shortterm_48h :value: ('Voorspellingen afvoer korte termijn (48u)', 506057) .. py:attribute:: Forecast_Discharge_longterm_10d :value: ('Voorspellingen afvoer lange termijn (10 dagen)', 506059) .. py:attribute:: Forecast_area_48h :value: ('Voorspellingen berekende gebiedsneerslagen belangrijke meetlocaties HIC korte termijn (48u)', 506060) .. py:attribute:: Forecast_area_10d :value: ('Voorspellingen berekende gebiedsneerslagen belangrijke meetlocaties HIC lange termijn (10... .. py:attribute:: Forecast_waterlevel_48h :value: ('Voorspellingen waterstand korte termijn (48u)', 506056) .. py:attribute:: Forecast_waterlevel_10d :value: ('Voorspellingen waterstand lange termijn (10 dagen)', 506058) .. py:attribute:: Water_Level_daily :value: ('Waterstand_dag', 156162) .. py:attribute:: Water_Level_high_res :value: ('Waterstand_hoge resolutie', 156163) .. py:attribute:: High_Low_water_Scheldt :value: ('Waterstand_Hoog-en laagwaters tijgebied Schelde', 156165) .. py:attribute:: Scheldt_High_Water :value: ('Waterstand_Hoogwaters tijgebied', 510205) .. py:attribute:: Scheldt_Low_Water :value: ('Waterstand_Laagwaters tijgebied', 510207) .. py:attribute:: Water_Level_hourly :value: ('Waterstand_uur', 156164) .. py:attribute:: Water_Temperature :value: ('Watertemperatuur_hoge resolutie', 156200) .. py:attribute:: Oxygen_Concentration :value: ('Zuurstofgehalte_hoge resolutie', 156207) .. py:attribute:: Oxygen_Saturation :value: ('Zuurstofverzadiging_hoge resolutie', 156208) .. py:attribute:: pH :value: ('Zuurtegraad_hoge resolutie', 156197) .. py:class:: WaterInfo_GroupdID Bases: :py:obj:`enum.Enum` .. autoapi-inheritance-diagram:: wolfhece.hydrometry.kiwis.WaterInfo_GroupdID :parts: 1 :private-bases: Generic enumeration. Derive from this class to define new enumerations. .. py:attribute:: Flowrate_15m :value: ('Afvoer_15m', 192786) .. py:attribute:: Flowrate_daily :value: ('Afvoer_dag', 192893) .. py:attribute:: Flowrate_yearly :value: ('Afvoer_jaar', 192895) .. py:attribute:: Flowrate_monthly :value: ('Afvoer_maand', 192894) .. py:attribute:: Flowrate_hourly :value: ('Afvoer_uur', 192892) .. py:attribute:: Ground_Saturation :value: ('Bodemverzadiging_15m', 192929) .. py:attribute:: Ground_Humidity :value: ('Bodemvocht_15m', 192928) .. py:attribute:: Dew_Point_Temparature :value: ('Dauwpunttemperatuur_15m', 192923) .. py:attribute:: Salinity :value: ('EC verziltingsmeetnet', 383065) .. py:attribute:: projectmetingen :value: ('EC projectmetingen', 381863) .. py:attribute:: Ground_Temperature :value: ('Grondtemperatuur_15m', 192924) .. py:attribute:: Ground_Heat :value: ('Grondwarmte_15m', 192916) .. py:attribute:: Radiation :value: ('Instraling_15m', 192920) .. py:attribute:: Atmospheric_Pressure :value: ('Luchtdruk_15m', 192918) .. py:attribute:: Atmospheric_Temperature :value: ('Luchttemperatuur175cm_15m', 192922) .. py:attribute:: Rain_15m :value: ('Neerslag_15m', 192896) .. py:attribute:: Rain_1m :value: ('Neerslag_1m', 199792) .. py:attribute:: Rain_daily :value: ('Neerslag_dag', 192898) .. py:attribute:: Rain_yearly :value: ('Neerslag_jaar', 192900) .. py:attribute:: Rain_monthly :value: ('Neerslag_maand', 192899) .. py:attribute:: Rain_hourly :value: ('Neerslag_uur', 192897) .. py:attribute:: Relative_Humidity :value: ('RelatVocht_15m', 192919) .. py:attribute:: Evaporation_Monteih_15m :value: ('VerdampingMonteith_15m', 192927) .. py:attribute:: Evaporation_Monteih_daily :value: ('VerdampingMonteith_dag', 295480) .. py:attribute:: Evaporation_Monteih_yearly :value: ('VerdampingMonteith_jaar', 295483) .. py:attribute:: Evaporation_Monteih_monthly :value: ('VerdampingMonteith_maand', 295482) .. py:attribute:: Evaporation_Penman_15m :value: ('VerdampingPenman_15m', 204341) .. py:attribute:: Evaporation_Penman_daily :value: ('VerdampingPenman_dag', 295474) .. py:attribute:: Evaporation_Penman_yearly :value: ('VerdampingPenman_jaar', 295479) .. py:attribute:: Evaporation_Penman_monthly :value: ('VerdampingPenman_maand', 295475) .. py:attribute:: Water_speed_15m :value: ('Watersnelheid_15m', 192901) .. py:attribute:: Water_speed_daily :value: ('Watersnelheid_dag', 192903) .. py:attribute:: Water_speed_yearly :value: ('Watersnelheid_jaar', 192905) .. py:attribute:: Water_speed_monthly :value: ('Watersnelheid_maand', 192904) .. py:attribute:: Water_speed_hourly :value: ('Watersnelheid_uur', 192902) .. py:attribute:: Water_Level_15m :value: ('Waterstand_15m', 192780) .. py:attribute:: Water_Level_daily :value: ('Waterstand_dag', 192782) .. py:attribute:: Water_Level_yearly :value: ('Waterstand_jaar', 192784) .. py:attribute:: Water_Level_monthly :value: ('Waterstand_maand', 192783) .. py:attribute:: Water_Level_hourly :value: ('Waterstand_uur', 192785) .. py:attribute:: Water_Temperature :value: ('Watertemperatuur_15m', 325066) .. py:attribute:: Wind_Direction :value: ('Windrichting_15m', 192926) .. py:attribute:: Wind_Speed :value: ('Windsnelheid_15m', 192925) .. py:class:: kiwis_command Bases: :py:obj:`enum.Enum` .. autoapi-inheritance-diagram:: wolfhece.hydrometry.kiwis.kiwis_command :parts: 1 :private-bases: Generic enumeration. Derive from this class to define new enumerations. .. py:attribute:: getrequestinfo :value: 'getrequestinfo' .. py:attribute:: getGroupList :value: 'getGroupList' .. py:attribute:: getSiteList :value: 'getSiteList' .. py:attribute:: getStationList :value: 'getStationList' .. py:attribute:: getParameterList :value: 'getParameterList' .. py:attribute:: getParameterTypeList :value: 'getParameterTypeList' .. py:attribute:: getCatchmentList :value: 'getCatchmentList' .. py:attribute:: getCatchmentHierarchy :value: 'getCatchmentHierarchy' .. py:attribute:: getRiverList :value: 'getRiverList' .. py:attribute:: getStandardRemarkTypeList :value: 'getStandardRemarkTypeList' .. py:attribute:: getRatingCurveList :value: 'getRatingCurveList' .. py:attribute:: getTimeseriesList :value: 'getTimeseriesList' .. py:attribute:: getTimeseriesTypeList :value: 'getTimeseriesTypeList' .. py:attribute:: getTimeseriesValues :value: 'getTimeseriesValues' .. py:attribute:: getTimeseriesValueLayer :value: 'getTimeseriesValueLayer' .. py:attribute:: getGraphTemplateList :value: 'getGraphTemplateList' .. py:attribute:: getGraph :value: 'getGraph' .. py:attribute:: getStationGraph :value: 'getStationGraph' .. py:attribute:: getColorClassifications :value: 'getColorClassifications' .. py:attribute:: getQualityCodes :value: 'getQualityCodes' .. py:attribute:: getReleaseStateClasses :value: 'getReleaseStateClasses' .. py:attribute:: getTimeseriesReleaseStateList :value: 'getTimeseriesReleaseStateList' .. py:attribute:: getTimeseriesEnsembleValues :value: 'getTimeseriesEnsembleValues' .. py:attribute:: getTimeseriesChanges :value: 'getTimeseriesChanges' .. py:attribute:: getTimeseriesComments :value: 'getTimeseriesComments' .. py:attribute:: checkValueLimit :value: 'checkValueLimit' .. py:class:: kiwis_request_info Bases: :py:obj:`enum.Enum` .. autoapi-inheritance-diagram:: wolfhece.hydrometry.kiwis.kiwis_request_info :parts: 1 :private-bases: Generic enumeration. Derive from this class to define new enumerations. .. py:attribute:: Request :value: 'Request' .. py:attribute:: Description :value: 'Description' .. py:attribute:: QueryFields :value: 'QueryFields' .. py:attribute:: Formats :value: 'Formats' .. py:attribute:: Returnfields :value: 'Returnfields' .. py:attribute:: OptionalFields :value: 'Optionalfields' .. py:attribute:: Subdescription :value: 'Subdescription' .. py:attribute:: Dateformats :value: 'Dateformats' .. py:attribute:: Transformations :value: 'Transformations' .. py:class:: kiwis_token Bases: :py:obj:`enum.Enum` .. autoapi-inheritance-diagram:: wolfhece.hydrometry.kiwis.kiwis_token :parts: 1 :private-bases: Generic enumeration. Derive from this class to define new enumerations. .. py:attribute:: ACCESS_TOKEN_KEY :value: 'access_token' .. py:attribute:: TOKEN_TYPE :value: 'token_type' .. py:attribute:: EXPIRES_IN :value: 'expires_in' .. py:class:: kiwis_maintainers Bases: :py:obj:`enum.Enum` .. autoapi-inheritance-diagram:: wolfhece.hydrometry.kiwis.kiwis_maintainers :parts: 1 :private-bases: Generic enumeration. Derive from this class to define new enumerations. .. py:attribute:: DGH :value: 'DGH' .. py:attribute:: DCENN :value: 'DCENN' .. py:attribute:: EUPEN :value: 'EUP' .. py:class:: kiwis_site_fields Bases: :py:obj:`enum.Enum` .. autoapi-inheritance-diagram:: wolfhece.hydrometry.kiwis.kiwis_site_fields :parts: 1 :private-bases: Generic enumeration. Derive from this class to define new enumerations. .. py:attribute:: site_no :value: 'site_no' .. py:attribute:: site_name :value: 'site_name' .. py:attribute:: site_id :value: 'site_id' .. py:data:: KIWIS_GROUP_TS .. py:data:: KIWIS_GROUP_TS_WATERINFO .. py:data:: KIWIS_GROUP_TS_HIC .. py:class:: kiwis_keywords_horq Bases: :py:obj:`enum.Enum` .. autoapi-inheritance-diagram:: wolfhece.hydrometry.kiwis.kiwis_keywords_horq :parts: 1 :private-bases: Generic enumeration. Derive from this class to define new enumerations. .. py:attribute:: V5_10MIN :value: 'complet' .. py:attribute:: V1H :value: '1h.moyen' .. py:attribute:: VDAY :value: 'jour.moyen' .. py:attribute:: VMONTH :value: 'mois.moyen' .. py:attribute:: VMAXAN :value: 'an.maximum' .. py:attribute:: VMAXANHYD :value: 'anHydro.maximum' .. py:attribute:: VMINANHYD :value: 'anHydro.minimum' .. py:class:: kiwis_keywords_rain Bases: :py:obj:`enum.Enum` .. autoapi-inheritance-diagram:: wolfhece.hydrometry.kiwis.kiwis_keywords_rain :parts: 1 :private-bases: Generic enumeration. Derive from this class to define new enumerations. .. py:attribute:: V5_10MIN :value: 'production' .. py:attribute:: V1H :value: '1h.total' .. py:attribute:: VDAY :value: 'jour.total' .. py:attribute:: VMONTH :value: 'mois.total' .. py:attribute:: VMAXAN :value: 'an.maximum' .. py:attribute:: VMAXANHYD :value: 'anHydro.maximum' .. py:attribute:: VMINANHYD :value: 'AnHydro.minimum' .. py:class:: kiwis_default_q Bases: :py:obj:`enum.Enum` .. autoapi-inheritance-diagram:: wolfhece.hydrometry.kiwis.kiwis_default_q :parts: 1 :private-bases: Generic enumeration. Derive from this class to define new enumerations. .. py:attribute:: Q_FULL :value: '05-Debit.Complet' .. py:attribute:: Q_1H :value: '10-Debit.1h.Moyen' .. py:attribute:: Q_1H_Ultra :value: '10-Debit ultrason.1h.Moyen' .. py:class:: kiwis_default_h Bases: :py:obj:`enum.Enum` .. autoapi-inheritance-diagram:: wolfhece.hydrometry.kiwis.kiwis_default_h :parts: 1 :private-bases: Generic enumeration. Derive from this class to define new enumerations. .. py:attribute:: H_FULL :value: '05-Hauteur.Complet' .. py:attribute:: H_1H :value: '10-Hauteur.1h.Moyen' .. py:attribute:: H_1J :value: '20-Hauteur.Jour.Moyen' .. py:attribute:: Z_1H :value: '10-Hauteur_absolue.1h.Moyen' .. py:class:: kiwis_default_rain Bases: :py:obj:`enum.Enum` .. autoapi-inheritance-diagram:: wolfhece.hydrometry.kiwis.kiwis_default_rain :parts: 1 :private-bases: Generic enumeration. Derive from this class to define new enumerations. .. py:attribute:: R_FULL :value: '05-Precipitation.Complete' .. py:attribute:: R_PROD :value: '02b-Precipitation.5min.Production' .. py:attribute:: R_1H :value: '10-Precipitation.1h.Total' .. py:attribute:: R_1J :value: '20-Precipitation.Jour.Total' .. py:attribute:: R_1M :value: '40-Precipitation.Mois.Total' .. py:class:: kiwis_default_rain_Waterinfo Bases: :py:obj:`enum.Enum` .. autoapi-inheritance-diagram:: wolfhece.hydrometry.kiwis.kiwis_default_rain_Waterinfo :parts: 1 :private-bases: Generic enumeration. Derive from this class to define new enumerations. .. py:attribute:: R_FULL :value: 'P.1' .. py:attribute:: R_10 :value: 'P.10' .. py:attribute:: R_5 :value: 'P.5' .. py:attribute:: R_15 :value: 'P.15' .. py:attribute:: R_1H :value: 'P.60' .. py:attribute:: R_1J :value: 'DagTotaal' .. py:attribute:: R_1M :value: 'MaandTotaal' .. py:class:: kiwis_default_rain_HIC Bases: :py:obj:`enum.Enum` .. autoapi-inheritance-diagram:: wolfhece.hydrometry.kiwis.kiwis_default_rain_HIC :parts: 1 :private-bases: Generic enumeration. Derive from this class to define new enumerations. .. py:attribute:: R_FULL :value: 'Base' .. py:attribute:: R_15 :value: '15Tot' .. py:attribute:: R_1H :value: '60Tot' .. py:attribute:: R_1J :value: 'DagTot' .. py:attribute:: R_1M :value: 'MaandTot' .. py:class:: quality_code Bases: :py:obj:`enum.Enum` .. autoapi-inheritance-diagram:: wolfhece.hydrometry.kiwis.quality_code :parts: 1 :private-bases: Generic enumeration. Derive from this class to define new enumerations. .. py:attribute:: STANDARD :value: (40, 'blue', '') .. py:attribute:: ESTIMATED_OK :value: (80, 'green', '+') .. py:attribute:: ESTIMATED_DOUBT :value: (120, 'orange', '>') .. py:attribute:: DOUBT :value: (160, 'orange', '*') .. py:attribute:: RAW :value: (200, 'gray', '.') .. py:attribute:: BAD :value: (205, 'red', 'o') .. py:attribute:: BAD2 :value: (210, 'red', 'x') .. py:attribute:: VOID :value: (255, 'black', '.') .. py:attribute:: VOID2 :value: () .. py:class:: station_fields Bases: :py:obj:`enum.Enum` .. autoapi-inheritance-diagram:: wolfhece.hydrometry.kiwis.station_fields :parts: 1 :private-bases: Generic enumeration. Derive from this class to define new enumerations. .. py:attribute:: STATION_ID :value: 'station_id' .. py:attribute:: STATION_NO :value: 'station_no' .. py:attribute:: STATION_NAME :value: 'station_name' .. py:attribute:: STATION_LOCAL_X :value: 'station_local_x' .. py:attribute:: STATION_LOCAL_Y :value: 'station_local_y' .. py:attribute:: STATION_LATITUDE :value: 'station_latitude' .. py:attribute:: STATION_LONGITUDE :value: 'station_longitude' .. py:attribute:: RIVER_NAME :value: 'river_name' .. py:class:: timeseries_fields Bases: :py:obj:`enum.Enum` .. autoapi-inheritance-diagram:: wolfhece.hydrometry.kiwis.timeseries_fields :parts: 1 :private-bases: Generic enumeration. Derive from this class to define new enumerations. .. py:attribute:: TS_ID :value: 'ts_id' .. py:attribute:: TS_NAME :value: 'ts_name' .. py:attribute:: TS_UNITNAME :value: 'ts_unitname' .. py:attribute:: TS_UNITSYMBOL :value: 'ts_unitsymbol' .. py:class:: hydrometry(url: str = URL_SPW, urltoken: str = URL_TOKEN, credential='', dir='') .. py:method:: _get_commandstr(which: str, format='json') Construction de la commande à envoyer au serveur KIWIS .. py:method:: daily_token() Get daily token to be identified on hydrometry website #FIXME: better manage error as response .. py:method:: check_plot() Instance is checked in mapviewer .. py:method:: uncheck_plot() Instance is unchecked in mapviewer .. py:method:: get_path(dir: pathlib.Path, filename: str) Get path of instance .. py:method:: save_struct(dir='') Sauvegarde des structures dans un répertoire :param dir: répertoire de sauvegarde .. py:method:: _get_stations_pythonlist(site_no: str | int, onlyreal: bool = True, return_only_name: bool = False) Obtention des stations pour le site en liste python :param site_no: numéro du site :param onlyreal: ne prendre que les stations réelles, pas les calculées .. py:method:: _get_sites_pythonlist() Obtention des sites en liste python .. py:method:: get_stations() Obtention des stations pour le serveur courant. Une requête sur le serveur KIWIS retourne les informations pour toutes les stations. Une séparation entre station réelle et station calculée est ensuite effectuée: - self.realstations - self.compstations Champs des stations : - site_no : numéro du site ; le site correspond au réseau de mesure : DGH pour les stations du SPW-MI et DCENN pour les stations du SPW-ARNE ; - station_no, station_name : code et nom de la station ; - station_local_x, station_local_y : coordonnées de la station en Lambert belge 1972 ; - station_latitude,station_longitude : coordonnées de la station en ETRS89 ; - river_name : nom de la rivière, cette information n’est disponible que pour les stations de mesure de hauteur d’eau et de débits, les pluviomètres ne sont pas installés sur une rivière – il n’y a donc pas de nom de rivière associé ; - parametertype_name : type de paramètre ; - ts_id, ts_name : code et nom de la chronique ; - ts_unitname, ts_unitsymbol : nom et symbole de l’unité de mesure ; - ca_sta&ca_sta_returnfields=BV_DCE : nom du bassin versant principal suivi de son abréviation (2 lettres) .. py:method:: get_names_xy(site_no=None) Obtention des noms et coordonnées des stations pour le site :param site_no: numéro du site .. py:method:: get_names_latlon(site_no=None) Obtention des noms et coordonnées des stations pour le site :param site_no: numéro du site .. py:method:: select_inside(xll: float, yll: float, xur: float, yur: float, tolist=False) Recherche les stations dans une zone rectangulaire :param xll: X lower left - Lambert 72 :param yll: Y lower left - Lambert 72 :param xur: X upper right - Lambert 72 :param yur: Y upper right - Lambert 72 :param tolist: retourne une liste de noms et codes de stations et nom un dataframe :return: liste de noms et codes de stations ou dataframe .. py:method:: select_inside_latlon(lonll: float, latll: float, lonur: float, latur: float, tolist=False) Recherche les stations dans une zone rectangulaire :param lonll: Longitude lower left - WGS84 :param latll: Latitude lower left - WGS84 :param lonur: Longitude upper right - WGS84 :param latur: Latitude upper right - WGS84 :param tolist: retourne une liste de noms et codes de stations et nom un dataframe :return: liste de noms et codes de stations ou dataframe .. py:method:: sort_nearests(x: float, y: float) Trie les stations en fonction de la distance et retourne un index trié :param x: coordonnée x - Lambert 72 :param y: coordonnée y - Lambert 72 .. py:method:: sort_nearests_latlon(lon: float, lat: float) Trie les stations en fonction de la distance et retourne un index trié :param lon: longitude - WGS84 :param lat: latitude - WGS84 .. py:method:: find_nearest(x: float, y: float, tolist=False) Trouve la station la plus proche :param x: coordonnée x - Lambert 72 :param y: coordonnée y - Lambert 72 .. py:method:: find_nearest_latlon(lon: float, lat: float, tolist=False) Trouve la station la plus proche :param lon: longitude - WGS84 :param lat: latitude - WGS84 .. py:method:: get_timeseries_group(rfw: Literal[rain, waterdepth, flowrate], time: Literal[highres, 5min, 5or10min, 15min, 1h, 1d, 1m]) Obtention des stations pour le groupe souhaité. Temps retourné en UTC :param rfw: type de groupe - rain, flowrate, waterdepth :param time: type de série - 5min, 5or10min, 1h, 1d, 1m .. py:method:: get_timeseries_group_spw(rfw: Literal[rain, waterdepth, flowrate], time: Literal[5min, 5or10min, 1h, 1d, 1m]) alias for get_timeseries_group .. py:method:: get_timeseries_group_winfo_hic(group: WaterInfo_GroupdID | HICWS_GroupID) Obtention des stations pour le groupe souhaité. Temps retourné en UTC :param group: type de groupe - see WaterInfo_GroupdID or HICWS_GroupID .. py:method:: get_sites(forcerequest=False) Obtention des sites pour le serveur courant :param forcerequest: force la requête même si les données de cache sont déjà présentes .. py:method:: get_groups(forcerequest=False) Obtention des groupes pour le serveur courant :param forcerequest: force la requête même si les données de cache sont déjà présentes .. py:method:: get_requests(forcerequest=False) Obtention des requêtes possibles pour le serveur courant :param forcerequest: force la requête même si les données de cache sont déjà présentes .. py:method:: print_requestinfo(which: kiwis_command) Affichage des informations pour une requête donnée :param which: requête à afficher .. py:method:: timeseries_list(stationname: str = '', stationcode: str = '') Récupération de la liste des TimeSeries pour l'id d'une station soit via le nom de la station, soit via le code de la station. :param stationname: nom de la station :param stationcode: code de la station .. py:method:: save_all_lists(dir: str) Sauveragde des listes pour toutes les stations :param dir: répertoire de sauvegarde .. py:method:: _get_filename_list(stationname: str = '', stationcode: str = '') retourne un nom de fichier avec la station et le code Utile car dans certains noms de la BDD KIWIS il y a un caractère '/' qui ne peut être utilisé comme nom de fichier Il est remplacé par '-' .. py:method:: _get_filename_series(stationname: str = '', stationcode: str = '', which: kiwis_default_q | kiwis_default_h | kiwis_keywords_horq | kiwis_default_rain = kiwis_default_q.Q_FULL) retourne un nom de fichier avec la station et le code et le type de données Utile car dans certains noms de la BDD KIWIS il y a un caractère '/' qui ne peut être utilisé comme nom de fichier Il est remplacé par '-' .. py:method:: save_list(stationname: str = '', stationcode: str = '', dir: str = '') Sauvegarde de la liste des des timeseries dans un fichier :param stationname: nom de la station :param stationcode: code de la station :param dir: répertoire de sauvegarde .. py:method:: timeseries(stationname: str = '', stationcode: str = '', stationid: str = '', dir: str = '', fromdate=datetime.now() - timedelta(60), todate=datetime.now(), ts_name: str = '', ts_id: str = '', interval: int = 3600, timezone: str = 'GMT+0') Récupération des valeurs d'une TimeSerie - sur base des dates - soit en donnant : - le nom de la station ou le code ET le nom de la timeserie --> dans ce cas, la routine commence par retrouver l'id de la ts - directement l'id de la timeserie :param stationname: nom de la station :param stationcode: code de la station :param dir: répertoire de sauvegarde :param fromdate: date de début :param todate: date de fin :param ts_name: nom de la timeserie :param ts_id: id de la timeserie :param interval: intervalle de temps :param timezone: timezone .. py:method:: timeseries_qc(stationname: str = '', stationcode: str = '', dir: str = '', fromdate=datetime.now() - timedelta(60), todate=datetime.now(), ts_name: str = '', ts_id: str = '', interval: int = 3600, timezone: str = 'GMT+0') Récupération des quality code d'une TimeSerie - sur base des dates - soit en donnant : - le nom de la station ou le code ET le nom de la timeserie --> dans ce cas, la routine commence par retrouver l'id de la ts - directement l'id de la timeserie :param stationname: nom de la station :param stationcode: code de la station :param dir: répertoire de sauvegarde :param fromdate: date de début :param todate: date de fin :param ts_name: nom de la timeserie :param ts_id: id de la timeserie :param interval: intervalle de temps :param timezone: timezone .. py:method:: fromcsv(dir: str = 'spw', stationname: str = '', stationcode: str = '', which: kiwis_default_q | kiwis_default_h | kiwis_keywords_horq | kiwis_default_rain = kiwis_default_q.Q_FULL, fromdate: datetime.datetime = None, todate: datetime.datetime = None) Lecture depuis un fichier csv créé depuis un import précédent. Les fichiers doivent être disponibles depuis un sous-répertoire spw. :param dir: répertoire de sauvegarde :param stationname: nom de la station :param stationcode: code de la station :param which: type de données :param fromdate: date de début :param todate: date de fin .. py:method:: saveas(flow: pandas.Series, dir: str, stationname='', stationcode='', which: kiwis_default_q | kiwis_default_h | kiwis_keywords_horq | kiwis_default_rain = kiwis_default_q.Q_FULL) Sauvegarde d'une series pandas dans un fichier .csv :param flow: série pandas :param dir: répertoire de sauvegarde :param stationname: nom de la station :param stationcode: code de la station :param which: type de données .. py:method:: get_stationid(name: str = '', code: str = '') -> int Récupération de l'id sur base du nom ou du code :param name: nom de la station :param code: code de la station .. py:method:: get_gauge_datum(name: str = '', code: str = '') Récupération de l'altitude de référence sur base du nom ou du code :param name: nom de la station :param code: code de la station .. py:method:: get_catchment_size(name: str = '', code: str = '') Récupération de la surface du BV de référence sur base du nom ou du code :param name: nom de la station :param code: code de la station .. py:method:: get_bv_dce(name: str = '', code: str = '') Récupération du nom de BV au sens de la DCE "Directive Cadre Eau" sur base du nom ou du code :param name: nom de la station :param code: code de la station .. py:method:: get_stationcode(name: str = '') Récupération du code sur base du nom :param name: nom de la station .. py:method:: get_stationname(code: str = '') Récupération du nom sur base du code :param code: code de la station .. py:method:: get_siteid(name: str = '', code: str = '') Récupération de l'id sur base du nom ou du code :param name: nom de la station :param code: code de la station .. py:method:: get_sitecode(name: str = '') Récupération du code sur base du nom :param name: nom de la station .. py:method:: get_sitename(code: str = '') Récupération du nom sur base du code :param code: code de la station