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.

Paramètres:

file (Path) – Le fichier a à analyser.

Renvoie:

L’extension normalisée du fichier.

Type renvoyé:

str

ingestion.factory_parser.get_files_parser(files)[source]

Fonction permettant de trouver les parsers associés aux fichiers.

Paramètres:

files (Collection[Path]) – Les fichiers à traiter.

Renvoie:

Un objet ParserFiles contenant le parser associés aux fichiers.

Type renvoyé:

ParserFiles

Lève:
  • 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.

Paramètres:
  • 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.

Renvoie:

Un tuple contenant les noms des colonnes ou None si l’entête n’est pas trouvé.

Type renvoyé:

tuple[str, …] | None

ingestion.factory_parser.get_parser_factory(file)[source]

Fonction permettant de récupérer le parser associé à un fichier.

Paramètres:

file (Path) – Le fichier à parser.

Renvoie:

Le parser associé.

Type renvoyé:

Type[DataParserABC]

Lève:

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'>, (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.Header

Alias pour un tuple de str représentant une entête.

alias de 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 : ABC

Classe 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.

Paramètres:

files (Collection[Path]) – Les fichiers à lire.

Renvoie:

Un GeoDataFrame respectant le schéma de données DataLoggerSchema.

Type renvoyé:

gpd.GeoDataFrame[DataLoggerWithTideZoneSchema]

static add_empty_columns_to_geodataframe(data)[source]

Ajoute des colonnes vides à un GeoDataFrame.

Paramètres:

data (gpd.GeoDataFrame[schema.DataLoggerSchema]) – Données brutes.

Renvoie:

Données avec des colonnes vides.

Type renvoyé:

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.

Paramètres:
  • 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.

Renvoie:

Le dataframe converti et nettoyé.

Type renvoyé:

pd.DataFrame | gpd.GeoDataFrame

static drop_na(data)[source]

Méthode permettant de supprimer les lignes contenant des valeurs manquantes.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à nettoyer.

Renvoie:

Le geodataframe nettoyé.

Type renvoyé:

gpd.GeoDataFrame

static remove_duplicates(data)[source]

Méthode permettant de supprimer les doublons du geodataframe.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à nettoyer.

Renvoie:

Le geodataframe nettoyé.

Type renvoyé:

gpd.GeoDataFrame

static sort_geodataframe_by_datetime(data)[source]

Méthode permettant de trier le geodataframe par datetime.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à trier.

Renvoie:

Le geodataframe trié.

Type renvoyé:

gpd.GeoDataFrame

static validate_columns(dataframe, file, column_exceptions)[source]

Méthode permettant de valider les colonnes du dataframe.

Paramètres:
  • dataframe (pd.DataFrame) – Le dataframe à valider.

  • file (Path) – Le fichier source.

  • column_exceptions (Collection[ColumnException]) – Les noms et les exceptions de colonnes.

Lève:
Type renvoyé:

None

abstractmethod read(file, **kwargs)[source]

Méthode permettant de lire un fichier brut et retourne un geodataframe.

Paramètres:

file (Path) – Le fichier à lire.

Renvoie:

Un GeoDataFrame.

Type renvoyé:

gpd.GeoDataFrame

read_files(files)[source]

Méthode permettant de lire les fichiers brutes et retourne un geodataframe.

Paramètres:

files (Collection[Path]) – Les fichiers à lire.

Renvoie:

Un GeoDataFrame.

Type renvoyé:

gpd.GeoDataFrame

abstractmethod transform(data)[source]

Méthode permettant de transformer le geodataframe pour respecter le schéma de données.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à transformer.

Renvoie:

Le geodataframe transformé.

Type renvoyé:

gpd.GeoDataFrame

ingestion.parser_dcdb module

Module permettant de parser les données de type DCDB.

class ingestion.parser_dcdb.DataParserBCDB[source]

Bases : DataParserABC

Classe 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.

Paramètres:
  • file (Path) – Le fichier à lire.

  • dtype_dict (dict[str, str]) – Un dictionnaire de type de données.

Renvoie:

Un GeoDataFrame.

Type renvoyé:

gpd.GeoDataFrame

transform(data)[source]

Méthode permettant de transformer le geodataframe pour respecter le schéma de données.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à transformer.

Renvoie:

e geodataframe transformé et respectant le schéma de données DataLoggerSchema.

Type renvoyé:

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 : Exception

Exception pour les erreurs de multiples parsers.

parsers: Collection[Type[DataParserABC]]

Liste des parsers trouvés.

exception ingestion.parser_exception.ParserIdentifierError(file)[source]

Bases : Exception

Exception pour les erreurs d’identification du parser.

Paramètres:

file (Path) – (Path) Le fichier en cours de lecture.

file: Path

Le fichier en erreur.

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.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.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_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_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_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 : DataParserABC

Classe 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.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à transformer.

Renvoie:

Le geodataframe transformé.

Type renvoyé:

gpd.GeoDataFrame

static convert_speed_to_knots(data)[source]

Méthode permettant de convertir les vitesses en mètres par seconde en noeuds.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à transformer.

Renvoie:

Le geodataframe transformé.

Type renvoyé:

gpd.GeoDataFrame

static remove_special_characters_from_columns(data)[source]

Méthode permettant de supprimer les caractères spéciaux des noms de colonnes.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à transformer.

Renvoie:

Le geodataframe transformé.

Type renvoyé:

gpd.GeoDataFrame

static rename_columns(data)[source]

Méthode permettant de renommer les colonnes du geodataframe.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à renommer.

Renvoie:

Le geodataframe renommé.

Type renvoyé:

gpd.GeoDataFrame

read(file, dtype_dict=None)[source]

Méthode permettant de lire un fichier brut et retourne un geodataframe.

Paramètres:
  • file (Path) – Le fichier à lire.

  • dtype_dict (dict[str, str]) – Un dictionnaire de type de données.

Renvoie:

Un GeoDataFrame.

Type renvoyé:

gpd.GeoDataFrame

transform(data)[source]

Méthode permettant de transformer le geodataframe pour respecter le schéma de données.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à transformer.

Renvoie:

Le geodataframe transformé respectant le schéma de données DataLoggerSchema.

Type renvoyé:

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 : DataParserABC

Classe 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é.

Paramètres:
  • data (GeoDataFrame) – Le GeoDataFrame original

  • file (Path) – Le chemin du fichier source principal

Type renvoyé:

GeoDataFrame

Renvoie:

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.

Paramètres:
  • file (Path) – Le fichier à lire.

  • dtype_dict (dict[str, str]) – Un dictionnaire de type de données.

Renvoie:

Un GeoDataFrame.

Type renvoyé:

gpd.GeoDataFrame

transform(data)[source]

Méthode permettant de transformer le geodataframe pour respecter le schéma de données.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à transformer.

Renvoie:

e geodataframe transformé et respectant le schéma de données DataLoggerSchema.

Type renvoyé:

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 : ParsingError

Exception pour les erreurs de parsing de la colonne de profondeur.

exception ingestion.parsing_exception.ParsingDataframeLatitudeError(file, column)[source]

Bases : ParsingError

Exception pour les erreurs de parsing de la colonne de latitude.

exception ingestion.parsing_exception.ParsingDataframeLongitudeError(file, column)[source]

Bases : ParsingError

Exception pour les erreurs de parsing de la colonne de longitude

exception ingestion.parsing_exception.ParsingDataframeTimeError(file, column)[source]

Bases : ParsingError

Exception pour les erreurs de parsing de la colonne de temps.

exception ingestion.parsing_exception.ParsingError(file, column)[source]

Bases : Exception

Classe de base pour les exceptions de parsing.

Paramètres:
  • 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 : object

Classe pour les exceptions de colonnes.

Paramètres:
  • 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.

class ingestion.warning_capture.WarningCapture[source]

Bases : object

Classe permettant d’attraper les warnings.

_capture_warning(message, category, filename, lineno, file=None, line=None)[source]

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 : StrEnum

Enumé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.

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 : ABC

Classe 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.

Paramètres:

files (Collection[Path]) – Les fichiers à lire.

Renvoie:

Un GeoDataFrame respectant le schéma de données DataLoggerSchema.

Type renvoyé:

gpd.GeoDataFrame[DataLoggerWithTideZoneSchema]

static add_empty_columns_to_geodataframe(data)[source]

Ajoute des colonnes vides à un GeoDataFrame.

Paramètres:

data (gpd.GeoDataFrame[schema.DataLoggerSchema]) – Données brutes.

Renvoie:

Données avec des colonnes vides.

Type renvoyé:

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.

Paramètres:
  • 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.

Renvoie:

Le dataframe converti et nettoyé.

Type renvoyé:

pd.DataFrame | gpd.GeoDataFrame

static drop_na(data)[source]

Méthode permettant de supprimer les lignes contenant des valeurs manquantes.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à nettoyer.

Renvoie:

Le geodataframe nettoyé.

Type renvoyé:

gpd.GeoDataFrame

static remove_duplicates(data)[source]

Méthode permettant de supprimer les doublons du geodataframe.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à nettoyer.

Renvoie:

Le geodataframe nettoyé.

Type renvoyé:

gpd.GeoDataFrame

static sort_geodataframe_by_datetime(data)[source]

Méthode permettant de trier le geodataframe par datetime.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à trier.

Renvoie:

Le geodataframe trié.

Type renvoyé:

gpd.GeoDataFrame

static validate_columns(dataframe, file, column_exceptions)[source]

Méthode permettant de valider les colonnes du dataframe.

Paramètres:
  • dataframe (pd.DataFrame) – Le dataframe à valider.

  • file (Path) – Le fichier source.

  • column_exceptions (Collection[ColumnException]) – Les noms et les exceptions de colonnes.

Lève:
Type renvoyé:

None

abstractmethod read(file, **kwargs)[source]

Méthode permettant de lire un fichier brut et retourne un geodataframe.

Paramètres:

file (Path) – Le fichier à lire.

Renvoie:

Un GeoDataFrame.

Type renvoyé:

gpd.GeoDataFrame

read_files(files)[source]

Méthode permettant de lire les fichiers brutes et retourne un geodataframe.

Paramètres:

files (Collection[Path]) – Les fichiers à lire.

Renvoie:

Un GeoDataFrame.

Type renvoyé:

gpd.GeoDataFrame

abstractmethod transform(data)[source]

Méthode permettant de transformer le geodataframe pour respecter le schéma de données.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à transformer.

Renvoie:

Le geodataframe transformé.

Type renvoyé:

gpd.GeoDataFrame

class ingestion.DataParserBCDB[source]

Bases : DataParserABC

Classe 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.

Paramètres:
  • file (Path) – Le fichier à lire.

  • dtype_dict (dict[str, str]) – Un dictionnaire de type de données.

Renvoie:

Un GeoDataFrame.

Type renvoyé:

gpd.GeoDataFrame

transform(data)[source]

Méthode permettant de transformer le geodataframe pour respecter le schéma de données.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à transformer.

Renvoie:

e geodataframe transformé et respectant le schéma de données DataLoggerSchema.

Type renvoyé:

gpd.GeoDataFrame[schema_ids.DataLoggerSchema]

class ingestion.DataParserLowrance[source]

Bases : DataParserABC

Classe 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.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à transformer.

Renvoie:

Le geodataframe transformé.

Type renvoyé:

gpd.GeoDataFrame

static convert_speed_to_knots(data)[source]

Méthode permettant de convertir les vitesses en mètres par seconde en noeuds.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à transformer.

Renvoie:

Le geodataframe transformé.

Type renvoyé:

gpd.GeoDataFrame

static remove_special_characters_from_columns(data)[source]

Méthode permettant de supprimer les caractères spéciaux des noms de colonnes.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à transformer.

Renvoie:

Le geodataframe transformé.

Type renvoyé:

gpd.GeoDataFrame

static rename_columns(data)[source]

Méthode permettant de renommer les colonnes du geodataframe.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à renommer.

Renvoie:

Le geodataframe renommé.

Type renvoyé:

gpd.GeoDataFrame

read(file, dtype_dict=None)[source]

Méthode permettant de lire un fichier brut et retourne un geodataframe.

Paramètres:
  • file (Path) – Le fichier à lire.

  • dtype_dict (dict[str, str]) – Un dictionnaire de type de données.

Renvoie:

Un GeoDataFrame.

Type renvoyé:

gpd.GeoDataFrame

transform(data)[source]

Méthode permettant de transformer le geodataframe pour respecter le schéma de données.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à transformer.

Renvoie:

Le geodataframe transformé respectant le schéma de données DataLoggerSchema.

Type renvoyé:

gpd.GeoDataFrame[schema.DataLoggerSchema]

class ingestion.DataParserOFM[source]

Bases : DataParserABC

Classe 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é.

Paramètres:
  • data (GeoDataFrame) – Le GeoDataFrame original

  • file (Path) – Le chemin du fichier source principal

Type renvoyé:

GeoDataFrame

Renvoie:

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.

Paramètres:
  • file (Path) – Le fichier à lire.

  • dtype_dict (dict[str, str]) – Un dictionnaire de type de données.

Renvoie:

Un GeoDataFrame.

Type renvoyé:

gpd.GeoDataFrame

transform(data)[source]

Méthode permettant de transformer le geodataframe pour respecter le schéma de données.

Paramètres:

data (gpd.GeoDataFrame) – Le geodataframe à transformer.

Renvoie:

e geodataframe transformé et respectant le schéma de données DataLoggerSchema.

Type renvoyé:

gpd.GeoDataFrame[schema_ids.DataLoggerSchema]