transformation package

Submodules

transformation.data_cleaning module

transformation.exception_tranformation module

Module contenant les exceptions liées à la transformation des données.

Ce module contient les classes d’exceptions qui sont levées lors de la transformation des données.

exception transformation.exception_tranformation.WaterLevelDataRequiredError[source]

Bases : Exception

Exception levée lorsqu’il manque les données de niveau d’eau.

transformation.georeference module

Module de transformation des données de géoréférencement.

Ce module contient les fonctions de géoréférencement des données de bathymétrie.

class transformation.georeference.GeoreferenceConfigProtocol(*args, **kwargs)[source]

Bases : Protocol

Configuration de géoréférencement.

_is_protocol = True
tide: GeoreferenceTideConfigProtocol
uncertainty: UncertaintyConfigProtocol
class transformation.georeference.GeoreferenceTideConfigProtocol(*args, **kwargs)[source]

Bases : Protocol

Configuration de géoréférencement des marées.

_is_protocol = True
water_level_tolerance: Timedelta
class transformation.georeference.UncertaintyConfigProtocol(*args, **kwargs)[source]

Bases : Protocol

Configuration de géoréférencement des incertitudes.

_is_protocol = True
thu: THUConfigProtocol
tvu: TVUConfigProtocol
transformation.georeference._get_event_dates(station_id, water_level_df)[source]

Récupère les dates des événements avec mise en cache.

Paramètres:
Renvoie:

Index des dates des événements.

Type renvoyé:

pd.DatetimeIndex[pd.Timestamp]

transformation.georeference._handle_interpolation(gdf, indices_to_process, positions_before, positions_to_process, times_to_process, event_dates_wl, water_level_df, tolerance_seconds)[source]

Cas d’interpolation linéaire entre deux points consécutifs si dans la tolérance.

Paramètres:
  • gdf (gpd.GeoDataFrame[schema.DataLoggerWithTideZone) – GeoDataFrame des données de profondeur.

  • indices_to_process (pd.Index) – Indices des lignes à traiter.

  • positions_before (np.ndarray) – Positions avant dans les données de niveau d’eau.

  • positions_to_process (np.ndarray) – Positions après dans les données de niveau d’eau.

  • times_to_process (pd.Series[pd.Timestamp]) – Séries temporelles des lignes à traiter.

  • event_dates_wl (pd.DatetimeIndex[pd.Timestamp]) – Dates des événements de niveau d’eau.

  • water_level_df (pd.DataFrame[schema.WaterLevelSerieDataWithMetaDataSchema]) – DataFrame des niveaux d’eau.

  • tolerance_seconds (float) – Tolérance en secondes pour la récupération du niveau d’eau.

Type renvoyé:

None

transformation.georeference._handle_out_of_bounds_after(gdf, indices_to_process, times_to_process, positions_to_process, event_dates_wl, water_level_df, tolerance_seconds)[source]

Cas où la position après est hors limites: on peut utiliser le dernier point si dans la tolérance.

Paramètres:
  • gdf (gpd.GeoDataFrame[schema.DataLoggerWithTideZone) – GeoDataFrame des données de profondeur.

  • indices_to_process (pd.Index) – Indices des lignes à traiter.

  • times_to_process (pd.Series[pd.Timestamp]) – Séries temporelles des lignes à traiter.

  • positions_to_process (np.ndarray) – Positions après dans les données de niveau d’eau.

  • event_dates_wl (pd.DatetimeIndex[pd.Timestamp]) – Dates des événements de niveau d’eau.

  • water_level_df (pd.DataFrame[schema.WaterLevelSerieDataWithMetaDataSchema]) – DataFrame des niveaux d’eau.

  • tolerance_seconds (float) – Tolérance en secondes pour la récupération du niveau d’eau.

Type renvoyé:

None

transformation.georeference._handle_out_of_bounds_before(gdf, indices_to_process, times_to_process, positions_before, event_dates_wl, water_level_df, tolerance_seconds)[source]

Cas où la position avant est hors limites: on peut utiliser le premier point si dans la tolérance.

Paramètres:
  • gdf (gpd.GeoDataFrame[schema.DataLoggerWithTideZone) – GeoDataFrame des données de profondeur.

  • indices_to_process (pd.Index) – Indices des lignes à traiter.

  • times_to_process (pd.Series[pd.Timestamp]) – Séries temporelles des lignes à traiter.

  • positions_before (np.ndarray) – Positions avant dans les données de niveau d’eau.

  • event_dates_wl (pd.DatetimeIndex[pd.Timestamp]) – Dates des événements de niveau d’eau.

  • water_level_df (pd.DataFrame[schema.WaterLevelSerieDataWithMetaDataSchema]) – DataFrame des niveaux d’eau.

  • tolerance_seconds (float) – Tolérance en secondes pour la récupération du niveau d’eau.

Type renvoyé:

None

transformation.georeference._process_non_exact_matches(gdf, zone_group, mask, positions_after, water_level_df, event_dates_wl, time_utc_values, water_level_tolerance)[source]

Orchestration des traitements des cas non-exacts (hors limites & interpolation).

Paramètres:
  • gdf (gpd.GeoDataFrame[schema.DataLoggerWithTideZone) – GeoDataFrame des données de profondeur.

  • zone_group (pd.DataFrame[schema.DataLoggerWithTideZoneSchema]) – Groupe de données pour une zone de marée spécifique.

  • mask (np.ndarray) – Masque des lignes à traiter.

  • positions_after (np.ndarray) – Positions après dans les données de niveau d’eau.

  • water_level_df (pd.DataFrame[schema.WaterLevelSerieDataWithMetaDataSchema]) – DataFrame des niveaux d’eau.

  • event_dates_wl (pd.DatetimeIndex[pd.Timestamp]) – Dates des événements de niveau d’eau.

  • time_utc_values (pd.Series[pd.Timestamp]) – Séries temporelles des lignes à traiter.

  • water_level_tolerance (pd.Timedelta) – Tolérance en temps pour la récupération de la valeur du niveau d’eau.

Type renvoyé:

None

transformation.georeference._validate_and_sort_data(water_level_data)[source]

Valide et trie les données de niveau d’eau.

Paramètres:

water_level_data (dict[str, pd.DataFrame[schema.WaterLevelSerieDataWithMetaDataSchema]]) – Niveau d’eau.

Type renvoyé:

None

transformation.georeference.apply_georeference_bathymetry(data, waterline, sounder, decimal_precision)[source]

Applique la transformation de géoréférencement des données de bathymétrie.

Paramètres:
Renvoie:

Données de profondeur géoréférencées.

Type renvoyé:

gpd.GeoDataFrame[schema.DataLoggerWithTideZoneSchema]

transformation.georeference.compute_order(data)[source]

Calcule l’ordre de la TVU et de la THU des données de bathymétrie.

Paramètres:

data (gpd.GeoDataFrame[schema.DataLoggerWithTideZoneSchema]) – Données brut de profondeur.

Renvoie:

Données de profondeur avec l’ordre de la TVU et de la THU.

Type renvoyé:

gpd.GeoDataFrame[schema.DataLoggerWithTideZoneSchema]

transformation.georeference.georeference_bathymetry(data, waterline, sounder, georeference_config, water_level=None, decimal_precision=2, overwrite=False, apply_water_level=True, processing_context=None)[source]

Géoréférence les données de bathymétrie.

Paramètres:
  • data (gpd.GeoDataFrame[schema.DataLoggerWithTideZoneSchema]) – Données brutes de profondeur.

  • waterline (WaterlineProtocol) – Données de la ligne d’eau.

  • sounder (SensorProtocol) – Données du sondeur.

  • water_level (Optional[dict[str, pd.DataFrame[schema.WaterLevelSerieDataWithMetaDataSchema]]]) – Niveau d’eau.

  • georeference_config (GeoreferenceConfigProtocol) – Configuration de géoréférencement.

  • decimal_precision (Optional[int]) – Précision décimale pour les valeurs de profondeur.

  • overwrite (Optional[bool]) – Géoréférencer les données de profondeur même si elles ont déjà été géoréférencées.

  • apply_water_level (Optional[bool]) – True pour appliquer le niveau d’eau, sinon un niveau d’eau de 0 sera appliqué.

  • processing_context (Optional[ProcessingContext]) – Contexte de traitement. Porte le type de capteur et le statut de réduction au zéro des cartes, utilisés pour résoudre les constantes THU/TVU depuis datalogger_uncertainty.json.

Type renvoyé:

gpd.GeoDataFrame[schema.DataLoggerWithTideZoneSchema]

Lève:

WaterLevelDataRequiredError – Erreur si les données de niveau d’eau sont requises.

transformation.georeference.get_water_levels_vectorized(data, water_level_data, water_level_tolerance)[source]

Ajoute le niveau d’eau aux données de profondeur de manière vectorisée.

Paramètres:
Renvoie:

Données de profondeur avec le niveau d’eau.

Type renvoyé:

gpd.GeoDataFrame[schema.DataLoggerWithTideZoneSchema]

transformation.georeference.get_zero_water_levels(data)[source]

Applique un niveau d’eau de 0 aux données de profondeur.

Paramètres:

data (gpd.GeoDataFrame[schema.DataLoggerWithTideZoneSchema]) – Données brutes de profondeur.

Renvoie:

Données de profondeur brutes avec un niveau d’eau de 0.

Type renvoyé:

gpd.GeoDataFrame[schema.DataLoggerWithTideZoneSchema]

transformation.transformation_models module

Module pour les modèles de transformation.

Ce module contient les modèles de données pour la transformation des données.

class transformation.transformation_models.SensorProtocol(*args, **kwargs)[source]

Bases : Protocol

Protocole pour les données pour un capteur.

Paramètres:
  • time_stamp (datetime) – Date et heure.

  • x (float) – Bras de levier X.

  • y (float) – Bras de levier Y.

  • z (float) – Bras de levier Z.

_is_protocol = True
time_stamp: datetime

Date et heure.

x: float

Bras de levier X.

y: float

Bras de levier Y.

z: float

Bras de levier Z.

class transformation.transformation_models.WaterlineProtocol(*args, **kwargs)[source]

Bases : Protocol

Protocole pour les données pour une ligne d’eau.

Paramètres:
  • time_stamp (datetime) – Date et heure.

  • z (float) – Bras de levier Z.

_is_protocol = True
time_stamp: datetime

Date et heure.

z: float

Bras de levier Z.

Module contents

Ce package contient les modules de transformation des données.