vessel package

Submodules

vessel.exception_vessel module

Exceptions spécifiques à l’application Vessel.

Ce module contient les exceptions spécifiques à l’application Vessel.

exception vessel.exception_vessel.MissingConfigKeyError(missing_keys)[source]

Bases : Exception

Exception levée lorsqu’une clé de configuration est manquante.

Paramètres:

missing_keys (list[str]) – Les clés manquantes.

missing_keys: list[str]

Les clés manquantes.

exception vessel.exception_vessel.SensorConfigurationError(sensor_type)[source]

Bases : Exception

Exception levée lorsque la configuration du capteur change durant la période de temps couverte par les données.

sensor_type: str

Le type de capteur.

exception vessel.exception_vessel.SensorNotFoundError(sensor_name, timestamp)[source]

Bases : Exception

Exception levée lorsqu’un capteur n’est pas trouvé.

Paramètres:
  • sensor_name (str) – Le nom du capteur.

  • timestamp (datetime) – Le timestamp.

sensor_name: str

Le type du capteur.

timestamp: datetime

Le timestamp.

exception vessel.exception_vessel.VesselConfigManagerIdentifierError(manager_type)[source]

Bases : Exception

Exception levée lorsqu’une erreur survient lors de l’identification du gestionnaire de configuration de navires.

Paramètres:

manager_type (str) – Le type de gestionnaire de navire.

manager_type: str

Le type de gestionnaire de navire.

exception vessel.exception_vessel.VesselConfigNotFoundError(vessel_id)[source]

Bases : Exception

Exception levée lorsqu’une configuration de navire n’est pas trouvée.

Paramètres:

vessel_id (str) – L’identifiant du navire.

vessel_id: str

L’identifiant du navire.

vessel.factory_vessel_config_manager module

Module de gestion de la factory de gestionnaire de configuration de navires.

Ce module contient la factory qui permet de récupérer la factory de gestionnaire de configuration de navires en fonction du type.

class vessel.factory_vessel_config_manager.VesselConfigManagerType(value)[source]

Bases : StrEnum

Enumération des types de gestionnaire de configuration de navires.

VesselConfigJsonManager = 'VesselConfigJsonManager'

Gestionnaire de configuration de navires en JSON.

VesselConfigSQLiteManager = 'VesselConfigSQLiteManager'

Gestionnaire de configuration de navires en SQLite.

class vessel.factory_vessel_config_manager.VesselManagerProtocol(*args, **kwargs)[source]

Bases : Protocol

Configuration du gestionnaire de configuration du navire.

_is_protocol = True
kwargs: dict[str, Any] | None = None
manager_type: VesselConfigManagerType | None
vessel.factory_vessel_config_manager.get_vessel_config_manager_factory(manager_type)[source]

Récupère la factory du gestionnaire de navire en fonction du type.

Paramètres:

manager_type (VesselConfigManagerType) – Type de gestionnaire de navire.

Renvoie:

La factory du gestionnaire de navire.

Type renvoyé:

type[VesselConfigManager]

Lève:

VesselConfigManagerIdentifierError – Si le type de gestionnaire de navire n’est pas reconnu.

vessel.unknown_vessel_config module

vessel.vessel_config module

Module pour la configuration du navire.

Ce module contient les classes et les fonctions pour la configuration du navire.

class vessel.vessel_config.AxisConvention(value)[source]

Bases : StrEnum

Enumération des conventions d’axes.

CARIS: str = 'CARIS'

The X-Y-Z fields set the location from the Reference Point (0). The Reference Point is the point on the vessel where the X, Y, and Z axes intersect. The X, Y, and Z fields are defined as follows: - X: The athwart-ship distance of the sensor, positive to starboard. - Y: The along-ship distance of the sensor, positive to the bow. - Z: The vertical distance of the sensor, positive into the water.

class vessel.vessel_config.BDBattribute(**data)[source]

Bases : BaseModel

Modèle de données pour un attribut BDB.

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

  • pltfrm (str) – Plateforme.

  • tecsou (str) – Technologie du sondeur.

  • sdghdw (str) – Système de sondage.

  • poshdw (str) – Système de positionnement.

  • bureau (str) – Bureau du fournisseur de données.

  • restrn (str) – Restrictions de données.

bureau: str

Bureau du fournisseur de données.

pltfrm: str

Plateforme.

poshdw: str

Système de positionnement.

restrn: str

Restrictions de données.

sdghdw: str

Système de sondage.

tecsou: str

Technologie du sondeur.

time_stamp: datetime

Date et heure.

class vessel.vessel_config.Sensor(**data)[source]

Bases : BaseModel

Modèle de 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.

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 vessel.vessel_config.SoundSpeedProfile(**data)[source]

Bases : BaseModel

Modèle de données pour un profil de vitesse du son.

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

  • ssp (bool) – True si le profil de vitesse du son est appliqué.

  • sound_speed (float) – Vitesse du son.

sound_speed: float

Vitesse du son.

ssp: bool

True si le profil de vitesse du son est appliqué.

time_stamp: datetime

Date et heure.

class vessel.vessel_config.VesselConfig(**data)[source]

Bases : BaseModel

Modèle de données pour la configuration du navire.

Paramètres:
  • id (str) – Identifiant du navire.

  • name (Optional[str]) – Nom du navire ou de la communauté.

  • axis_convention (AxisConvention) – Convention d’axes.

  • navigation (list[Sensor]) – Liste des données de navigation.

  • motion (list[Sensor]) – Liste des données de mouvement.

  • sounder (list[Sensor]) – Liste des données du sondeur.

  • waterline (list[Waterline]) – Liste des données de ligne d’eau.

  • sound_speed (list[SoundSpeedProfile]) – Liste des données de profil de vitesse du son appliqué.

  • attribute (Optional[list[BDBattribute]]) – Liste des données d’attribut.

get_attribute(timestamp)[source]

Méthode pour récupérer les données d’attribut à un instant donné.

Paramètres:

timestamp (datetime) – Une date et heure.

Renvoie:

Données d’attribut pour le moment donné.

Type renvoyé:

BDBattribute

get_motion(timestamp)[source]

Méthode pour récupérer les données de mouvement à un instant donné.

Paramètres:

timestamp (datetime) – Une date et heure.

Renvoie:

Données de mouvement pour le moment donné.

Type renvoyé:

Sensor

get_navigation(timestamp)[source]

Méthode pour récupérer les données de navigation à un instant donné.

Paramètres:

timestamp (datetime) – Une date et heure.

Renvoie:

Données de navigation pour le moment donné.

Type renvoyé:

Sensor

get_sensor(sensor_name, timestamp)[source]

Récupère les données d’un type de capteur à un instant donné.

Paramètres:
  • sensor_name (str) – Nom du capteur.

  • timestamp (datetime) – Une date et heure.

Renvoie:

Données du capteur pour le moment donné.

Type renvoyé:

Sensor | Waterline | SoundSpeedProfile | BDBattribute

Lève:

SensorNotFoundError – Si le capteur n’existe pas.

get_sensor_config_by_datetime(sensor_type, min_time, max_time)[source]

Récupère et valide les capteurs pour une période de temps donnée.

Paramètres:
  • sensor_type (Literal["sounder", "waterline", "motion", "sound_speed", "attribute", "navigation"]) – Type de capteur à récupérer.

  • min_time (datetime) – Date et heure minimale.

  • max_time (datetime) – Date et heure maximale.

Renvoie:

Capteur pour le moment donné.

Type renvoyé:

Sensor | Waterline | SoundSpeedProfile | BDBattribute

Lève:

SensorConfigurationError – Si la configuration du capteur change durant la période de temps couverte par les données.

get_sound_speed(timestamp)[source]

Méthode pour récupérer les données de profil de vitesse du son appliqué à un instant donné.

Paramètres:

timestamp (datetime) – Une date et heure.

Renvoie:

Données de profil de vitesse du son appliqué pour le moment donné.

Type renvoyé:

SoundSpeedProfile

get_sounder(timestamp)[source]

Méthode pour récupérer les données du sondeur à un instant donné.

Paramètres:

timestamp (datetime) – Une date et heure.

Renvoie:

Données du sondeur pour le moment donné.

Type renvoyé:

Sensor

get_waterline(timestamp)[source]

Méthode pour récupérer les données de ligne d’eau à un instant donné.

Paramètres:

timestamp (datetime) – Une date et heure.

Renvoie:

Données de ligne d’eau pour le moment donné.

Type renvoyé:

Waterline

attribute: list[BDBattribute] | None

Données des attributs BDB.

axis_convention: AxisConvention

Convention des axes.

id: str

Identifiant du navire.

motion: list[Sensor]

Données des bras de levier du capteur de mouvement.

name: str | None

Nom du navire ou de la communauté.

navigation: list[Sensor]

Données des bras de levier du capteur de navigation.

sound_speed: list[SoundSpeedProfile]

Données de profil de vitesse du son appliqué.

sounder: list[Sensor]

Données des bras de levier du sondeur.

waterline: list[Waterline]

Données des bras de levier de la ligne d’eau.

class vessel.vessel_config.Waterline(**data)[source]

Bases : BaseModel

Modèle de données pour une ligne d’eau.

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

  • z (float) – Bras de levier Z.

time_stamp: datetime

Date et heure.

z: float

Bras de levier Z.

vessel.vessel_config.get_vessel_config_from_config_dict(config)[source]

Récupère la configuration du navire.

Paramètres:

config (VesselConfigDict) – Configuration du navire.

Renvoie:

Configuration du navire.

Type renvoyé:

VesselConfig

Lève:

MissingConfigKeyError – Si des clés de configuration sont manquantes.

vessel.vessel_config_json_manager module

Module permettant de gérer la configuration des navires à partir d’un fichier JSON.

Ce module contient la classe VesselConfigJsonManager qui permet de gérer la configuration des navires à partir d’un fichier JSON.

class vessel.vessel_config_json_manager.VesselConfigJsonManager(json_config_path)[source]

Bases : VesselConfigManagerABC

Classe permettant de gérer la configuration des navires à partir d’un fichier JSON.

static _load_vessel_configs_file(json_config_path)[source]

Méthode permettant de charger la configuration des navires depuis un fichier JSON.

Paramètres:

json_config_path (Path) – Chemin du fichier JSON.

Renvoie:

Les configurations des navires.

Type:

dict[str, VesselConfigDict]

Renvoie:

Configurations des navires.

Type renvoyé:

dict[str, VesselConfig]

Lève:

FileNotFoundError – Si le fichier de configuration des navires n’existe pas.

add_veessel_config(vessel_config)[source]

Méthode permettant d’ajouter la configuration d’un navire.

Paramètres:

vessel_config (VesselConfig) – Configuration du navire.

Type renvoyé:

None

commit_vessel_configs(json_config_path)[source]

Méthode permettant de sauvegarder la configuration des navires dans un fichier JSON.

Paramètres:

json_config_path (Path) – Chemin du fichier JSON.

Lève:

TypeError – Si un objet n’est pas sérialisable.

Type renvoyé:

None

delete_vessel_config(vessel_id)[source]

Méthode permettant de supprimer la configuration d’un navire.

Paramètres:

vessel_id (str) – Identifiant du navire.

Type renvoyé:

None

get_vessel_config(vessel_id)[source]

Méthode permettant de récupérer la configuration d’un navire.

Paramètres:

vessel_id (str) – Identifiant du navire.

Renvoie:

Configuration du navire.

Type renvoyé:

VesselConfig

Lève:

VesselConfigNotFoundError – Si la configuration du navire n’existe pas.

get_vessel_configs()[source]

Méthode permettant de récupérer la configuration de tous les navires.

Renvoie:

Configurations des navires.

Type renvoyé:

list[VesselConfig]

update_vessel_config(vessel_id, vessel_config)[source]

Méthode permettant de mettre à jour la configuration d’un navire.

Paramètres:
  • vessel_id (str) – Identifiant du navire.

  • vessel_config (VesselConfig) – Configuration du navire.

Type renvoyé:

None

vessel.vessel_config_manager_abc module

Module contenant la classe abstraite VesselConfigManagerABC.

Ce module contient la classe abstraite VesselConfigManagerABC qui définit les méthodes pour gérer la configuration des navires.

class vessel.vessel_config_manager_abc.VesselConfigManagerABC(**kwargs)[source]

Bases : ABC

Classe abstraite définissant les méthodes pour gérer la configuration des navires.

abstractmethod add_veessel_config(vessel_config)[source]

Méthode permettant d’ajouter la configuration d’un navire.

Paramètres:

vessel_config (VesselConfig) – Configuration du navire.

Type renvoyé:

None

abstractmethod commit_vessel_configs(**kwargs)[source]

Méthode permettant de sauvegarder les configurations des navires.

Paramètres:

kwargs (dict) – Dictionnaire des paramètres.

Type renvoyé:

None

abstractmethod delete_vessel_config(vessel_id)[source]

Méthode permettant de supprimer la configuration d’un navire.

Paramètres:

vessel_id (str) – Identifiant du navire.

Type renvoyé:

None

abstractmethod get_vessel_config(vessel_id)[source]

Méthode permettant de récupérer la configuration d’un navire.

Paramètres:

vessel_id (str) – Identifiant du navire.

Renvoie:

Configuration du navire.

Type renvoyé:

VesselConfig

abstractmethod get_vessel_configs()[source]

Méthode permettant de récupérer la configuration de tous les navires.

Renvoie:

Configurations des navires.

Type renvoyé:

list[VesselConfig]

abstractmethod update_vessel_config(vessel_id, vessel_config)[source]

Méthode permettant de mettre à jour la configuration d’un navire.

Paramètres:
  • vessel_id (str) – Identifiant du navire.

  • vessel_config (Vessel) – Configuration du navire.

Type renvoyé:

None

vessel.vessel_config_sqlite_manager module

Module permettant de gérer la configuration des navires à partir d’une base de données SQLite.

Ce module contient la classe VesselConfigSQLiteManager qui permet de gérer la configuration des navires à partir d’une base de données SQLite.

class vessel.vessel_config_sqlite_manager.VesselConfigSQLiteManager(sqlite_config_path)[source]

Bases : VesselConfigManagerABC

Classe permettant de gérer la configuration des navires à partir d’une base de données SQLite.

static _connect_to_db(sqlite_config_path)[source]

Méthode permettant de se connecter à la base de données SQLite.

Paramètres:

sqlite_config_path (Path) – Chemin de la base de données SQLite.

Renvoie:

Session de la base de données SQLite.

Type renvoyé:

Session

Lève:

FileNotFoundError – Le fichier de configuration de la base de données SQLite n’existe pas.

add_veessel_config(vessel_config)[source]

Méthode permettant d’ajouter la configuration d’un navire.

Paramètres:

vessel_config (VesselConfig) – Configuration du navire.

Type renvoyé:

None

commit_vessel_configs(**kwargs)[source]

Méthode permettant de sauvegarder les configurations des navires.

Paramètres:

kwargs (dict) – Dictionnaire des paramètres.

Type renvoyé:

None

delete_vessel_config(vessel_id)[source]

Méthode permettant de supprimer la configuration d’un navire.

Paramètres:

vessel_id (str) – Identifiant du navire.

Type renvoyé:

None

get_vessel_config(vessel_id)[source]

Méthode permettant de récupérer la configuration d’un navire.

Paramètres:

vessel_id (str) – Identifiant du navire.

Renvoie:

Configuration du navire.

Type renvoyé:

VesselConfig

get_vessel_configs()[source]

Méthode permettant de récupérer la configuration de tous les navires.

Renvoie:

Configurations des navires.

Type renvoyé:

list[VesselConfig]

update_vessel_config(vessel_id, vessel_config)[source]

Méthode permettant de mettre à jour la configuration d’un navire.

Paramètres:
  • vessel_id (str) – Identifiant du navire.

  • vessel_config (Vessel) – Configuration du navire.

Type renvoyé:

None

vessel.vessel_ids module

Ce module contient les constantes utilisées pour les identifiants des navires.

vessel.vessel_ids.ATTRIBUTE: str = 'attribute'

Valeur de la constante ATTRIBUTE.

vessel.vessel_ids.AXIS_CONVENTION: LiteralString = 'axis_convention'

Valeur de la constante AXIS_CONVENTION.

vessel.vessel_ids.BUREAU: LiteralString = 'bureau'

Valeur de la constante BUREAU.

vessel.vessel_ids.CARIS: LiteralString = 'CARIS'

Valeur de la constante CARIS.

vessel.vessel_ids.ID: LiteralString = 'id'

Valeur de la constante ID.

vessel.vessel_ids.MOTION: str = 'motion'

Valeur de la constante MOTION.

vessel.vessel_ids.NAME: LiteralString = 'name'

Valeur de la constante NAME.

vessel.vessel_ids.NAVIGATION: str = 'navigation'

Valeur de la constante NAVIGATION.

vessel.vessel_ids.PLTFRM: LiteralString = 'pltfrm'

Valeur de la constante PLTFRM.

vessel.vessel_ids.POSHDW: LiteralString = 'poshdw'

Valeur de la constante POSHDW.

vessel.vessel_ids.RESTRN: LiteralString = 'restrn'

Valeur de la constante RESTRN.

vessel.vessel_ids.SDGHDW: LiteralString = 'sdghdw'

Valeur de la constante SDGHDW.

vessel.vessel_ids.SOUNDER: str = 'sounder'

Valeur de la constante SOUNDER.

vessel.vessel_ids.SOUND_SPEED: str = 'sound_speed'

Valeur de la constante SOUND_SPEED.

vessel.vessel_ids.SSP: LiteralString = 'ssp'

Valeur de la constante SSP.

vessel.vessel_ids.TIME_STAMP: LiteralString = 'time_stamp'

Valeur de la constante TIME_STAMP.

vessel.vessel_ids.WATERLINE: str = 'waterline'

Valeur de la constante WATERLINE.

vessel.vessel_ids.X: LiteralString = 'x'

Valeur de la constante X.

vessel.vessel_ids.Y: LiteralString = 'y'

Valeur de la constante Y.

vessel.vessel_models module

Module qui contient les modèles de données pour les navires.

Ce module contient les classes qui définissent les modèles de données pour les navires.

class vessel.vessel_models.AttributeDict[source]

Bases : dict

Dictionnaire de données pour un attribut BDB.

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

  • pltfrm (str) – Plateforme.

  • sdghdw (str) – Système de sondage.

  • tecsou (str) – Technologie du sondeur.

  • poshdw (str) – Système de positionnement.

  • bureau (str) – Organisation du fournisseur de données.

  • restrn (str) – Restrictions de données.

bureau: str

Organisation du fournisseur de données.

pltfrm: str

Plateforme.

poshdw: str

Système de positionnement.

restrn: str

Restrictions de données.

sdghdw: str

Système de sondage.

tecsou: str

Technologie du sondeur.

time_stamp: str

Date et heure.

class vessel.vessel_models.SensorDict[source]

Bases : dict

Dictionnaire de données pour un capteur.

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

  • x (float) – Bras de levier X.

  • y (float) – Bras de levier Y.

  • z (float) – Bras de levier Z.

time_stamp: str

Date et heure.

x: float

Bras de levier X.

y: float

Bras de levier Y.

z: float

Bras de levier Z.

class vessel.vessel_models.SoundSpeedProfileDict[source]

Bases : dict

Dictionnaire de données pour un profil de vitesse du son.

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

  • ssp (str) – True si le profil de vitesse du son est appliqué.

sound_speed: float

Vitesse du son.

ssp: str

True si le profil de vitesse du son est appliqué.

time_stamp: str

Date et heure.

class vessel.vessel_models.VesselConfigDict[source]

Bases : dict

Dictionnaire de données pour la configuration d’un navire.

Paramètres:
  • id (str) – Identifiant unique.

  • axis_convention (str) – Convention des axes.

  • nav (list[SensorDict]) – Capteurs de navigation.

  • motion (list[SensorDict]) – Capteurs de mouvement.

  • sounder (list[SensorDict]) – Capteurs de sonde.

  • waterline (list[WaterlineDict]) – Lignes d’eau.

  • sound_speed (list[SoundSpeedProfileDict]) – Profils de vitesse du son appliqués.

  • attribute (list[AttributeDict]) – Attributs BDB.

attribute: list[AttributeDict]

Données des attributs BDB.

axis_convention: str

Convention des axes.

id: str

Identifiant du navire.

motion: list[SensorDict]

Données des bras de leviers du capteur de mouvement.

name: str

Nom du navire ou de la communauté.

nav: list[SensorDict]

Données des bras de leviers du capteur de navigation.

sound_speed: list[SoundSpeedProfileDict]

Profils de vitesse du son appliqués.

sounder: list[SensorDict]

Données des bras de leviers du sondeur.

waterline: list[WaterlineDict]

Données des bras de leviers de la lignes d’eau.

class vessel.vessel_models.WaterlineDict[source]

Bases : dict

Dictionnaire de données pour une ligne d’eau.

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

  • z (float) – Bras de levier Z.

time_stamp: str

Date et heure.

z: float

Bras de levier Z.

Module contents

Ce package contient les classes et les fonctions qui permettent de manipuler les données des navires.

class vessel.AxisConvention(value)[source]

Bases : StrEnum

Enumération des conventions d’axes.

CARIS: str = 'CARIS'

The X-Y-Z fields set the location from the Reference Point (0). The Reference Point is the point on the vessel where the X, Y, and Z axes intersect. The X, Y, and Z fields are defined as follows: - X: The athwart-ship distance of the sensor, positive to starboard. - Y: The along-ship distance of the sensor, positive to the bow. - Z: The vertical distance of the sensor, positive into the water.

class vessel.BDBattribute(**data)[source]

Bases : BaseModel

Modèle de données pour un attribut BDB.

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

  • pltfrm (str) – Plateforme.

  • tecsou (str) – Technologie du sondeur.

  • sdghdw (str) – Système de sondage.

  • poshdw (str) – Système de positionnement.

  • bureau (str) – Bureau du fournisseur de données.

  • restrn (str) – Restrictions de données.

bureau: str

Bureau du fournisseur de données.

pltfrm: str

Plateforme.

poshdw: str

Système de positionnement.

restrn: str

Restrictions de données.

sdghdw: str

Système de sondage.

tecsou: str

Technologie du sondeur.

time_stamp: datetime

Date et heure.

class vessel.Sensor(**data)[source]

Bases : BaseModel

Modèle de 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.

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 vessel.SoundSpeedProfile(**data)[source]

Bases : BaseModel

Modèle de données pour un profil de vitesse du son.

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

  • ssp (bool) – True si le profil de vitesse du son est appliqué.

  • sound_speed (float) – Vitesse du son.

sound_speed: float

Vitesse du son.

ssp: bool

True si le profil de vitesse du son est appliqué.

time_stamp: datetime

Date et heure.

class vessel.VesselConfig(**data)[source]

Bases : BaseModel

Modèle de données pour la configuration du navire.

Paramètres:
  • id (str) – Identifiant du navire.

  • name (Optional[str]) – Nom du navire ou de la communauté.

  • axis_convention (AxisConvention) – Convention d’axes.

  • navigation (list[Sensor]) – Liste des données de navigation.

  • motion (list[Sensor]) – Liste des données de mouvement.

  • sounder (list[Sensor]) – Liste des données du sondeur.

  • waterline (list[Waterline]) – Liste des données de ligne d’eau.

  • sound_speed (list[SoundSpeedProfile]) – Liste des données de profil de vitesse du son appliqué.

  • attribute (Optional[list[BDBattribute]]) – Liste des données d’attribut.

get_attribute(timestamp)[source]

Méthode pour récupérer les données d’attribut à un instant donné.

Paramètres:

timestamp (datetime) – Une date et heure.

Renvoie:

Données d’attribut pour le moment donné.

Type renvoyé:

BDBattribute

get_motion(timestamp)[source]

Méthode pour récupérer les données de mouvement à un instant donné.

Paramètres:

timestamp (datetime) – Une date et heure.

Renvoie:

Données de mouvement pour le moment donné.

Type renvoyé:

Sensor

get_navigation(timestamp)[source]

Méthode pour récupérer les données de navigation à un instant donné.

Paramètres:

timestamp (datetime) – Une date et heure.

Renvoie:

Données de navigation pour le moment donné.

Type renvoyé:

Sensor

get_sensor(sensor_name, timestamp)[source]

Récupère les données d’un type de capteur à un instant donné.

Paramètres:
  • sensor_name (str) – Nom du capteur.

  • timestamp (datetime) – Une date et heure.

Renvoie:

Données du capteur pour le moment donné.

Type renvoyé:

Sensor | Waterline | SoundSpeedProfile | BDBattribute

Lève:

SensorNotFoundError – Si le capteur n’existe pas.

get_sensor_config_by_datetime(sensor_type, min_time, max_time)[source]

Récupère et valide les capteurs pour une période de temps donnée.

Paramètres:
  • sensor_type (Literal["sounder", "waterline", "motion", "sound_speed", "attribute", "navigation"]) – Type de capteur à récupérer.

  • min_time (datetime) – Date et heure minimale.

  • max_time (datetime) – Date et heure maximale.

Renvoie:

Capteur pour le moment donné.

Type renvoyé:

Sensor | Waterline | SoundSpeedProfile | BDBattribute

Lève:

SensorConfigurationError – Si la configuration du capteur change durant la période de temps couverte par les données.

get_sound_speed(timestamp)[source]

Méthode pour récupérer les données de profil de vitesse du son appliqué à un instant donné.

Paramètres:

timestamp (datetime) – Une date et heure.

Renvoie:

Données de profil de vitesse du son appliqué pour le moment donné.

Type renvoyé:

SoundSpeedProfile

get_sounder(timestamp)[source]

Méthode pour récupérer les données du sondeur à un instant donné.

Paramètres:

timestamp (datetime) – Une date et heure.

Renvoie:

Données du sondeur pour le moment donné.

Type renvoyé:

Sensor

get_waterline(timestamp)[source]

Méthode pour récupérer les données de ligne d’eau à un instant donné.

Paramètres:

timestamp (datetime) – Une date et heure.

Renvoie:

Données de ligne d’eau pour le moment donné.

Type renvoyé:

Waterline

attribute: list[BDBattribute] | None

Données des attributs BDB.

axis_convention: AxisConvention

Convention des axes.

id: str

Identifiant du navire.

motion: list[Sensor]

Données des bras de levier du capteur de mouvement.

name: str | None

Nom du navire ou de la communauté.

navigation: list[Sensor]

Données des bras de levier du capteur de navigation.

sound_speed: list[SoundSpeedProfile]

Données de profil de vitesse du son appliqué.

sounder: list[Sensor]

Données des bras de levier du sondeur.

waterline: list[Waterline]

Données des bras de levier de la ligne d’eau.

class vessel.VesselConfigJsonManager(json_config_path)[source]

Bases : VesselConfigManagerABC

Classe permettant de gérer la configuration des navires à partir d’un fichier JSON.

static _load_vessel_configs_file(json_config_path)[source]

Méthode permettant de charger la configuration des navires depuis un fichier JSON.

Paramètres:

json_config_path (Path) – Chemin du fichier JSON.

Renvoie:

Les configurations des navires.

Type:

dict[str, VesselConfigDict]

Renvoie:

Configurations des navires.

Type renvoyé:

dict[str, VesselConfig]

Lève:

FileNotFoundError – Si le fichier de configuration des navires n’existe pas.

add_veessel_config(vessel_config)[source]

Méthode permettant d’ajouter la configuration d’un navire.

Paramètres:

vessel_config (VesselConfig) – Configuration du navire.

Type renvoyé:

None

commit_vessel_configs(json_config_path)[source]

Méthode permettant de sauvegarder la configuration des navires dans un fichier JSON.

Paramètres:

json_config_path (Path) – Chemin du fichier JSON.

Lève:

TypeError – Si un objet n’est pas sérialisable.

Type renvoyé:

None

delete_vessel_config(vessel_id)[source]

Méthode permettant de supprimer la configuration d’un navire.

Paramètres:

vessel_id (str) – Identifiant du navire.

Type renvoyé:

None

get_vessel_config(vessel_id)[source]

Méthode permettant de récupérer la configuration d’un navire.

Paramètres:

vessel_id (str) – Identifiant du navire.

Renvoie:

Configuration du navire.

Type renvoyé:

VesselConfig

Lève:

VesselConfigNotFoundError – Si la configuration du navire n’existe pas.

get_vessel_configs()[source]

Méthode permettant de récupérer la configuration de tous les navires.

Renvoie:

Configurations des navires.

Type renvoyé:

list[VesselConfig]

update_vessel_config(vessel_id, vessel_config)[source]

Méthode permettant de mettre à jour la configuration d’un navire.

Paramètres:
  • vessel_id (str) – Identifiant du navire.

  • vessel_config (VesselConfig) – Configuration du navire.

Type renvoyé:

None

class vessel.VesselConfigManagerABC(**kwargs)[source]

Bases : ABC

Classe abstraite définissant les méthodes pour gérer la configuration des navires.

abstractmethod add_veessel_config(vessel_config)[source]

Méthode permettant d’ajouter la configuration d’un navire.

Paramètres:

vessel_config (VesselConfig) – Configuration du navire.

Type renvoyé:

None

abstractmethod commit_vessel_configs(**kwargs)[source]

Méthode permettant de sauvegarder les configurations des navires.

Paramètres:

kwargs (dict) – Dictionnaire des paramètres.

Type renvoyé:

None

abstractmethod delete_vessel_config(vessel_id)[source]

Méthode permettant de supprimer la configuration d’un navire.

Paramètres:

vessel_id (str) – Identifiant du navire.

Type renvoyé:

None

abstractmethod get_vessel_config(vessel_id)[source]

Méthode permettant de récupérer la configuration d’un navire.

Paramètres:

vessel_id (str) – Identifiant du navire.

Renvoie:

Configuration du navire.

Type renvoyé:

VesselConfig

abstractmethod get_vessel_configs()[source]

Méthode permettant de récupérer la configuration de tous les navires.

Renvoie:

Configurations des navires.

Type renvoyé:

list[VesselConfig]

abstractmethod update_vessel_config(vessel_id, vessel_config)[source]

Méthode permettant de mettre à jour la configuration d’un navire.

Paramètres:
  • vessel_id (str) – Identifiant du navire.

  • vessel_config (Vessel) – Configuration du navire.

Type renvoyé:

None

class vessel.VesselConfigManagerType(value)[source]

Bases : StrEnum

Enumération des types de gestionnaire de configuration de navires.

VesselConfigJsonManager = 'VesselConfigJsonManager'

Gestionnaire de configuration de navires en JSON.

VesselConfigSQLiteManager = 'VesselConfigSQLiteManager'

Gestionnaire de configuration de navires en SQLite.

class vessel.VesselConfigSQLiteManager(sqlite_config_path)[source]

Bases : VesselConfigManagerABC

Classe permettant de gérer la configuration des navires à partir d’une base de données SQLite.

static _connect_to_db(sqlite_config_path)[source]

Méthode permettant de se connecter à la base de données SQLite.

Paramètres:

sqlite_config_path (Path) – Chemin de la base de données SQLite.

Renvoie:

Session de la base de données SQLite.

Type renvoyé:

Session

Lève:

FileNotFoundError – Le fichier de configuration de la base de données SQLite n’existe pas.

add_veessel_config(vessel_config)[source]

Méthode permettant d’ajouter la configuration d’un navire.

Paramètres:

vessel_config (VesselConfig) – Configuration du navire.

Type renvoyé:

None

commit_vessel_configs(**kwargs)[source]

Méthode permettant de sauvegarder les configurations des navires.

Paramètres:

kwargs (dict) – Dictionnaire des paramètres.

Type renvoyé:

None

delete_vessel_config(vessel_id)[source]

Méthode permettant de supprimer la configuration d’un navire.

Paramètres:

vessel_id (str) – Identifiant du navire.

Type renvoyé:

None

get_vessel_config(vessel_id)[source]

Méthode permettant de récupérer la configuration d’un navire.

Paramètres:

vessel_id (str) – Identifiant du navire.

Renvoie:

Configuration du navire.

Type renvoyé:

VesselConfig

get_vessel_configs()[source]

Méthode permettant de récupérer la configuration de tous les navires.

Renvoie:

Configurations des navires.

Type renvoyé:

list[VesselConfig]

update_vessel_config(vessel_id, vessel_config)[source]

Méthode permettant de mettre à jour la configuration d’un navire.

Paramètres:
  • vessel_id (str) – Identifiant du navire.

  • vessel_config (Vessel) – Configuration du navire.

Type renvoyé:

None

class vessel.Waterline(**data)[source]

Bases : BaseModel

Modèle de données pour une ligne d’eau.

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

  • z (float) – Bras de levier Z.

time_stamp: datetime

Date et heure.

z: float

Bras de levier Z.

vessel.get_vessel_config(vessel, vessel_config_manager, /)[source]
vessel.get_vessel_config(vessel, vessel_config_manager_)
vessel.get_vessel_config(vessel, vessel_config_manager)

Récupère la configuration du navire.

Paramètres:
  • vessel (str | VesselConfig) – Identifiant du navire ou configuration du navire.

  • vessel_config_manager (VesselManagerConfig) – Gestionnaire de configuration du navire.

Renvoie:

Configuration du navire.

Type renvoyé:

VesselConfig

vessel.get_vessel_config_manager_factory(manager_type)[source]

Récupère la factory du gestionnaire de navire en fonction du type.

Paramètres:

manager_type (VesselConfigManagerType) – Type de gestionnaire de navire.

Renvoie:

La factory du gestionnaire de navire.

Type renvoyé:

type[VesselConfigManager]

Lève:

VesselConfigManagerIdentifierError – Si le type de gestionnaire de navire n’est pas reconnu.