gpf_rlt_to_bdd.core module

Main module logic.

gpf_rlt_to_bdd.core.check_data_structure(parameters: GpfOrchestratorParameters) bool

Vérifie que la structure de la stored_data de sortie contienne 2 table (dataset et image) avec sur chacune un champ dataset_identifier de type varchar(255))

Paramètres:

parameters (GpfOrchestratorParameters) – fichier de parametres

Renvoie:

True si la structure est compatible, False sinon

Type renvoyé:

bool

gpf_rlt_to_bdd.core.compare_data_structure(vector_files: dict, parameters: GpfOrchestratorParameters) bool

Vérifie que la structure de la donnée en entrée corresponde a la structure de la stored_data de sortie.

Paramètres:
  • vector_files (dict) – structure contenant les informations des layers

  • parameters (GpfOrchestratorParameters) – fichier de parametres

Renvoie:

True si la structure est compatible, False sinon

Type renvoyé:

bool

gpf_rlt_to_bdd.core.copy_data_from_vector_files(vector_files: dict, database: PgDatabase, schema_name: str) Status

Créé la structure de la stored_data de sortie par rapport à la donnée en entrée.

Paramètres:
  • vector_files (dict) – structure contenant les informations des layers

  • database (PgDatabase) – base de donnée en sortie

  • schema_name (str) – schema de sortie

Renvoie:

Status de l’execution

Type renvoyé:

Status

gpf_rlt_to_bdd.core.create_data_structure(vector_files: dict, database: PgDatabase, schema_name: str) Status

Créé la structure de la stored_data de sortie par rapport a la donnée en entrée. :param vector_files: structure contenant les informations des layers :type vector_files: dict :param database: base de donnée en sortie :type database: PgDatabase :param schema_name: schema de sortie :type schema_name: str

Renvoie:

Status de l’execution

Type renvoyé:

Status

gpf_rlt_to_bdd.core.create_data_to_publish(output_dir: Path, vector_files: dict, dataset_identifier_value: str) Status

Add dataset_identifier column and set the value

Paramètres:
  • output_dir (Path) – Répertoire de sortie

  • vector_files (dict) – structure contenant les informations des layers

  • dataset_identifier_value (str) – Identifiant du jeu de données

Renvoie:

Status de l’exécution

Type renvoyé:

Status

gpf_rlt_to_bdd.core.datasource_to_pg(database: PgDatabase, schema_name: str, table_name: str, layer_name: str, datasource: Dataset, layer_creation_options: list[str] = [], create_table: bool = False, force_multipolygon: bool = False)

Utilise GDAL pour transformer une datasource en table PG

Paramètres:
  • database (PgDatabase) – base de donnée en sortie

  • schema_name (str) – schema de sortie

  • table_name (str) – nom de la table a créer

  • layer_name (str) – layer de la datasource correspondant à la table a créer

  • datasource (gdal.Dataset) – datasource contenant le layer

  • layer_creation_options (list[str]) – Options de création

  • create_table (bool) – Si True créé la table et ne copie pas les données, sinon ajoute les données a une table existante

  • force_multipolygon (bool) – si True on force la geometrie de sortie en multipolygon

gpf_rlt_to_bdd.core.delete_data_from_dataset_identifier(dataset_identifier: str, database: PgDatabase, schema_name: str, strict: bool = False) Status

Supprime les données liées à un dataset_identifier

Paramètres:
  • dataset_identifier (str) – dataset_identifier

  • database (PgDatabase) – base de donnée en sortie

  • schema_name (str) – schema de sortie

  • strict (bool) – si True retourne Failure si aucune donnée n’est supprimée

Renvoie:

Status de l’execution

Type renvoyé:

Status

gpf_rlt_to_bdd.core.run(work_dir: Path, parameters: GpfOrchestratorParameters, upload_dir_paths: dict, insert_mode: bool = True) Status

Main function running the logic.

Paramètres:
  • work_dir (Path) – Input working directory. The folder must exist.

  • parameters (GpfOrchestratorParameters) – parameters read from input configuration file.

  • upload_dir_paths (dict) – Dict of (_id, path) with path where data for upload _id are

  • insert_mode (bool) – indicate if we are in INSERT mode

Renvoie:

The verification status

Type renvoyé:

Status