Compare commits
5
Commits
e095efbac9
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a659403162 | ||
|
|
80af0334a8 | ||
|
|
a5f9afc6aa | ||
|
|
e5f2a11443 | ||
|
|
cb8b602e4a |
@@ -0,0 +1,61 @@
|
||||
# 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 feuillets suivants :
|
||||
- <ins>v_bdc_status :</ins> 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|
|
||||
|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|
|
||||
- <ins>pivot_table :</ins> 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 :
|
||||
- <ins>AL :</ins> Liste d'alerte départementale
|
||||
- <ins>BARC :</ins> Convention de Barcelone
|
||||
- <ins>BERN :</ins> Convention de Berne
|
||||
- <ins>BONN :</ins> Convention de Bonn
|
||||
- <ins>OSPAR :</ins> Convention OSPAR
|
||||
- <ins>DH :</ins> Directive Habitat
|
||||
- <ins>DO :</ins> Directive Oiseaux
|
||||
- <ins>LRE :</ins> Liste rouge européenne
|
||||
- <ins>LRM :</ins> Liste rouge mondiale
|
||||
- <ins>LRN :</ins> Liste rouge nationale
|
||||
- <ins>LRR_AURA :</ins> Liste rouge régionale AURA
|
||||
- <ins>LRR_RA :</ins> Liste rouge régionale (ancienne région)
|
||||
- <ins>PNA :</ins> Plan national en cours
|
||||
- <ins>exPNA :</ins> Plan national terminé
|
||||
- <ins>PAPNAT :</ins> Priorité action publique nationale
|
||||
- <ins>POM :</ins> Protection COM
|
||||
- <ins>PD :</ins> Protection départementale
|
||||
- <ins>PN :</ins> Protection nationale
|
||||
- <ins>PR :</ins> Protection régionale
|
||||
- <ins>REGLII :</ins> Interdiction d'introduction
|
||||
- <ins>REGLLUTTE :</ins> Lutte contre certaines espèces
|
||||
- <ins>REGL :</ins> Réglementation
|
||||
- <ins>REGLSO :</ins> Réglementation sans objet
|
||||
- <ins>SCAP NAT :</ins> SCAP nationale
|
||||
- <ins>SCAP REG :</ins> SCAP régionale
|
||||
- <ins>SENSDEP :</ins> Sensibilité départementale
|
||||
- <ins>SENSNAT :</ins> Sensibilité nationale
|
||||
- <ins>SENSREG :</ins> Sensibilité régionale
|
||||
- <ins>ZDET :</ins> 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.
|
||||
- <ins>pivot_libel :</ins> Identique à `pivot_table` mais contenant les intitulés des statuts à la place des codes.
|
||||
- <ins>dic_type_statut :</ins> Dictionnaire des types de status concerné par l'extraction.
|
||||
|
||||
## Configuration du fichier
|
||||
Les variables à modifier se situe de l.215 à l.225 :
|
||||
- <ins>l.215 :</ins> Import/Définition de la connexion à la bdd GéoNature. En cas de définition de la connexion, ajoutez/completez le code ci-dessous :
|
||||
``` py
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.engine import URL
|
||||
gn_user = 'XXXX'
|
||||
gn_pwd = 'XXXX'
|
||||
gn_adr = 'XXXX'
|
||||
gn_base = 'XXXX'
|
||||
gn_url = URL.create("postgresql+psycopg2", username=gn_user, password=gn_pwd, host=gn_adr, database=gn_base)
|
||||
con_gn = create_engine(gn_url)
|
||||
```
|
||||
- <ins>l.219 :</ins> Variable de configuration de lecture du fichier Excel contenant l'ensemble des taxons.
|
||||
- <ins>l.225 :</ins> Intitulé de la colonne listant les codes taxonomiques.
|
||||
@@ -37,6 +37,12 @@ def get_status(lst,con):
|
||||
;""".format(cd_nom = tuple(lst))
|
||||
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):
|
||||
res = requests.api.get('%s/%i'%(api,cd_nom))
|
||||
if res.status_code == 200:
|
||||
@@ -225,7 +231,9 @@ if __name__ == "__main__":
|
||||
|
||||
# Récupération des statuts
|
||||
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
|
||||
is_lrr = df.cd_type_statut == 'LRR'
|
||||
df.loc[is_lrr & (df.niveau_admin == 'Région'),'cd_type_statut'] = 'LRR_AURA'
|
||||
@@ -287,3 +295,8 @@ if __name__ == "__main__":
|
||||
)
|
||||
# writer.save()
|
||||
print('pivot_libel OK !')
|
||||
typ.to_excel(
|
||||
writer,sheet_name='dic_type_statut',index=False
|
||||
)
|
||||
# writer.save()
|
||||
print('dic_type_statut OK !')
|
||||
|
||||
Reference in New Issue
Block a user