Code source de tide.voronoi.voronoi_models

"""
Module qui contient les modèles et les protocoles pour manipuler les données des séries temporelles et des stations.
"""

from typing import Protocol, Collection, Optional

import geopandas as gpd


[docs] class TimeSeriesProtocol(Protocol): """ Protocole pour définir les types des séries temporelles. """ WLO: str = "wlo" """Water Level Observed.""" WLF_SPINE: str = "wlf-spine" """Water Level Forecast Spine.""" WLF_VTG: str = "wlf-vtg" """Water Level Forecast VTG.""" WLF: str = "wlf" """Water Level Forecast.""" WLP: str = "wlp" """Water Level Prediction."""
[docs] def from_str(cls, value: str) -> "TimeSeriesProtocol": """ Méthode pour convertir une chaîne de caractères en série temporelle. :param value: Chaîne de caractères. :type value: str :return: Série temporelle. :rtype: TimeSeriesProtocol """ pass
[docs] class StationsHandlerProtocol(Protocol): """ Protocole pour définir les méthodes de manipulation des stations. """
[docs] def get_stations_geodataframe( self, filter_time_series: Collection[TimeSeriesProtocol] | None, excluded_stations: Collection[str] | None, ttl: Optional[int], ) -> gpd.GeoDataFrame: """ Méthode pour récupérer le GeoDataFrame des stations. :param filter_time_series: Liste des séries temporelles pour filtrer les stations. Si None, toutes les stations sont retournées. :type filter_time_series: Collection[TimeSeriesProtocol] | None :param excluded_stations: Liste des stations à exclure. :type excluded_stations: Collection[str] | None :param ttl: Durée de vie du cache. :type ttl: Optional[int] :return: GeoDataFrame des stations. :rtype: gpd.GeoDataFrame """ pass
[docs] def get_stations_geodataframe_from_codes( self, station_codes: Collection[str], filter_time_series: Collection[TimeSeriesProtocol], ) -> gpd.GeoDataFrame: """ Méthode pour récupérer le GeoDataFrame d'une station spécifique. :param station_codes: Liste des codes des stations. :type station_codes: Collection[str] :param filter_time_series: Liste des séries temporelles pour filtrer la station. :type filter_time_series: Collection[TimeSeriesProtocol] :return: GeoDataFrame de la station. :rtype: gpd.GeoDataFrame """ pass