gpf_check_rlt.core module

Main module logic.

gpf_check_rlt.core.check_dataset_identifier_values(dataset_id: str, vector_files: dict) bool

Vérifie la cohérence des valeurs dataset_identifier.

Paramètres:
  • dataset_id (str) – Valeur du champ dataset_identifier

  • paramètres. (dans le fichier de)

  • vector_files (dict) – dictionnaire contenant les informations liées aux couches

  • vecteur

Renvoie:

True si la valeur lue dans le fichier de paramètre est la même dans les colonnes dataset_identifier de chaque couche vecteur.

Type renvoyé:

bool

gpf_check_rlt.core.check_layers_srid_is_3857(vector_files: dict) bool

Check si le SRID des layers est bien l’EPSG:3857.

Paramètres:

vector_files (dict) – structure contenant les informations des layers

Renvoie:

True si les layers sont en 4326, False sinon

Type renvoyé:

bool

gpf_check_rlt.core.check_objects_in_layers(vector_files: dict, raster_files: list[Path], raster_filename_column: str) bool

Vérifie la conformité des objets contenus dans les couches vecteur.

La fonction vérifie que le layer table_mission ne contient qu’un seul objet et que le layer table_cliches contient un objet par image raster.

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

  • raster_files (list[Path]) – liste des fichiers rasters livrés

  • raster_filename_column (str, optional) – Nom de la colonne contenant le nom

  • raster. (de chaque fichier)

Renvoie:

True si les conditions sont remplies, False sinon

Type renvoyé:

bool

gpf_check_rlt.core.check_raster_files(raster_files: list[Path], src_srs: str) bool

Vérifie que les données raster sont lisibles et géoréférencées.

Paramètres:
  • raster_files (list[Path]) – Chemins des fichiers raster

  • src_srs (str) – Système de coordonnées indiqué dans la livraison

Renvoie:

True si les données sont conformes, False sinon

Type renvoyé:

bool

gpf_check_rlt.core.get_layers_from_datasource(datasources: list[Dataset]) list[dict]

Récupère le nom des layers à partir des de données DataSource.

Paramètres:

datasources (list[gdal.Dataset]) – données vecteur au format DataSource

Renvoie:

liste contenant les information des layers, dont la structure est :

{
    "layer_name": layername,
    "layer_datasource": datasource
}

Type renvoyé:

list[dict]

gpf_check_rlt.core.get_struct_generic_type(vector_datasource: list[Dataset], verbose: bool = True) dict | None

Vérifie si la livraison est de type GENERIC.

Paramètres:
  • vector_datasource (list) – données vecteur lues par GDAL

  • verbose (bool, optional) – active les logs user. Defaults to True.

Renvoie:

un dictionnaire contenant la couche dataset dans la clé « table_mission »

et la couche image dans la clé « table_cliches ».

Type renvoyé:

dict

gpf_check_rlt.core.get_struct_prefix_type(vector_datasources: list[Dataset], verbose: bool = True) dict | None

Vérifie si la livraison est de type PREFIX.

Paramètres:
  • vector_datasources (list[gdal.Dataset]) – données vecteur lues par GDAL

  • verbose (bool, optional) – active les logs user. Defaults to True.

Renvoie:

un dictionnaire contenant la couche M_* dans la clé « table_mission »

et la couche C_* dans la clé « table_cliches ».

Type renvoyé:

dict

gpf_check_rlt.core.get_vector_files_structure(upload_dir_path: Path, upload_type: str = 'AUTO', verbosity: bool = True) dict | None

Vérifie et retourne la structure des fichiers vecteur d’une livraison.

On vérifie que la livraison contient exactement 2 fichiers vecteur : 2 fichiers shapefiles ou 1 fichier GeoPackage contenant deux couches. On vérifie ensuite que les noms des couches correspondent au type de livraison

Paramètres:
  • upload_dir_path (Path) – name of the subfolder to look for. Must be a subfolder of work_dir. Defaults to « upload ».

  • upload_type (str, optional) – “PREFIX”, “GENERIC” or “AUTO”. Defaults to “AUTO”

  • verbosity (bool, optional) – active les logs user. Defaults to True.

Renvoie:

dict contenant les informations des deux couches, dont la structure est :

{
    "table_mission": {
        "layer_name": layername,
        "layer_datasource": datasource
    },
    "table_cliches": {
        "layer_name": layername,
        "layer_datasource": datasource
    }
}

La fonction renvoie None si la structure n’est pas cohérente.

Type renvoyé:

dict

gpf_check_rlt.core.list_raster_files(upload_dir: Path, raster_extensions_list: str) list[Path]

Retourne la liste des fichiers rasters livrés.

Paramètres:
  • upload_dir (Path) – Dossier contenant les fichiers rasters

  • raster_extensions_list (str, optional) – List of authorized raster file extensions

  • strings. (as list of)

Renvoie:

liste des fichiers rasters livrés

Type renvoyé:

list[Path]

gpf_check_rlt.core.run(parameters: GpfOrchestratorParameters, upload_dir_paths: dict | None = None, upload_type: str = 'AUTO', raster_extensions_list: str = 'tif,tiff,jp2', raster_filename_column: str = 'JP2') Status

Vérifie une livraison RLT.

Paramètres:
  • parameters (GpfOrchestratorParameters) – parameters read from input configuration file.

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

  • upload_type (str, optional) – upload structure type. Values « PREFIX », « GENERIC », « AUTO ». Defaults to « AUTO ».

  • raster_extensions_list (str, optional) – List of authorized raster file extensions as list of strings.

  • raster_filename_column (str, optional) – Nom de la colonne contenant le nom de chaque fichier raster.

Renvoie:

Le statut de la vérification

Type renvoyé:

Status