library(tools4DCE)
Ce document explique comment télécharger des indices hydrobiologiques depuis Hubeau, convertir IBD et IBMR en EQR, affecter une classe de qualité aux résultats selon la typologie des stations de mesures.
A partir de la plateforme Hubeau, on télécharge les données hydrobiologiques disponibles sur la station 04207400.
<-import_hubeau_indices_hbio(liste_stations = c("04207400"))
donneesstr(donnees)
## 'data.frame': 211 obs. of 40 variables:
## $ CdParametre : chr "1000" "1000" "1000" "1000" ...
## $ NomParametre : chr "Indice Biologique Global Normalisé (I.B.G.N.)" "Indice Biologique Global Normalisé (I.B.G.N.)" "Indice Biologique Global Normalisé (I.B.G.N.)" "Indice Biologique Global Normalisé (I.B.G.N.)" ...
## $ CdStationMesureEauxSurface: chr "04207400" "04207400" "04207400" "04207400" ...
## $ libelle_station_hydrobio : chr "FLUME à PACE" "FLUME à PACE" "FLUME à PACE" "FLUME à PACE" ...
## $ uri_station_hydrobio : logi NA NA NA NA NA NA ...
## $ date_prelevement : chr "2000-07-18T00:00:00Z" "2001-09-04T00:00:00Z" "2002-08-21T00:00:00Z" "2004-07-16T00:00:00Z" ...
## $ RsAna : num 14 14 15 12 14 18 28 27 29 20 ...
## $ CdUniteMesure : chr "X" "X" "X" "X" ...
## $ coordonnee_x : num 344948 344948 344948 344948 344948 ...
## $ coordonnee_y : num 6797470 6797470 6797470 6797470 6797470 ...
## $ code_projection : chr "2154" "2154" "2154" "2154" ...
## $ code_cours_eau : chr "J7214000" "J7214000" "J7214000" "J7214000" ...
## $ libelle_cours_eau : logi NA NA NA NA NA NA ...
## $ uri_cours_eau : logi NA NA NA NA NA NA ...
## $ code_masse_eau : chr "GR0112" "GR0112" "GR0112" "GR0112" ...
## $ libelle_masse_eau : logi NA NA NA NA NA NA ...
## $ uri_masse_eau : logi NA NA NA NA NA NA ...
## $ code_sous_bassin : logi NA NA NA NA NA NA ...
## $ libelle_sous_bassin : logi NA NA NA NA NA NA ...
## $ code_bassin : logi NA NA NA NA NA NA ...
## $ libelle_bassin : logi NA NA NA NA NA NA ...
## $ code_commune : chr "35210" "35210" "35210" "35210" ...
## $ libelle_commune : chr "Pacé" "Pacé" "Pacé" "Pacé" ...
## $ code_departement : chr "35" "35" "35" "35" ...
## $ libelle_departement : chr "Ille-et-Vilaine" "Ille-et-Vilaine" "Ille-et-Vilaine" "Ille-et-Vilaine" ...
## $ code_region : chr "53" "53" "53" "53" ...
## $ libelle_region : chr "Bretagne" "Bretagne" "Bretagne" "Bretagne" ...
## $ CdSupport : chr "13" "13" "13" "13" ...
## $ libelle_support : chr "Macroinvertébrés aquatiques" "Macroinvertébrés aquatiques" "Macroinvertébrés aquatiques" "Macroinvertébrés aquatiques" ...
## $ CdQualAna : chr "1" "1" "1" "1" ...
## $ libelle_qualification : chr "correcte" "correcte" "correcte" "correcte" ...
## $ CdMethode : chr "0" "0" "0" "0" ...
## $ libelle_methode : chr "Méthode inconnue" "Méthode inconnue" "Méthode inconnue" "Méthode inconnue" ...
## $ libelle_accreditation : chr "Inconnu" "Inconnu" "Inconnu" "Inconnu" ...
## $ latitude : logi NA NA NA NA NA NA ...
## $ longitude : logi NA NA NA NA NA NA ...
## $ geometry : logi NA NA NA NA NA NA ...
## $ DatePrel : Date, format: "2000-07-18" "2001-09-04" ...
## $ HeurePrel : chr "00:00:00" "00:00:00" "00:00:00" "00:00:00" ...
## $ CdAccreAna : chr "0" "0" "0" "0" ...
Le package tools4DCE fournit une table avec les paramètres nécessaires au calcul des EQR selon la typologie de cours d’eau, conformément à l’arrêté ministériel du 25 janvier 2010 modifié.
str(base_ref_eqr)
## tibble [456 x 6] (S3: tbl_df/tbl/data.frame)
## $ NOM_INDICE : chr [1:456] "IBD" "IBD" "IBD" "IBD" ...
## $ CdParametre : chr [1:456] "5856" "5856" "5856" "5856" ...
## $ TYPEFR : Factor w/ 163 levels "G1","G10","G10/21",..: 1 3 4 5 121 121 6 7 9 10 ...
## $ NOTE_REFERENCE: num [1:456] 20 19 19 19 17.4 17.4 17.4 17.4 20 18.1 ...
## $ NOTE_MINI : num [1:456] 5 5 5 5 1 1 1 1 5 1 ...
## $ SPECIFICITE : chr [1:456] "CAS_GENERAL" "CAS_GENERAL" "CAS_GENERAL" "CAS_GENERAL" ...
Le package contient une fonction pour calculer les EQR.
<-donnees%>%subset(CdParametre=="5856" & !is.na(RsAna))
donnees_IBD$EQR<-sapply(donnees_IBD$RsAna, function(x){calcule_EQR_hbio(x, CdParametre='5856', typologie="P12-A")}) donnees_IBD
Le package permet de mettre facilement les résultats sous forme graphique
Création d’un seuil qualité :
<-makeSeuils(CdParametre = "5856", type_seuil = "DCE", specificites = "<10000 km2")
seuil_IBDgraphDCE_points(donnees_IBD, col_valeurs = "EQR", seuils=seuil_IBD, ymini=0, ymaxi=1) + ylab("EQR")
Il permet également d’affecter une classe de qualité à chaque résultat.
Création d’un seuil qualité :
$CLASSE<-sapply(donnees_IBD$EQR, function(x){affecte_une_classe(x, seuil_IBD)}) donnees_IBD
<-import_hubeau_liste_hbio(liste_stations = "04195400", indice="dia")
liste_flostr(head(liste_flo, 3))
## 'data.frame': 3 obs. of 45 variables:
## $ code_station_hydrobio : chr "04195400" "04195400" "04195400"
## $ libelle_station_hydrobio : chr "OUST à SAINT-MARTIN-DES-PRES" "OUST à SAINT-MARTIN-DES-PRES" "OUST à SAINT-MARTIN-DES-PRES"
## $ uri_station_hydrobio : logi NA NA NA
## $ date_prelevement : Date, format: "2007-09-05" "2008-08-26" ...
## $ code_support : chr "10" "10" "10"
## $ libelle_support : chr "Diatomées benthiques" "Diatomées benthiques" "Diatomées benthiques"
## $ code_appel_taxon : chr NA NA NA
## $ libelle_appel_taxon : chr NA NA NA
## $ codes_taxons_parents :List of 3
## ..$ : NULL
## ..$ : NULL
## ..$ : NULL
## $ libelles_taxons_parents :List of 3
## ..$ : NULL
## ..$ : NULL
## ..$ : NULL
## $ code_type_resultat : chr NA NA NA
## $ libelle_type_resultat : chr NA NA NA
## $ resultat_taxon : num NA NA NA
## $ code_qualification : chr "1" "1" "1"
## $ libelle_qualification : chr "correcte" "correcte" "correcte"
## $ code_methode : chr "0" "0" "0"
## $ libelle_methode : chr "Méthode inconnue" "Méthode inconnue" "Méthode inconnue"
## $ libelle_liste_faune_flore: chr NA NA NA
## $ code_lot : logi NA NA NA
## $ hauteur_moyenne_lame_eau : logi NA NA NA
## $ largeur_moyenne_lame_eau : num NA NA 0
## $ longueur_prospectee : num NA NA 0
## $ codes_indices_operation :List of 3
## ..$ : NULL
## ..$ : NULL
## ..$ : NULL
## $ coordonnee_x : num 258244 258244 258244
## $ coordonnee_y : num 6819140 6819140 6819140
## $ code_projection : chr "2154" "2154" "2154"
## $ code_cours_eau : chr "J8--0230" "J8--0230" "J8--0230"
## $ libelle_cours_eau : logi NA NA NA
## $ uri_cours_eau : logi NA NA NA
## $ code_masse_eau : chr "GR0126A" "GR0126A" "GR0126A"
## $ libelle_masse_eau : logi NA NA NA
## $ uri_masse_eau : logi NA NA NA
## $ code_sous_bassin : logi NA NA NA
## $ libelle_sous_bassin : logi NA NA NA
## $ code_bassin : logi NA NA NA
## $ libelle_bassin : logi NA NA NA
## $ code_commune : chr "22313" "22313" "22313"
## $ libelle_commune : chr "Saint-Martin-des-Prés" "Saint-Martin-des-Prés" "Saint-Martin-des-Prés"
## $ code_departement : chr "22" "22" "22"
## $ libelle_departement : chr "Côtes d'Armor" "Côtes d'Armor" "Côtes d'Armor"
## $ code_region : chr "53" "53" "53"
## $ libelle_region : chr "Bretagne" "Bretagne" "Bretagne"
## $ latitude : logi NA NA NA
## $ longitude : logi NA NA NA
## $ geometry : logi NA NA NA
$CODE_OPERATION <-paste0(liste_flo$code_station_hydrobio, "*", liste_flo$date_prelevement)
liste_flo$CODE_STATION <- liste_flo$code_station_hydrobio
liste_flo$DATE <- format(liste_flo$date_prelevement, "%d/%m/%Y")
liste_flo$CODE_TAXON <- liste_flo$code_appel_taxon
liste_flo$RESULTAT <- liste_flo$resultat_taxon
liste_flo<- liste_flo %>% select(CODE_OPERATION, CODE_STATION, DATE, CODE_TAXON, RESULTAT)
liste_flo <-liste_flo%>%subset(!is.na(CODE_TAXON)) liste_flo
calcule_SEEE_IBD(liste_flo)
## CODE_OPERATION CODE_STATION DATE CODE_PAR LIB_PAR
## 1 04195400*2013-07-19 04195400 19/07/2013 8060 NbTaxonsIBDcontributifs
## 2 04195400*2013-07-19 04195400 19/07/2013 8059 NbUniteDiatomique
## 3 04195400*2013-07-19 04195400 19/07/2013 5856 IndiceBioDiat
## 4 04195400*2014-06-17 04195400 17/06/2014 8060 NbTaxonsIBDcontributifs
## 5 04195400*2014-06-17 04195400 17/06/2014 8059 NbUniteDiatomique
## 6 04195400*2014-06-17 04195400 17/06/2014 5856 IndiceBioDiat
## 7 04195400*2015-06-23 04195400 23/06/2015 8060 NbTaxonsIBDcontributifs
## 8 04195400*2015-06-23 04195400 23/06/2015 8059 NbUniteDiatomique
## 9 04195400*2015-06-23 04195400 23/06/2015 5856 IndiceBioDiat
## 10 04195400*2016-06-07 04195400 07/06/2016 8060 NbTaxonsIBDcontributifs
## 11 04195400*2016-06-07 04195400 07/06/2016 8059 NbUniteDiatomique
## 12 04195400*2016-06-07 04195400 07/06/2016 5856 IndiceBioDiat
## 13 04195400*2017-10-03 04195400 03/10/2017 8060 NbTaxonsIBDcontributifs
## 14 04195400*2017-10-03 04195400 03/10/2017 8059 NbUniteDiatomique
## 15 04195400*2017-10-03 04195400 03/10/2017 5856 IndiceBioDiat
## 16 04195400*2018-08-28 04195400 28/08/2018 8060 NbTaxonsIBDcontributifs
## 17 04195400*2018-08-28 04195400 28/08/2018 8059 NbUniteDiatomique
## 18 04195400*2018-08-28 04195400 28/08/2018 5856 IndiceBioDiat
## 19 04195400*2019-09-11 04195400 11/09/2019 8060 NbTaxonsIBDcontributifs
## 20 04195400*2019-09-11 04195400 11/09/2019 8059 NbUniteDiatomique
## 21 04195400*2019-09-11 04195400 11/09/2019 5856 IndiceBioDiat
## 22 04195400*2020-06-23 04195400 23/06/2020 8060 NbTaxonsIBDcontributifs
## 23 04195400*2020-06-23 04195400 23/06/2020 8059 NbUniteDiatomique
## 24 04195400*2020-06-23 04195400 23/06/2020 5856 IndiceBioDiat
## RESULTAT COMMENTAIRES
## 1 31.0
## 2 408.0
## 3 20.0
## 4 22.0
## 5 403.0
## 6 17.6
## 7 13.0
## 8 410.0
## 9 20.0
## 10 23.0
## 11 405.0
## 12 17.8
## 13 23.0
## 14 368.0
## 15 17.7 Attention, moins de 400 individus au total (368)
## 16 37.0
## 17 386.0
## 18 15.7 Attention, moins de 400 individus au total (386)
## 19 38.0
## 20 341.0
## 21 18.0 Attention, moins de 400 individus au total (341)
## 22 25.0
## 23 388.0
## 24 20.0 Attention, moins de 400 individus au total (388)