ingestion package
Submodules
ingestion.factory_parser module
Module permettant de récupérer le parser associé à un fichier.
Ce module contient les fonctions permettant de récupérer le parser associé à un fichier.
- ingestion.factory_parser.get_extension(file)[source]
Fonction permettant de récupérer l’extension d’un fichier.
- Parameters:
file (Path) – Le fichier a à analyser.
- Returns:
L’extension normalisée du fichier.
- Return type:
str
- ingestion.factory_parser.get_files_parser(files)[source]
Fonction permettant de trouver les parsers associés aux fichiers.
- Parameters:
files (Collection[Path]) – Les fichiers à traiter.
- Returns:
Un objet ParserFiles contenant le parser associés aux fichiers.
- Return type:
ParserFiles
- Raises:
factory_parser.ParserIdentifierError – Si une erreur survient lors de l’identification du parser.
factory_parser.MultipleParsersError – Si plusieurs parsers sont identifiés.
- ingestion.factory_parser.get_header(file, extension, no_header_extension=('.geojson', '.wibl'))[source]
Fonction permettant de lire l’entête d’un fichier.
- Parameters:
file (Path) – Le fichier à lire.
extension (str) – L’extension du fichier.
no_header_extension (tuple[str, ...]) – Les extensions de fichiers qui n’ont pas d’entête.
- Returns:
Un tuple contenant les noms des colonnes ou None si l’entête n’est pas trouvé.
- Return type:
tuple[str, …] | None
- ingestion.factory_parser.get_parser_factory(file)[source]
Fonction permettant de récupérer le parser associé à un fichier.
- Parameters:
file (Path) – Le fichier à parser.
- Returns:
Le parser associé.
- Return type:
Type[DataParserABC]
- Raises:
ParserIdentifierError – Si le parser n’est pas trouvé.
- ingestion.factory_parser.ACTISENSE_HEADER: tuple[str, ...] = ('Line', 'Time', 'Name', 'Water Depth Transducer', 'Offset', 'Position date', 'Position time', 'Latitude.1', 'Longitude.1', 'Course Over Ground', 'Speed Over Ground', 'PGN')
Entête des fichiers Actisense.
- ingestion.factory_parser.B12_CSB_HEADER: None = None
Entête des fichiers B12-CSB.
- ingestion.factory_parser.BLACKBOX_HEADER: None = None
Entête des fichiers BlackBox.
- ingestion.factory_parser.DCDB_HEADER: tuple[str, ...] = ('LON', 'LAT', 'DEPTH', 'TIME')
Entête des fichiers DCDB.
- ingestion.factory_parser.EXTENSION_PATTERNS: dict[str, str] = {'\\.TXT$': '.TXT', '\\.\\d+$': '.wibl', '\\.csv$': '.csv', '\\.geojson$': '.geojson', '\\.xyz$': '.xyz'}
Dictionnaire associant les patterns d’extensions aux extensions normalisées.
- ingestion.factory_parser.FACTORY_PARSER: dict[tuple[tuple[str, ...] | None, str], Type[DataParserABC]] = {(('LON', 'LAT', 'DEPTH', 'TIME'), '.csv'): <class 'ingestion.parser_dcdb.DataParserBCDB'>, (('LON', 'LAT', 'DEPTH', 'TIME'), '.xyz'): <class 'ingestion.parser_ofm.DataParserOFM'>, (('Line', 'Time', 'Name', 'Water Depth Transducer', 'Offset', 'Position date', 'Position time', 'Latitude.1', 'Longitude.1', 'Course Over Ground', 'Speed Over Ground', 'PGN'), '.csv'): 'Actisense', (('Longitude[°WGS84]', 'Latitude[°WGS84]', 'WaterDepth[Feet]', 'DateTime[UTC]', 'SurveyType'), '.csv'): <class 'ingestion.parser_lowrance.DataParserLowrance'>, (('timestamp', 'latitude', 'longitude', 'chartdatumheight'), '.TXT'): <class 'ingestion.parser_hydroblock.DataParserHydroBlock'>, (None, '.TXT'): <class 'ingestion.parser_black_box.DataParserBlackBox'>, (None, '.geojson'): <class 'ingestion.parser_b12_csb.DataParserB12CSB'>, (None, '.wibl'): <class 'ingestion.parser_wibl.DataParserWIBL'>}
Dictionnaire associant les entêtes et les extensions aux parsers.
- ingestion.factory_parser.HYDROBLOCK_HEADER: tuple[str, ...] = ('timestamp', 'latitude', 'longitude', 'chartdatumheight')
Entête des fichiers HydroBlock.
- ingestion.factory_parser.Header
Alias pour un tuple de str représentant une entête.
alias of
tuple[str, …]
- ingestion.factory_parser.LOWRANCE_HEADER: tuple[str, ...] = ('Longitude[°WGS84]', 'Latitude[°WGS84]', 'WaterDepth[Feet]', 'DateTime[UTC]', 'SurveyType')
Entête des fichiers Lowrance.
- ingestion.factory_parser.NO_HEADER: tuple[str, ...] = ('.geojson', '.wibl')
Extensions de fichiers qui n’ont pas d’entête.
- ingestion.factory_parser.OFM_HEADER: tuple[str, ...] = ('LON', 'LAT', 'DEPTH', 'TIME')
Entête des fichiers OFM.
- ingestion.factory_parser.WIBL_HEADER: None = None
Entête des fichiers WIBL.
ingestion.parser_abc module
Module permettant de définir une classe abstraite pour les parsers de données.
- class ingestion.parser_abc.DataParserABC[source]
Bases:
ABCClasse abstraite pour les parsers de données.
- classmethod from_files(cls, files)[source]
Méthode permettant de lire les fichiers brutes et retourne un geodataframe.
- Parameters:
files (Collection[Path]) – Les fichiers à lire.
- Returns:
Un GeoDataFrame respectant le schéma de données DataLoggerSchema.
- Return type:
gpd.GeoDataFrame[DataLoggerWithTideZoneSchema]
- static add_empty_columns_to_geodataframe(data)[source]
Ajoute des colonnes vides à un GeoDataFrame.
- Parameters:
data (gpd.GeoDataFrame[schema.DataLoggerSchema]) – Données brutes.
- Returns:
Données avec des colonnes vides.
- Return type:
gpd.GeoDataFrame[schema.DataLoggerWithTideZoneSchema]
- static convert_dtype(dataframe, dtype_dict, file, time_column=None, time_format=None)[source]
Méthode permettant de convertir et nettoyer le dataframe.
- Parameters:
dataframe (pd.DataFrame | gpd.GeoDataFrame) – Le dataframe à convertir.
dtype_dict (dict[str, str]) – Un dictionnaire de type de données.
time_column (str | None) – Le nom de la colonne de temps.
file (Path) – Le fichier source.
time_format (str | None) – Le format de la colonne de temps.
- Returns:
Le dataframe converti et nettoyé.
- Return type:
pd.DataFrame | gpd.GeoDataFrame
- static drop_na(data)[source]
Méthode permettant de supprimer les lignes contenant des valeurs manquantes.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à nettoyer.
- Returns:
Le geodataframe nettoyé.
- Return type:
gpd.GeoDataFrame
- static remove_duplicates(data)[source]
Méthode permettant de supprimer les doublons du geodataframe.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à nettoyer.
- Returns:
Le geodataframe nettoyé.
- Return type:
gpd.GeoDataFrame
- static sort_geodataframe_by_datetime(data)[source]
Méthode permettant de trier le geodataframe par datetime.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à trier.
- Returns:
Le geodataframe trié.
- Return type:
gpd.GeoDataFrame
- static validate_columns(dataframe, file, column_exceptions)[source]
Méthode permettant de valider les colonnes du dataframe.
- Parameters:
dataframe (pd.DataFrame) – Le dataframe à valider.
file (Path) – Le fichier source.
column_exceptions (Collection[ColumnException]) – Les noms et les exceptions de colonnes.
- Raises:
ParsingDataframeLongitudeError – Erreur si la colonne de longitude est absente.
ParsingDataframeLatitudeError – Erreur si la colonne de latitude est absente.
ParsingDataframeDepthError – Erreur si la colonne de profondeur est absente.
ParsingDataframeTimeError – Erreur si la colonne de temps est absente.
- Return type:
None
- abstractmethod read(file, **kwargs)[source]
Méthode permettant de lire un fichier brut et retourne un geodataframe.
- Parameters:
file (Path) – Le fichier à lire.
- Returns:
Un GeoDataFrame.
- Return type:
gpd.GeoDataFrame
ingestion.parser_dcdb module
Module permettant de parser les données de type DCDB.
- class ingestion.parser_dcdb.DataParserBCDB[source]
Bases:
DataParserABCClasse permettant de parser les données de type DCDB.
- read(file, dtype_dict=None)[source]
Méthode permettant de lire un fichier brut et retourne un geodataframe.
- Parameters:
file (Path) – Le fichier à lire.
dtype_dict (dict[str, str]) – Un dictionnaire de type de données.
- Returns:
Un GeoDataFrame.
- Return type:
gpd.GeoDataFrame
- transform(data)[source]
Méthode permettant de transformer le geodataframe pour respecter le schéma de données.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à transformer.
- Returns:
e geodataframe transformé et respectant le schéma de données DataLoggerSchema.
- Return type:
gpd.GeoDataFrame[schema_ids.DataLoggerSchema]
ingestion.parser_exception module
Module pour définir les exceptions des parsers.
- exception ingestion.parser_exception.MultipleParsersError(parsers)[source]
Bases:
ExceptionException pour les erreurs de multiples parsers.
- parsers: Collection[Type[DataParserABC]]
Liste des parsers trouvés.
ingestion.parser_ids module
Ce module contient les constantes utilisées pour parser les données des fichiers OFM, DCDB, Lowrance et Actisense.
- ingestion.parser_ids.ACTISENSE: str = 'Actisense'
Valeur de la constante pour le type de données Actisense.
- ingestion.parser_ids.B12_CSB: str = 'B12-CSB'
Valeur de la constante pour le type de données B12-CSB.
- ingestion.parser_ids.BLACKBOX: str = 'BlackBox'
Valeur de la constante pour le type de données BlackBox.
- ingestion.parser_ids.CHARTDATUMHEIGHT_HYDROBLOCK: str = 'chartdatumheight'
Valeur de la constante pour la colonne de profondeur au zéro des cartes des données HydroBlock.
- ingestion.parser_ids.COURSE_OVER_GROUND_ACTISENSE: str = 'Course Over Ground'
Valeur de la constante pour la colonne de cap sur le fond des données Actisense.
- ingestion.parser_ids.DATE_BLACKBOX: str = 'Date'
Valeur de la constante pour la colonne de date des données BlackBox.
- ingestion.parser_ids.DCDB: str = 'DCDB'
Valeur de la constante pour le type de données DCDB.
- ingestion.parser_ids.DEPTH_ACTISENSE: str = 'Water Depth Transducer'
Valeur de la constante pour la colonne de profondeur des données Actisense.
- ingestion.parser_ids.DEPTH_B12_CSB: str = 'depth'
Valeur de la constante pour la colonne de profondeur des données B12-CSB.
- ingestion.parser_ids.DEPTH_BLACKBOX: str = 'Depth'
Valeur de la constante pour la colonne de profondeur des données BlackBox.
- ingestion.parser_ids.DEPTH_DCDB: str = 'DEPTH'
Valeur de la constante pour la colonne de profondeur des données DCDB.
- ingestion.parser_ids.DEPTH_LOWRANCE: str = 'WaterDepth[Feet]'
Valeur de la constante pour la colonne de profondeur des données Lowrance.
- ingestion.parser_ids.DEPTH_OFM: str = 'DEPTH'
Valeur de la constante pour la colonne de profondeur des données OFM.
- ingestion.parser_ids.EPSG_WGS84: str = 'EPSG:4326'
Valeur de la constante pour le code EPSG 4326.
- ingestion.parser_ids.EXTENSION_CSV: str = '\\.csv$'
Pattern regex pour l’extension de fichier CSV.
- ingestion.parser_ids.EXTENSION_GEOJSON: str = '\\.geojson$'
Pattern regex pour l’extension de fichier GeoJSON.
- ingestion.parser_ids.EXTENSION_TXT: str = '\\.TXT$'
Pattern regex pour l’extension de fichier TXT.
- ingestion.parser_ids.EXTENSION_WIBL: str = '\\.\\d+$'
Pattern regex pour l’extension de fichier WIBL (extension numérique).
- ingestion.parser_ids.EXTENSION_XYZ: str = '\\.xyz$'
Pattern regex pour l’extension de fichier XYZ.
- ingestion.parser_ids.FLOAT64: str = 'float64'
Valeur de la constante pour le type de données float64.
- ingestion.parser_ids.HYDROBLOCK: str = 'HydroBlock'
Valeur de la constante pour le type de données HydroBlock.
- ingestion.parser_ids.LATITUDE_ACTISENSE: str = 'Latitude.1'
Valeur de la constante pour la colonne de latitude des données Actisense.
- ingestion.parser_ids.LATITUDE_BLACKBOX: str = 'Latitude'
Valeur de la constante pour la colonne de latitude des données BlackBox.
- ingestion.parser_ids.LATITUDE_DCDB: str = 'LAT'
Valeur de la constante pour la colonne de latitude des données DCDB.
- ingestion.parser_ids.LATITUDE_HYDROBLOCK: str = 'latitude'
Valeur de la constante pour la colonne de latitude des données HydroBlock.
- ingestion.parser_ids.LATITUDE_LOWRANCE: str = 'Latitude[°WGS84]'
Valeur de la constante pour la colonne de latitude des données Lowrance.
- ingestion.parser_ids.LATITUDE_OFM: str = 'LAT'
Valeur de la constante pour la colonne de latitude des données OFM.
- ingestion.parser_ids.LINE_ACTISENSE: str = 'Line'
Valeur de la constante pour la colonne de ligne des données Actisense.
- ingestion.parser_ids.LONGITUDE_ACTISENSE: str = 'Longitude.1'
Valeur de la constante pour la colonne de longitude des données Actisense.
- ingestion.parser_ids.LONGITUDE_BLACKBOX: str = 'Longitude'
Valeur de la constante pour la colonne de longitude des données BlackBox.
- ingestion.parser_ids.LONGITUDE_DCDB: str = 'LON'
Valeur de la constante pour la colonne de longitude des données DCDB.
- ingestion.parser_ids.LONGITUDE_HYDROBLOCK: str = 'longitude'
Valeur de la constante pour la colonne de longitude des données HydroBlock.
- ingestion.parser_ids.LONGITUDE_LOWRANCE: str = 'Longitude[°WGS84]'
Valeur de la constante pour la colonne de longitude des données Lowrance.
- ingestion.parser_ids.LONGITUDE_OFM: str = 'LON'
Valeur de la constante pour la colonne de longitude des données OFM.
- ingestion.parser_ids.LOWRANCE: str = 'Lowrance'
Valeur de la constante pour le type de données Lowrance.
- ingestion.parser_ids.NAME_ACTISENSE: str = 'Name'
Valeur de la constante pour la colonne de nom des données Actisense.
- ingestion.parser_ids.NORMALIZED_CSV: str = '.csv'
Valeur normalisée pour l’extension CSV.
- ingestion.parser_ids.NORMALIZED_GEOJSON: str = '.geojson'
Valeur normalisée pour l’extension GeoJSON.
- ingestion.parser_ids.NORMALIZED_TXT: str = '.TXT'
Valeur normalisée pour l’extension TXT.
- ingestion.parser_ids.NORMALIZED_WIBL: str = '.wibl'
Valeur normalisée pour l’extension WIBL.
- ingestion.parser_ids.NORMALIZED_XYZ: str = '.xyz'
Valeur normalisée pour l’extension XYZ.
- ingestion.parser_ids.OFFSET_ACTISENSE: str = 'Offset'
Valeur de la constante pour la colonne de décalage des données Actisense.
- ingestion.parser_ids.OFM: str = 'OFM'
Valeur de la constante pour le type de données OFM.
- ingestion.parser_ids.PGN_ACTISENSE: str = 'PGN'
Valeur de la constante pour la colonne de PGN des données Actisense.
- ingestion.parser_ids.POSITION_DATE_ACTISENSE: str = 'Position date'
Valeur de la constante pour la colonne de date de position des données Actisense.
- ingestion.parser_ids.POSITION_TIME_ACTISENSE: str = 'Position time'
Valeur de la constante pour la colonne de temps de position des données Actisense.
- ingestion.parser_ids.PRIMARY_LOWRANCE: str = 'Primary'
Valeur de la constante pour le type de relevé primaire des données Lowrance.
- ingestion.parser_ids.SPEED_BLACKBOX: str = 'Speed'
Valeur de la constante pour la colonne de vitesse des données BlackBox.
- ingestion.parser_ids.SPEED_LOWRANCE: str = 'GNSSSpeed[m/s]'
Valeur de la constante pour la colonne de vitesse des données Lowrance.
- ingestion.parser_ids.SPEED_OVER_GROUND_ACTISENSE: str = 'Speed Over Ground'
Valeur de la constante pour la colonne de vitesse sur le fond des données Actisense.
- ingestion.parser_ids.SURVEY_TYPE_LOWRANCE: str = 'SurveyType'
Valeur de la constante pour la colonne de type de relevé des données Lowrance.
- ingestion.parser_ids.TIMESTAMP_HYDROBLOCK: str = 'timestamp'
Valeur de la constante pour la colonne de timestamp des données HydroBlock.
- ingestion.parser_ids.TIMESTAMP_OFM: str = 'TimeStamp'
Valeur de la constante pour la colonne de timestamp des données OFM.
- ingestion.parser_ids.TIME_ACTISENSE: str = 'Time'
Valeur de la constante pour la colonne de temps des données Actisense.
- ingestion.parser_ids.TIME_B12_CSB: str = 'time'
Valeur de la constante pour la colonne de temps des données B12-CSB.
- ingestion.parser_ids.TIME_BLACKBOX: str = 'Time'
Valeur de la constante pour la colonne de temps des données BlackBox.
- ingestion.parser_ids.TIME_DCDB: str = 'TIME'
Valeur de la constante pour la colonne de temps des données DCDB.
- ingestion.parser_ids.TIME_LOWRANCE: str = 'DateTime[UTC]'
Valeur de la constante pour la colonne de temps des données Lowrance.
- ingestion.parser_ids.TIME_OFM: str = 'TIME'
Valeur de la constante pour la colonne de temps des données OFM.
ingestion.parser_lowrance module
Module permettant de définir un parser pour les données de type Lowrance.
- class ingestion.parser_lowrance.DataParserLowrance[source]
Bases:
DataParserABCClasse permettant de parser les données de type Lowrance.
- static convert_depth_to_meters(data)[source]
Méthode permettant de convertir les profondeurs en mètres.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à transformer.
- Returns:
Le geodataframe transformé.
- Return type:
gpd.GeoDataFrame
- static convert_speed_to_knots(data)[source]
Méthode permettant de convertir les vitesses en mètres par seconde en noeuds.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à transformer.
- Returns:
Le geodataframe transformé.
- Return type:
gpd.GeoDataFrame
- static remove_special_characters_from_columns(data)[source]
Méthode permettant de supprimer les caractères spéciaux des noms de colonnes.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à transformer.
- Returns:
Le geodataframe transformé.
- Return type:
gpd.GeoDataFrame
- static rename_columns(data)[source]
Méthode permettant de renommer les colonnes du geodataframe.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à renommer.
- Returns:
Le geodataframe renommé.
- Return type:
gpd.GeoDataFrame
- read(file, dtype_dict=None)[source]
Méthode permettant de lire un fichier brut et retourne un geodataframe.
- Parameters:
file (Path) – Le fichier à lire.
dtype_dict (dict[str, str]) – Un dictionnaire de type de données.
- Returns:
Un GeoDataFrame.
- Return type:
gpd.GeoDataFrame
- transform(data)[source]
Méthode permettant de transformer le geodataframe pour respecter le schéma de données.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à transformer.
- Returns:
Le geodataframe transformé respectant le schéma de données DataLoggerSchema.
- Return type:
gpd.GeoDataFrame[schema.DataLoggerSchema]
ingestion.parser_ofm module
Module permettant de parser les données de type OFM.
- class ingestion.parser_ofm.DataParserOFM[source]
Bases:
DataParserABCClasse permettant de parser les données de type OFM.
- add_speed_data_to_gdf(data, file)[source]
Ajoute les données de vitesse au GeoDataFrame à partir d’un fichier associé.
- Parameters:
data (
GeoDataFrame) – Le GeoDataFrame originalfile (
Path) – Le chemin du fichier source principal
- Return type:
GeoDataFrame- Returns:
Le GeoDataFrame avec les données de vitesse ajoutées
- read(file, dtype_dict=None)[source]
Méthode permettant de lire un fichier brut et retourne un geodataframe.
- Parameters:
file (Path) – Le fichier à lire.
dtype_dict (dict[str, str]) – Un dictionnaire de type de données.
- Returns:
Un GeoDataFrame.
- Return type:
gpd.GeoDataFrame
- transform(data)[source]
Méthode permettant de transformer le geodataframe pour respecter le schéma de données.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à transformer.
- Returns:
e geodataframe transformé et respectant le schéma de données DataLoggerSchema.
- Return type:
gpd.GeoDataFrame[schema_ids.DataLoggerSchema]
ingestion.parsing_exception module
Module pour définir les exceptions du parsing.
- exception ingestion.parsing_exception.ParsingDataframeDepthError(file, column)[source]
Bases:
ParsingErrorException pour les erreurs de parsing de la colonne de profondeur.
- exception ingestion.parsing_exception.ParsingDataframeLatitudeError(file, column)[source]
Bases:
ParsingErrorException pour les erreurs de parsing de la colonne de latitude.
- exception ingestion.parsing_exception.ParsingDataframeLongitudeError(file, column)[source]
Bases:
ParsingErrorException pour les erreurs de parsing de la colonne de longitude
- exception ingestion.parsing_exception.ParsingDataframeTimeError(file, column)[source]
Bases:
ParsingErrorException pour les erreurs de parsing de la colonne de temps.
- exception ingestion.parsing_exception.ParsingError(file, column)[source]
Bases:
ExceptionClasse de base pour les exceptions de parsing.
- Parameters:
file (
Path) – (Path) Le fichier en cours de lecture.column (
str) – (str) Le nom de la colonne en erreur.
- column: str
Le nom de la colonne en erreur.
- file: Path
Le ficher en erreur.
- class ingestion.parsing_exception.ColumnException(column_name, error)[source]
Bases:
objectClasse pour les exceptions de colonnes.
- Parameters:
column_name (
str) – (str) Le nom de la colonne.error (
Type[ParsingError]) – (Type[ParsingError]) L’erreur de parsing associée.
- column_name: str
Le nom de la colonne.
- error: Type[ParsingError]
L’erreur de parsing associée.
ingestion.warning_capture module
Module permettant d’attraper les warnings.
Module contents
Ce package contient les fonctions qui permettent de récupérer les données depuis des fichiers de différents formats.
- class ingestion.DataLoggerType(value)[source]
Bases:
StrEnumEnumération des types de données.
- ACTISENSE = 'Actisense'
Type de données Actisense.
- B12_CSB = 'B12-CSB'
Type de données B12-CSB.
- BLACKBOX = 'BlackBox'
Type de données BlackBox.
- DCDB = 'DCDB'
Type de données DCDB.
- HYDROBLOCK = 'HydroBlock'
Type de données HydroBlock.
- LOWRANCE = 'Lowrance'
Type de données Lowrance.
- OFM = 'OFM'
Type de données OFM.
- WIBL = 'WIBL'
Type de données WIBL.
- class ingestion.DataParserABC[source]
Bases:
ABCClasse abstraite pour les parsers de données.
- classmethod from_files(cls, files)[source]
Méthode permettant de lire les fichiers brutes et retourne un geodataframe.
- Parameters:
files (Collection[Path]) – Les fichiers à lire.
- Returns:
Un GeoDataFrame respectant le schéma de données DataLoggerSchema.
- Return type:
gpd.GeoDataFrame[DataLoggerWithTideZoneSchema]
- static add_empty_columns_to_geodataframe(data)[source]
Ajoute des colonnes vides à un GeoDataFrame.
- Parameters:
data (gpd.GeoDataFrame[schema.DataLoggerSchema]) – Données brutes.
- Returns:
Données avec des colonnes vides.
- Return type:
gpd.GeoDataFrame[schema.DataLoggerWithTideZoneSchema]
- static convert_dtype(dataframe, dtype_dict, file, time_column=None, time_format=None)[source]
Méthode permettant de convertir et nettoyer le dataframe.
- Parameters:
dataframe (pd.DataFrame | gpd.GeoDataFrame) – Le dataframe à convertir.
dtype_dict (dict[str, str]) – Un dictionnaire de type de données.
time_column (str | None) – Le nom de la colonne de temps.
file (Path) – Le fichier source.
time_format (str | None) – Le format de la colonne de temps.
- Returns:
Le dataframe converti et nettoyé.
- Return type:
pd.DataFrame | gpd.GeoDataFrame
- static drop_na(data)[source]
Méthode permettant de supprimer les lignes contenant des valeurs manquantes.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à nettoyer.
- Returns:
Le geodataframe nettoyé.
- Return type:
gpd.GeoDataFrame
- static remove_duplicates(data)[source]
Méthode permettant de supprimer les doublons du geodataframe.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à nettoyer.
- Returns:
Le geodataframe nettoyé.
- Return type:
gpd.GeoDataFrame
- static sort_geodataframe_by_datetime(data)[source]
Méthode permettant de trier le geodataframe par datetime.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à trier.
- Returns:
Le geodataframe trié.
- Return type:
gpd.GeoDataFrame
- static validate_columns(dataframe, file, column_exceptions)[source]
Méthode permettant de valider les colonnes du dataframe.
- Parameters:
dataframe (pd.DataFrame) – Le dataframe à valider.
file (Path) – Le fichier source.
column_exceptions (Collection[ColumnException]) – Les noms et les exceptions de colonnes.
- Raises:
ParsingDataframeLongitudeError – Erreur si la colonne de longitude est absente.
ParsingDataframeLatitudeError – Erreur si la colonne de latitude est absente.
ParsingDataframeDepthError – Erreur si la colonne de profondeur est absente.
ParsingDataframeTimeError – Erreur si la colonne de temps est absente.
- Return type:
None
- abstractmethod read(file, **kwargs)[source]
Méthode permettant de lire un fichier brut et retourne un geodataframe.
- Parameters:
file (Path) – Le fichier à lire.
- Returns:
Un GeoDataFrame.
- Return type:
gpd.GeoDataFrame
- class ingestion.DataParserBCDB[source]
Bases:
DataParserABCClasse permettant de parser les données de type DCDB.
- read(file, dtype_dict=None)[source]
Méthode permettant de lire un fichier brut et retourne un geodataframe.
- Parameters:
file (Path) – Le fichier à lire.
dtype_dict (dict[str, str]) – Un dictionnaire de type de données.
- Returns:
Un GeoDataFrame.
- Return type:
gpd.GeoDataFrame
- transform(data)[source]
Méthode permettant de transformer le geodataframe pour respecter le schéma de données.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à transformer.
- Returns:
e geodataframe transformé et respectant le schéma de données DataLoggerSchema.
- Return type:
gpd.GeoDataFrame[schema_ids.DataLoggerSchema]
- class ingestion.DataParserLowrance[source]
Bases:
DataParserABCClasse permettant de parser les données de type Lowrance.
- static convert_depth_to_meters(data)[source]
Méthode permettant de convertir les profondeurs en mètres.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à transformer.
- Returns:
Le geodataframe transformé.
- Return type:
gpd.GeoDataFrame
- static convert_speed_to_knots(data)[source]
Méthode permettant de convertir les vitesses en mètres par seconde en noeuds.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à transformer.
- Returns:
Le geodataframe transformé.
- Return type:
gpd.GeoDataFrame
- static remove_special_characters_from_columns(data)[source]
Méthode permettant de supprimer les caractères spéciaux des noms de colonnes.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à transformer.
- Returns:
Le geodataframe transformé.
- Return type:
gpd.GeoDataFrame
- static rename_columns(data)[source]
Méthode permettant de renommer les colonnes du geodataframe.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à renommer.
- Returns:
Le geodataframe renommé.
- Return type:
gpd.GeoDataFrame
- read(file, dtype_dict=None)[source]
Méthode permettant de lire un fichier brut et retourne un geodataframe.
- Parameters:
file (Path) – Le fichier à lire.
dtype_dict (dict[str, str]) – Un dictionnaire de type de données.
- Returns:
Un GeoDataFrame.
- Return type:
gpd.GeoDataFrame
- transform(data)[source]
Méthode permettant de transformer le geodataframe pour respecter le schéma de données.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à transformer.
- Returns:
Le geodataframe transformé respectant le schéma de données DataLoggerSchema.
- Return type:
gpd.GeoDataFrame[schema.DataLoggerSchema]
- class ingestion.DataParserOFM[source]
Bases:
DataParserABCClasse permettant de parser les données de type OFM.
- add_speed_data_to_gdf(data, file)[source]
Ajoute les données de vitesse au GeoDataFrame à partir d’un fichier associé.
- Parameters:
data (
GeoDataFrame) – Le GeoDataFrame originalfile (
Path) – Le chemin du fichier source principal
- Return type:
GeoDataFrame- Returns:
Le GeoDataFrame avec les données de vitesse ajoutées
- read(file, dtype_dict=None)[source]
Méthode permettant de lire un fichier brut et retourne un geodataframe.
- Parameters:
file (Path) – Le fichier à lire.
dtype_dict (dict[str, str]) – Un dictionnaire de type de données.
- Returns:
Un GeoDataFrame.
- Return type:
gpd.GeoDataFrame
- transform(data)[source]
Méthode permettant de transformer le geodataframe pour respecter le schéma de données.
- Parameters:
data (gpd.GeoDataFrame) – Le geodataframe à transformer.
- Returns:
e geodataframe transformé et respectant le schéma de données DataLoggerSchema.
- Return type:
gpd.GeoDataFrame[schema_ids.DataLoggerSchema]
- ingestion.load_and_clean_data(files, data_filter_config, already_at_chart_datum=False)[source]
Charge, parse et nettoie les données brutes CSB.
Crée le
ProcessingContextd’après le type de capteur identifié par le parseur, puis retourne les données nettoyées avec leur contexte.- Parameters:
files (Collection[Path]) – Fichiers bruts à traiter.
data_filter_config – Configuration des filtres (
processing_config.filter).already_at_chart_datum (bool) –
Truesi les données sont déjà réduites au zéro des cartes.
- Returns:
(data, ctx)ouNonesi aucune donnée valide.- Return type:
Optional[tuple[gpd.GeoDataFrame, ProcessingContext]]