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.
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 :
ProtocolConfiguration de géoréférencement.
- _is_protocol = True
- uncertainty: UncertaintyConfigProtocol
- class transformation.georeference.GeoreferenceTideConfigProtocol(*args, **kwargs)[source]
Bases :
ProtocolConfiguration de géoréférencement des marées.
- _is_protocol = True
- water_level_tolerance: Timedelta
- class transformation.georeference.UncertaintyConfigProtocol(*args, **kwargs)[source]
Bases :
ProtocolConfiguration 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:
station_id (str) – Identifiant de la station.
water_level_df (pd.DataFrame[schema.WaterLevelSerieDataWithMetaDataSchema]) – DataFrame contenant les niveaux d’eau.
- 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:
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.
decimal_precision (int) – Précision décimale pour les valeurs de profondeur.
- 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)[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é.
- 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:
data (gpd.GeoDataFrame[schema.DataLoggerWithTideZoneSchema]) – Données brutes de profondeur.
water_level_data (dict[str, pd.DataFrame[schema.WaterLevelSerieDataWithMetaDataSchema]]) – Niveau d’eau.
water_level_tolerance (pd.Timedelta) – Tolérance de temps pour la récupération de la valeur du niveau d’eau.
- 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 :
ProtocolProtocole 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 :
ProtocolProtocole 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.