.. _metadata_ref: #################### Base de méta données #################### La base de méta données rassemble les informations décrivant la :ref:`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: .. figure:: pyctoh_20220908_mcd.pdf :align: center MCD de la base de méta données PyCTOH .. qui est définit par un catalogue ``catalogue_filepath`` et accessible via le module .. ``Catalogue`` de la bibliothèque PyCTOH. .. .. Note:: .. Des exemples de prise en main sont disponible sur les serveurs du LEGOS. .. Il suffit de cloner le dépot tutorial. .. .. code-block:: bash .. > git clone /ctoh/data/shared/pyctoh/tutoral 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) : .. code-block:: console ❯ 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 :ref:`catalogue ` et décrit par son :ref:`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): .. code-block:: console ❯ 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 .. admonition:: Exemple d'utilisation .. code-block:: bash > 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.** .. code-block:: console ❯ 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.** .. code-block:: console ❯ 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).** .. code-block:: console ❯ 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