csb_processing module
Module principal pour le traitement des données des capteurs CSB.
Ce module expose processing_workflow(), le workflow end-to-end de traitement
des données de bathymétrie crowdsourcée (ingestion → nettoyage → géoréférencement →
export). Les helpers privés décomposent chaque étape en unités de ~20 lignes.
- class csb_processing.WorkflowSetup(export_data_path, export_tide_path, log_path, processing_config, apply_water_level)[source]
Bases:
objectRésultat de l’initialisation du workflow (répertoires, config, flags).
- Parameters:
export_data_path (Path) – Répertoire
Data/de sortie.export_tide_path (Path) – Répertoire
Tide/de sortie.log_path (Path) – Répertoire
Log/de sortie.processing_config (config.CSBprocessingConfig) – Configuration de traitement chargée et validée.
apply_water_level (bool) – Flag de réduction marégraphique (potentiellement forcé à
Falsesialready_at_chart_datum).
- apply_water_level: bool
- export_data_path: Path
- export_tide_path: Path
- log_path: Path
- processing_config: CSBprocessingConfig
- csb_processing._get_caris_api_config(processing_config, config_path)[source]
Charge la configuration Caris si le format CSAR est demandé.
Lève
config.CarisConfigError(après log) si CSAR est demandé mais la configuration est invalide — le caller retourne alorsNone.- Parameters:
processing_config (config.CSBprocessingConfig) – Configuration de traitement.
config_path (Optional[Path]) – Chemin du fichier de configuration TOML.
- Returns:
Configuration Caris ou
Nonesi CSAR non demandé.- Return type:
Optional[config.CarisAPIConfig]
- Raises:
config.CarisConfigError – Si CSAR est demandé mais la config Caris est invalide.
- csb_processing._get_vessel_config(vessel, processing_config)[source]
Valide le gestionnaire de navires et retourne la configuration du navire.
- Parameters:
vessel (str | vessel_manager.VesselConfig) – Identifiant navire ou objet
VesselConfig.processing_config (config.CSBprocessingConfig) – Configuration de traitement.
- Returns:
Configuration du navire.
- Return type:
vessel_manager.VesselConfig
- Raises:
vessel_manager.VesselConfigManagerError – Si l’identifiant est une chaîne mais que le gestionnaire de navires est absent ou incomplet.
- csb_processing._process_with_water_level(data, waterline, sounder, ctx, setup, vessel_config, caris_api_config, vessel_name, water_level_stations, excluded_stations, config_path, output_file_name=None)[source]
Exécute la boucle de réduction marégraphique IWLS, puis exporte les données.
- Parameters:
data (gpd.GeoDataFrame[schema.DataLoggerWithTideZoneSchema]) – Données nettoyées.
waterline – Configuration de la ligne d’eau.
sounder – Configuration du sondeur.
ctx (ProcessingContext) – Contexte de traitement.
setup (WorkflowSetup) – Contexte d’exécution du workflow.
vessel_config (vessel_manager.VesselConfig) – Configuration du navire.
caris_api_config (Optional[config.CarisAPIConfig]) – Configuration Caris.
vessel_name (Optional[str]) – Nom du navire pour l’export.
water_level_stations (Optional[Collection[str]]) – Stations forcées (
None→ Voronoi automatique).excluded_stations (Optional[Collection[str]]) – Codes de stations à exclure dès le départ.
config_path (Optional[Path]) – Chemin du fichier de configuration TOML.
output_file_name (Optional[str]) – Nom de fichier forcé (mode split).
None→ nom calculé.
- Return type:
None
- csb_processing._process_without_water_level(data, waterline, sounder, ctx, setup, vessel_config, caris_api_config, vessel_name, output_file_name=None)[source]
Géoréférence sans réduction marégraphique et exporte les données.
- Parameters:
data (gpd.GeoDataFrame[schema.DataLoggerWithTideZoneSchema]) – Données nettoyées.
waterline – Configuration de la ligne d’eau.
sounder – Configuration du sondeur.
ctx (ProcessingContext) – Contexte de traitement.
setup (WorkflowSetup) – Contexte d’exécution du workflow.
vessel_config (vessel_manager.VesselConfig) – Configuration du navire.
caris_api_config (Optional[config.CarisAPIConfig]) – Configuration Caris (
Nonesi CSAR non demandé).vessel_name (Optional[str]) – Nom du navire pour l’export.
output_file_name (Optional[str]) – Nom de fichier forcé (mode split).
None→ nom calculé.
- Return type:
None
- csb_processing._setup_run(output, config_path, processing_config, extra_logger, apply_water_level, already_at_chart_datum)[source]
Crée les répertoires, charge la configuration et configure le logger.
Force
apply_water_level=Falsesialready_at_chart_datum=True.- Parameters:
output (Path) – Racine du répertoire de sortie.
config_path (Optional[Path]) – Chemin du fichier de configuration TOML.
processing_config (Optional[config.CSBprocessingConfig]) – Config pré-chargée (remplace
config_pathsi fournie).extra_logger (Optional[Iterable[dict]]) – Sinks loguru supplémentaires.
apply_water_level (Optional[bool]) – Flag d’entrée (peut être
None).already_at_chart_datum (bool) – Si
True, forceapply_water_level=False.
- Returns:
Contexte d’exécution initialisé.
- Return type:
- csb_processing.log_sounding_results(data, iterations)[source]
Vérifie et journalise les résultats du traitement des sondes.
- Parameters:
data (gpd.GeoDataFrame) – Données géoréférencées.
iterations (int) – Nombre d’itérations effectuées.
- Returns:
Truesi au moins une sonde a été réduite au zéro des cartes.- Return type:
bool
- csb_processing.processing_workflow(files, vessel, output, config_path=PosixPath('/home/docs/checkouts/readthedocs.org/user_builds/chs-csb-processing-en/checkouts/latest/src/CONFIG_csb-processing.toml'), apply_water_level=True, extra_logger=None, water_level_stations=None, excluded_stations=None, processing_config=None, vessel_name=None, already_at_chart_datum=False, output_file_name=None)[source]
Workflow de traitement des données CSB end-to-end.
- Parameters:
files (Collection[Path]) – Fichiers bruts à traiter.
vessel (str | vessel_manager.VesselConfig) – Identifiant navire ou objet
VesselConfig.output (Path) – Répertoire racine de sortie.
config_path (Optional[Path]) – Chemin du fichier de configuration TOML.
apply_water_level (Optional[bool]) – Appliquer la réduction marégraphique.
extra_logger (Optional[Iterable[dict]]) – Sinks loguru supplémentaires (ex. NiceGUI).
water_level_stations (Optional[Collection[str]]) – Codes de stations forcées (
None→ Voronoi auto).excluded_stations (Optional[Collection[str]]) – Codes de stations à exclure dès le départ.
processing_config (Optional[config.CSBprocessingConfig]) – Config pré-chargée (remplace
config_pathsi fournie).vessel_name (Optional[str]) – Nom du navire pour l’export (surcharge vessel_config.name).
already_at_chart_datum (bool) –
Truesi les données sont déjà réduites au zéro des cartes — forceapply_water_level=False.output_file_name (Optional[str]) – Nom de fichier de sortie forcé (surcharge le nom calculé automatiquement). Utilisé en mode split (
merge_files=False) pour conserver le nom du fichier d’entrée.
- Return type:
None
- csb_processing.run_processing_workflow(files, merge_files=True, **kwargs)[source]
Dispatche le traitement en mode fusion ou mode split selon
merge_files.En mode fusion (défaut), tous les fichiers sont traités ensemble en un seul fichier de sortie nommé automatiquement. En mode split, chaque fichier est traité individuellement et le nom de sortie correspond au
stemdu fichier d’entrée.- Parameters:
files (Collection[Path]) – Fichiers bruts à traiter.
merge_files (bool) – Si
True, fusionne tous les fichiers en un seul traitement. SiFalse, traite chaque fichier séparément.kwargs – Arguments transmis directement à
processing_workflow().
- Return type:
None