Base de méta données

La base de méta données rassemble les informations décrivant la structure arborescente de fichiers (SAF) contenant les fichiers des produits altimétriques.

Cette base de méta données est une base relationnelle SQLite dont voici le model conceptuel de données:

../../_images/pyctoh_20220908_mcd.pdf

MCD de la base de méta données PyCTOH

Outil de gestion des méta données

PyCTOH fournit un outil en ligne de commande alt_metadata pour la gestion des méta données. Voici ci-dessous l’affichage de l’aide de la commande (option –help) :

❯ alt_metadata --help
usage: alt_metadata [-h] [-c CATALOGUE_FILEPATH] [-p PRODUCT_NAMES [PRODUCT_NAMES ...]] [-m METADATA_DIR] [-d] [--serial]
                    [-v] [--version]
                    {reset,clone,update,insert,remove} ...

Create metadata base of the altimetric product filetree data base.

optional arguments:
 -h, --help            show this help message and exit
 -c CATALOGUE_FILEPATH, --catalogue_filepath CATALOGUE_FILEPATH
                       filepath of catalogue to use instead of the one given by environment variable ALT_CATALOGUE
 -p PRODUCT_NAMES [PRODUCT_NAMES ...], --product_names PRODUCT_NAMES [PRODUCT_NAMES ...]
                       Specific products to process. Otherwise, if not set, all products defined by the catalogue are
                       processed.
 -m METADATA_DIR, --metadata_dir METADATA_DIR
                       Output metadata database directory
 -d, --debug_on_exception
                       invokes pdb on exception
 --serial              Switch off multiprocess processing.
 -v, --verbosity       increase output verbosity
 --version             show program's version number and exit

subcommands:
 valid subcommands

 {reset,clone,update,insert,remove}
   reset               Regenerate a new metadata base.
   clone               Clone CTOH original metadata base.
   update              Updating the metadata base.
   insert              Insert gdrtype files in the metadata base.
   remove              Remove gdrtype files in the metadata base.
  • Les options -c et -m définissent respectivement le fichier catalogue et le repertoire des bases produits SQLite de méta données. Par défaut sur les serveurs du LEGOS, ils sont définis par les variables d’environnement ALT_CATALOGUE et METADATA_DIR pour accéder à la base CTOH. Dans le cas d’un base personnelle, ces options (-c et -m) doivent être impérativement définis.

  • L’option -p définit le ou les noms des produits à traiter (sous forme de liste de nom de produit séparer par une virgule). Si cette option est omis tous les produits du catalogue seront traités.

Initialisation de la base de méta données

Il y a deux possibilités pour initialiser la base de méta données soit avec la commande reset ou soit avec la commande clone.

reset

La commande reset crée une nouvelle base SQLite de méta données originale pour chaque produit du catalogue et décrit par son fichier de description.

Cette commande est à utiliser dans le cas d’une base personnelle entièrement crée sur un espace local et distinct de la base CTOH.

Ci-dessous l’affichage de l’aide de cette commande (option –help):

❯ alt_metadata reset --help
usage: alt_metadata reset [-h]

Generate a full new metadata base.

optional arguments:
  -h, --help  show this help message and exit

Exemple d’utilisation

> alt_metadata -pja3_a_cnes_f_sgdr reset
clone

La commande clone recopie la base SQLite de méta données du CTOH dans un répertoire local.

Cette commande est à utiliser dans le cas d’une base personnelle combinée : base de données CTOH et base de données d’utilisateur local complétant des produits.

❯ alt_metadata clone --help
usage: alt_metadata clone [-h] user_directory

Clone CTOH original SQLite metadata base in a local working directory.

positional arguments:
  user_directory  User local directory

optional arguments:
  -h, --help      show this help message and exit

Ingestion de sous-produit

insert

La commande insert ajoute à la base de méta données (SQLite) des méta données de sous-produits (gdrtype) définis par l’utilisateur dans sa base personnelle local.

Cette commande est à utiliser pour compléter les méta données d’un produit suite à un clonage.

❯ alt_metadata insert --help
usage: alt_metadata insert [-h] [-c CYCLE] gdrtype

Insert new metadata of specific gdrtype file tree in the current SQLite metadata base.

positional arguments:
  gdrtype               gdrtype name of files to insert.

optional arguments:
  -h, --help            show this help message and exit
  -c CYCLE, --cycle CYCLE
                        for a specific cycle

Suppression de sous-produit

remove

La commande remove supprime de la base de méta données des méta données de sous-produits (gdrtype).

Cette commande est à utiliser pour supprimer les méta données d’un produit d’une base personnelle (suite à un clonage ou à un ajout).

❯ alt_metadata remove --help
usage: alt_metadata remove [-h] [-c CYCLE] gdrtype

Remove metadata of specific gdrtype file tree from the current SQLite metadata base.

positional arguments:
  gdrtype               gdrtype name to be removed.

optional arguments:
  -h, --help            show this help message and exit
  -c CYCLE, --cycle CYCLE
                        for a specific cycle