Compare commits

...

2 Commits

Author SHA1 Message Date
e5f2a11443 add dic_type_statut 2025-01-31 14:41:51 +01:00
cb8b602e4a init README 2025-01-31 14:40:51 +01:00
2 changed files with 59 additions and 1 deletions

View File

@ -0,0 +1,45 @@
# Exctraction de la BDC Statut à partir d'une liste de taxon.
Le fichier source doit contenir à minima une colone contenant les `cd_nom` ou `cd_ref` concernés par l'extraction à réaliser.
Dans le cas où il contient d'autres colonnes (date, nombre, observateur, ...), celles-ci seront jointes au sein des feuillets `pivot_table` et `pivot_libel` ; cf.ci-dessous.
L'export obtenu se compose des trois feuillets suivant :
- v_bdc_status : c'est un export qusi pure de la vue `taxonomie.v_bdc_status`.
|cd_nom|cd_ref|regne|phylum|classe|ordre|famille|group1_inpn|group2_inpn|group3_inpn|nom_vern|nom_complet|nom_valide|lb_nom|rq_statut|code_statut|cd_type_statut|label_statut|full_citation|doc_url|
|-|-|
- pivot_table : Il correspond à l'export de la vue `taxonomie.v_bdc_status` retourner pour avoir les codes status en colonnes et non en ligne en face de chaque espèce (1 ligne = 1 espèce).
Au sein de ce feuillet, il est possible qu'une espèce pour un statut, possède plusieurs codes statut. Ces codes seront alors écrit entre `[]` (C'est souvent le cas pour les listes LRN concernant les oiseaux). Dans ce cas, référez-vous au feuillet `v_bdc_status` en filtrant sur l'espèce concerné pour en savoir plus. C'est souvent lié au fait que l'espèce possède un statut différent en fonction des conditions d'observations (exemple : Hiverant, Nicheur, ...).
Les colonnes récupérées sont les suivantes :
- AL : Liste d'alerte départementale
- BARC : Convention de Barcelone
- BERN : Convention de Berne
- BONN : Convention de Bonn
- OSPAR : Convention OSPAR
- DH : Directive Habitat
- DO : Directive Oiseaux
- LRE : Liste rouge européenne
- LRM : Liste rouge mondiale
- LRN : Liste rouge nationale
- LRR_AURA : Liste rouge régionale AURA
- LRR_RA : Liste rouge régionale (ancienne région)
- PNA : Plan national en cours
- exPNA : Plan national terminé
- PAPNAT : Priorité action publique nationale
- POM : Protection COM
- PD : Protection départementale
- PN : Protection nationale
- PR : Protection régionale
- REGLII : Interdiction d'introduction
- REGLLUTTE : Lutte contre certaines espèces
- REGL : Réglementation
- REGLSO : Réglementation sans objet
- SCAP NAT : SCAP nationale
- SCAP REG : SCAP régionale
- SENSDEP : Sensibilité départementale
- SENSNAT : Sensibilité nationale
- SENSREG : Sensibilité régionale
- ZDET : ZNIEFF Déterminantes
**ATTENTION :** Il est normal de ne pas retrouver tous les statuts cités à chaque export car les types de statuts non concernées par la liste d'espèce soumises ne figureront pas dans le tableau.
- pivot_libel : Identique à `pivot_table` mais contenant les intitulés des statuts à la place des codes.
- dic_type_statut : Dictionnaire des types de status concerné par l'extraction.

View File

@ -37,6 +37,12 @@ def get_status(lst,con):
;""".format(cd_nom = tuple(lst)) ;""".format(cd_nom = tuple(lst))
return pd.read_sql_query(sql,con) return pd.read_sql_query(sql,con)
def get_type_status(con):
sql = """
SELECT * FROM taxonomie.bdc_statut_type
;"""
return pd.read_sql_query(sql,con)
def get_api_status(api,cd_nom:int): def get_api_status(api,cd_nom:int):
res = requests.api.get('%s/%i'%(api,cd_nom)) res = requests.api.get('%s/%i'%(api,cd_nom))
if res.status_code == 200: if res.status_code == 200:
@ -225,6 +231,8 @@ if __name__ == "__main__":
# Récupération des statuts # Récupération des statuts
df = get_status(taxlist[cd_col].astype(str),con_gn) df = get_status(taxlist[cd_col].astype(str),con_gn)
typ = get_type_status(con_gn)
typ = typ[typ.cd_type_statut.isin(df.cd_type_statut.unique())]
# Distinction LRR [old vs new] région # Distinction LRR [old vs new] région
is_lrr = df.cd_type_statut == 'LRR' is_lrr = df.cd_type_statut == 'LRR'
@ -287,3 +295,8 @@ if __name__ == "__main__":
) )
# writer.save() # writer.save()
print('pivot_libel OK !') print('pivot_libel OK !')
typ.to_excel(
writer,sheet_name='dic_type_statut',index=False
)
# writer.save()
print('dic_type_statut OK !')