PnX-SI / TaxHub

Application de gestion des taxons
GNU General Public License v3.0
24 stars 31 forks source link

[BDC Statut] Suivi de la version BDC Statuts de l'INPN. #501

Open lpofredc opened 5 months ago

lpofredc commented 5 months ago

La BDC Statut 17 fournie sur le dépôt de geonature est différente de celle disponible sur le site de l'INPN. On y observe a minima l'absence de nouvelles listes rouges Auvergne-Rhône-Alpes.

A y regarder de plus près, la MaJ de la BDC statuts peut être faite indépendamment de TaxRef (dernière MaJ de la BDC statut ce 29 mai 2024! le 10 janvier 2024 TaxRef v17). cf. ce paragraphe dans le guide d'utilisation de la BDC

Les noms de taxons et la classification diffusés dans la base de connaissance sont ceux diffusés dans la dernière version du référentiel taxonomique national TAXREF. La base de connaissance est donc mise à jour en même temps que TAXREF (en plus des mises à jour liées aux ajouts ou modifications des statuts)

Ne serait-il pas plus pertinent de suivre directement celle de l'INPN, sous réserve d'un changement de format du fichier xlsx des types de statuts pour du csv et que le dossier dans l'archive soit bien normé (actuellement BDC-Statuts-v17(2)).

Libre ensuite à chacun de s'actualiser.

cf. #390, #431

Pour info, la manip pour patcher la version actuelle. l'archive INPN a été corrigée (xlsx > csv, dossier correctement renommé) et mise sur un hébergement web pour la manip:

dans le dossier taxhub

source venv/bin/activate
flask shell

Copiez-coller le code suivant

import logging
from apptax.taxonomie.commands.taxref_v15_v16 import import_bdc_statuts, link_bdc_statut_to_areas, enable_bdc_statut_text
from apptax.taxonomie.commands.utils import truncate_bdc_statuts
from apptax.database import db

logger = logging.getLogger()

BASE_URL = "https://data.lpo-aura.org/web/"

truncate_bdc_statuts()
db.session.commit()

import_bdc_statuts(
    logger,
    BASE_URL,
    "BDC-Statuts-v17.zip",
    "BDC-Statuts-v17/BDC_STATUTS_TYPES_17.csv",
    "BDC-Statuts-v17/BDC_STATUTS_17.csv",
)

db.session.commit()

exit()

Finir par la contextualisation de la BDC avec les lignes de commandes suivantes

flask taxref link-bdc-statut-to-areas
flask taxref enable-bdc-statut-text -d 73 -d 74
camillemonchicourt commented 5 months ago

Ton ticket fait référence à un sujet évoqué aussi ici : https://github.com/PnX-SI/TaxHub/issues/390 Cela concerne le fait de pouvoir mettre à jour la BDC statuts avec des versions intermédiaires, entre 2 versions de Taxref.

Cela soulève 2 questions il me semble :

Je ferai donc bien comme pour le référentiel de sensibilité, une commande dédié qu'on peut lancer avec la MAJ de Taxref ou à part, et avec une référence à l'URL d'un fichier dans la commande, qu'on peut adapter selon le contexte.

jpm-cbna commented 2 months ago

Pour ma part, j'ai du lancer la commande flask taxref enable-bdc-statut-text avec l'option --clean. Soit, pour reprendre l'exemple: flask taxref enable-bdc-statut-text --clean -d 73 -d 74