From d27fe2fc935642eda5c645c04f2da06f2e42a599 Mon Sep 17 00:00:00 2001 From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr> Date: Fri, 13 Sep 2024 13:25:28 +0000 Subject: [PATCH] Finalisation de flat_insert_hubeau_eso_into_analyse.Rmd --- dev/config_fusen.yaml | 26 +++ dev/flat_insert_ars_into_analyse.Rmd | 8 +- dev/flat_insert_hubeau_eso_into_analyse.Rmd | 195 +++++++++++++++++ ...lat_insert_hubeau_eso_into_prelevement.Rmd | 32 +-- dev/flat_insert_hubeau_esu_into_analyse.Rmd | 185 ++++++++++++++++ ...lat_insert_hubeau_esu_into_prelevement.Rmd | 31 +-- .../insertion-des-analyses-hubeau-eso.Rmd | 202 ++++++++++++++++++ .../insertion-des-analyses-hubeau-esu.Rmd | 191 +++++++++++++++++ .../insertion-des-prelevements-hubeau-eso.Rmd | 32 +-- .../insertion-des-prelevements-hubeau-esu.Rmd | 31 +-- 10 files changed, 869 insertions(+), 64 deletions(-) create mode 100644 dev/flat_insert_hubeau_eso_into_analyse.Rmd create mode 100644 dev/flat_insert_hubeau_esu_into_analyse.Rmd create mode 100644 vignettes/insertion-des-analyses-hubeau-eso.Rmd create mode 100644 vignettes/insertion-des-analyses-hubeau-esu.Rmd diff --git a/dev/config_fusen.yaml b/dev/config_fusen.yaml index 15f23e3..9499de0 100644 --- a/dev/config_fusen.yaml +++ b/dev/config_fusen.yaml @@ -89,6 +89,19 @@ flat_insert_ars_into_prelevement.Rmd: check: true document: true overwrite: ask +flat_insert_hubeau_eso_into_analyse.Rmd: + path: dev/flat_insert_hubeau_eso_into_analyse.Rmd + state: active + R: [] + tests: [] + vignettes: vignettes/insertion-des-analyses-hubeau-eso.Rmd + inflate: + flat_file: dev/flat_insert_hubeau_eso_into_analyse.Rmd + vignette_name: Insertion des analyses Hubeau ESO + open_vignette: true + check: true + document: true + overwrite: ask flat_insert_hubeau_eso_into_prelevement.Rmd: path: dev/flat_insert_hubeau_eso_into_prelevement.Rmd state: active @@ -102,6 +115,19 @@ flat_insert_hubeau_eso_into_prelevement.Rmd: check: true document: true overwrite: ask +flat_insert_hubeau_esu_into_analyse.Rmd: + path: dev/flat_insert_hubeau_esu_into_analyse.Rmd + state: active + R: [] + tests: [] + vignettes: vignettes/insertion-des-analyses-hubeau-esu.Rmd + inflate: + flat_file: dev/flat_insert_hubeau_esu_into_analyse.Rmd + vignette_name: Insertion des analyses Hubeau ESU + open_vignette: true + check: true + document: true + overwrite: ask flat_insert_hubeau_esu_into_prelevement.Rmd: path: dev/flat_insert_hubeau_esu_into_prelevement.Rmd state: active diff --git a/dev/flat_insert_ars_into_analyse.Rmd b/dev/flat_insert_ars_into_analyse.Rmd index 8c1a04d..418785f 100644 --- a/dev/flat_insert_ars_into_analyse.Rmd +++ b/dev/flat_insert_ars_into_analyse.Rmd @@ -20,7 +20,7 @@ library(RPostgres) pkgload::load_all(export_all = FALSE) ``` -# Consolidation et insertion des données de l'ARS dans la table des prélèvements +# Consolidation et insertion des données de l'ARS dans la table des analyses ## Chargement des données ARS brutes @@ -128,7 +128,7 @@ nitrate_analyse_ars <- nitrate_analyse_ars |> ``` -# Jointure avec la table des prélèvements créée auparavant +## Jointure avec la table des prélèvements créée auparavant La table des prélèvements est chargée : ```{r load-nitrate_prelevement, eval=FALSE} @@ -220,7 +220,7 @@ print(nitrate_analyse_ars) ``` -# Chargement en base +## Préparation pour l'insertion en base On corrige l'ordre des champs les champs utiles à la table des analyses : ```{r select-variables-ars-final, eval=FALSE} @@ -250,7 +250,7 @@ datalibaba::poster_data(data = nitrate_analyse_ars, user = "admin") ``` -# Insertion des données ARS du nouveau millésime en base dans la table globale +## Insertion des analyses ARS en base dans la table globale On insère enfin les enregistrements de cette table dans la table globale : ```{r import_and_merge_tables_ars, eval=FALSE} diff --git a/dev/flat_insert_hubeau_eso_into_analyse.Rmd b/dev/flat_insert_hubeau_eso_into_analyse.Rmd new file mode 100644 index 0000000..d48a962 --- /dev/null +++ b/dev/flat_insert_hubeau_eso_into_analyse.Rmd @@ -0,0 +1,195 @@ +--- +title: "Insertion des analyses Hubeau ESO" +output: html_document +editor_options: + chunk_output_type: console +--- + +```{r development, include=FALSE} +library(testthat) +library(datalibaba) +library(dplyr) +library(stringr) +library(glue) +library(DBI) +library(RPostgres) +``` + +```{r development-load} +# Load already included functions if relevant +pkgload::load_all(export_all = FALSE) +``` + +# Consolidation et insertion des analyses Hub'eau ESO dans la table des analyses + +## Chargement des analyses Hub'eau ESO + +La table des données brutes Nitrates Hub'eau ESO est chargée : +```{r load-nitrate_qualite_nappes_analyses, eval=FALSE} +# Charger la table qualite_nappes_eau_souterraine.nitrate_qualite_nappes_analyses +nitrate_qualite_nappes_analyses <- datalibaba::importer_data( + table = "nitrate_qualite_nappes_analyses", + schema = "qualite_nappes_eau_souterraine", + db = "si_eau", + user = "admin" +) +``` + +## Filtre par code_producteur pour exclure les données ARS + +On sélectionne les code_producteur correspondants aux enregistrements hors +données ARS de la région : +```{r select-code_producteur_hubeau_eso, eval=FALSE} +# Filtrer pour exclure les données ARS +nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> + dplyr::filter(!code_producteur %in% c('44','49','53','72','85')) +``` + +## Consolidation des données Hub'eau ESO + +On remplace des valeurs dans limite_detection et limite_quantification : +```{r replace-dot_limite_detection, eval=FALSE} +# Remplacer les valeurs dans les colonnes limite_detection et limite_quantification +nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> + dplyr::mutate( + resultat = stringr::str_replace(resultat, "\\,", "."), + limite_detection = stringr::str_replace(limite_detection, "\\,", "."), + limite_quantification = stringr::str_replace(limite_quantification, "\\,", ".") + ) + +``` + +On sélectionne les champs utiles à la table des analyses : +```{r select-variables-hubeau_eso, eval=FALSE} +# Sélectionner les variables +nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> + dplyr::select(code_station = bss_id, + code_intervenant = code_lieu_analyse, + date_prelevement = date_debut_prelevement, + date_analyse = date_debut_prelevement, + resultat_analyse = resultat, + code_parametre = code_param, + code_fraction_analysee = code_fraction, + code_remarque = code_remarque_analyse, + limite_detection, + limite_quantification) + +``` + +On modifie le type des variables numériques : +```{r change-fieldtypes, eval=FALSE} +# Remplacer les valeurs dans les colonnes resultat_analyse et limite_quantification +nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> + dplyr::mutate(resultat_analyse = as.numeric(resultat_analyse), + limite_detection = as.numeric(limite_detection), + limite_quantification = as.numeric(limite_quantification), + code_parametre = as.integer(code_parametre), + code_fraction_analysee = as.integer(code_fraction_analysee), + code_remarque = as.integer(code_remarque) + ) + +``` + +# Jointure avec la table des prélèvements créée auparavant + +La table des prélèvements est chargée : +```{r load-nitrate_prelevement, eval=FALSE} +# Charger la table nitrates.nitrate_prelevement_v0_15 +nitrate_prelevement <- datalibaba::importer_data( + table = "nitrate_prelevement_v0_15", + schema = "nitrates", + db = "si_eau", + user = "admin" +) + +``` + +On dédoublonne les lignes en utilisant les champs `code_station` et `date_prelevement` +afin de ne conserver qu'un prélèvement par station et date donnée : +```{r select-distinct-rows_hubeau_eso, eval=FALSE} +# Dédoublonner les lignes sur les colonnes code_station et date_prelevement +nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> + dplyr::distinct(code_station, date_prelevement, .keep_all = TRUE) + +``` + +On joint le dataframe des prélèvements pour récupérer la variable code_prelevement : +```{r join-prelevement_hubeau_eso, eval=FALSE} +# Joindre les dataframes nitrate_qualite_nappes_analyses et nitrate_prelevement +nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> + left_join(nitrate_prelevement |> + select(code_station, date_prelevement, code_prelevement), + by = c("code_station" = "code_station", "date_prelevement" = "date_prelevement")) +``` + +On dédoublonne les lignes en utilisant les champs `code_prelevement`, +`code_parametre` et `resultat_analyse` afin de ne conserver qu'une analyse : +```{r select-distinct-rows_hubeau_eso_2, eval=FALSE} +# Dédoublonner les lignes sur les colonnes code_station et date_prelevement +nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> + dplyr::distinct(code_prelevement, code_parametre, resultat_analyse, .keep_all = TRUE) + +``` + +On ajoute un identifiant unique s'appuyant sur une séquence stockée en base : +```{r add_code_analyse_hubeau_eso, eval=FALSE} +# Utiliser la fonction add_code_analyse_ars avec la version souhaitée +nitrate_qualite_nappes_analyses <- add_code_analyse( + nitrate_qualite_nappes_analyses, "v0_15") + +# Afficher le dataframe pour vérifier les modifications +print(nitrate_qualite_nappes_analyses) + +``` + +# Chargement en base + +On corrige l'ordre des champs les champs utiles à la table des analyses : +```{r select-variables-hubeau_eso_final, eval=FALSE} +# Sélectionner les variables dans l'ordre des champs de la table à alimenter +nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> + dplyr::select(code_analyse, + code_intervenant, + code_prelevement, + code_parametre, + code_fraction_analysee, + date_analyse, + resultat_analyse, + code_remarque, + limite_detection, + limite_quantification) + +``` + +On charge les données consolidées dans un table dédiée : +```{r insert-into_nitrate_prelevement_v0_15, eval=FALSE} +# Charger les données dans une nouvelle table en base +datalibaba::poster_data(data = nitrate_qualite_nappes_analyses, + table = "nitrate_analyse_hubeau_eso_v0_15", + schema = "nitrates", + db = "si_eau", + overwrite = TRUE, + pk = "code_analyse", + user = "admin") +``` + +# Insertion des données Hub'eau ESO en base dans la table globale + +On insère enfin les enregistrements de cette table dans la table globale : +```{r import_and_merge_tables_hubeau_eso, eval=FALSE} +# Insérer les données de la table du dernier millésime vers la table complète +collectr::import_and_merge_tables(database = "si_eau", + source_table = "nitrate_analyse_hubeau_eso_v0_15", + source_schema = "nitrates", + target_table = "nitrate_analyse_v0_15", + target_schema = "nitrates", + role = "admin") + +``` + +```{r development-inflate, eval=FALSE} +# Run but keep eval=FALSE to avoid infinite loop +# Execute in the console directly +fusen::inflate(flat_file = "dev/flat_insert_hubeau_eso_into_analyse.Rmd", vignette_name = "Insertion des analyses Hubeau ESO") +``` + diff --git a/dev/flat_insert_hubeau_eso_into_prelevement.Rmd b/dev/flat_insert_hubeau_eso_into_prelevement.Rmd index 9672477..b87e02a 100644 --- a/dev/flat_insert_hubeau_eso_into_prelevement.Rmd +++ b/dev/flat_insert_hubeau_eso_into_prelevement.Rmd @@ -22,11 +22,12 @@ pkgload::load_all(export_all = FALSE) # Consolidation et insertion des données Hub'eau ESO dans la table des prélèvements -## Chargement des données Hub'eau ESO +## Chargement des prélèvements Hub'eau ESO La table des données brutes Nitrates Hub'eau ESO est chargée : -```{r load-nitrate_data_analyse_hubeau_eso, eval=FALSE} -nitrate_qualite_nappes_analyses <- datalibaba::importer_data( +```{r load-nitrate_qualite_nappes_analyses, eval=FALSE} +# Charger la table qualite_nappes_eau_souterraine.nitrate_qualite_rivieres_analyse_pc +nitrate_qualite_nappes_prelevements <- datalibaba::importer_data( table = "nitrate_qualite_nappes_analyses", schema = "qualite_nappes_eau_souterraine", db = "si_eau", @@ -39,16 +40,17 @@ nitrate_qualite_nappes_analyses <- datalibaba::importer_data( On sélectionne les code_producteur correspondants aux enregistrements hors données ARS de la région : ```{r select-code_producteur_hubeau_eso, eval=FALSE} -nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> +# Filtrer pour exclure les données ARS +nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |> dplyr::filter(!code_producteur %in% c('44','49','53','72','85')) ``` -## Consolidation des données Hub'eau ESO +## Consolidation des prélèvements Hub'eau ESO On ajoute les variables `source` et `code_support` : ```{r add-source_code_support_hubeau_eso, eval=FALSE} # Ajouter les variables source et code_support -nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> +nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |> dplyr::mutate( source = "ADES", code_support = 3) @@ -57,7 +59,7 @@ nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> On sélectionne les champs utiles à la table des prélèvements : ```{r select-variables_hubeau_eso, eval=FALSE} # Sélectionner les variables -nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> +nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |> dplyr::select(source, code_reseau = codes_reseau, code_station = bss_id, @@ -68,7 +70,7 @@ nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> On modifie le type de la variable `code_support` de character en integer : ```{r change-type_code_support, eval=FALSE} # Convertir la variable code_support de character en integer -nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> +nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |> dplyr::mutate(code_support = as.integer(code_support)) ``` @@ -77,25 +79,25 @@ On dédoublonne les lignes en utilisant les champs `code_station` et donnée : ```{r select-distinct-rows_hubeau_eso, eval=FALSE} # Dédoublonner les lignes sur les colonnes code_station et date_prelevement -nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> +nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |> dplyr::distinct(code_station, date_prelevement, .keep_all = TRUE) ``` On ajoute un identifiant unique s'appuyant sur une séquence stockée en base : ```{r add_code_prelevement_hubeau_eso, eval=FALSE} # Utiliser la fonction add_code_prelevement avec la version souhaitée -nitrate_qualite_nappes_analyses <- add_code_prelevement( - nitrate_qualite_nappes_analyses, "v0_15") +nitrate_qualite_nappes_prelevements <- add_code_prelevement( + nitrate_qualite_nappes_prelevements, "v0_15") # Afficher le dataframe pour vérifier les modifications -print(nitrate_qualite_nappes_analyses) +print(nitrate_qualite_nappes_prelevements) ``` On charge les données consolidées dans un table dédiée : ```{r insert-into_nitrate_prelevement_hubeau_eso, eval=FALSE} # Charger les données dans une nouvelle table en base -datalibaba::poster_data(data = nitrate_qualite_nappes_analyses, +datalibaba::poster_data(data = nitrate_qualite_nappes_prelevements, table = "nitrate_prelevement_hubeau_eso_v0_15", schema = "nitrates", db = "si_eau", @@ -104,11 +106,11 @@ datalibaba::poster_data(data = nitrate_qualite_nappes_analyses, user = "admin") ``` -# Insertion des données Hub'eau ESO du nouveau millésime en base dans la table globale +# Insertion des prélèvements Hub'eau ESO en base dans la table globale On insère enfin les enregistrements de cette table dans la table globale : ```{r import_and_merge_tables_hubeau_eso, eval=FALSE} -# Insérer les données de la table du dernier millésime vers la table complète +# Insérer les prélèvements Hub'eau ESO vers la table complète collectr::import_and_merge_tables(database = "si_eau", source_table = "nitrate_prelevement_hubeau_eso_v0_15", source_schema = "nitrates", diff --git a/dev/flat_insert_hubeau_esu_into_analyse.Rmd b/dev/flat_insert_hubeau_esu_into_analyse.Rmd new file mode 100644 index 0000000..0c1b8ea --- /dev/null +++ b/dev/flat_insert_hubeau_esu_into_analyse.Rmd @@ -0,0 +1,185 @@ +--- +title: "Insertion des analyses Hubeau ESU" +output: html_document +editor_options: + chunk_output_type: console +--- + +```{r development, include=FALSE} +library(testthat) +library(datalibaba) +library(dplyr) +library(stringr) +library(glue) +library(DBI) +library(RPostgres) +``` + +```{r development-load} +# Load already included functions if relevant +pkgload::load_all(export_all = FALSE) +``` + +# Consolidation et insertion des analyses Hub'eau ESU dans la table des analyses + +## Chargement des analyses Hub'eau ESU + +La table des données brutes Nitrates Hub'eau ESU est chargée : +```{r load-nitrate_qualite_rivieres_analyse_pc, eval=FALSE} +# Charger la table qualite_cours_d_eau.nitrate_qualite_rivieres_analyse_pc +nitrate_qualite_rivieres_analyses <- datalibaba::importer_data( + table = "nitrate_qualite_rivieres_analyse_pc", + schema = "qualite_cours_d_eau", + db = "si_eau", + user = "admin" +) +``` + +## Consolidation des analyses Hub'eau ESU + +On remplace des valeurs dans limite_detection et limite_quantification : +```{r replace-dot_limite_detection, eval=FALSE} +# Remplacer les valeurs dans les colonnes limite_detection et limite_quantification +nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |> + dplyr::mutate( + resultat = stringr::str_replace(resultat, "\\,", "."), + limite_detection = stringr::str_replace(limite_detection, "\\,", "."), + limite_quantification = stringr::str_replace(limite_quantification, "\\,", ".") + ) + +``` + +On sélectionne les champs utiles à la table des analyses : +```{r select-variables-hubeau_esu, eval=FALSE} +# Sélectionner les variables +nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |> + dplyr::select(code_station, + code_intervenant = code_laboratoire, + date_prelevement, + date_analyse, + resultat_analyse = resultat, + code_parametre, + code_fraction_analysee = code_fraction, + code_remarque, + limite_detection, + limite_quantification) + +``` + +On modifie le type des variables resultat_analyse et limite_quantification : +```{r change-fieldtypes, eval=FALSE} +# Remplacer les valeurs dans les colonnes resultat_analyse et limite_quantification +nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |> + dplyr::mutate(resultat_analyse = as.numeric(resultat_analyse), + limite_detection = as.numeric(limite_detection), + limite_quantification = as.numeric(limite_quantification), + code_parametre = as.integer(code_parametre), + code_fraction_analysee = as.integer(code_fraction_analysee), + code_remarque = as.integer(code_remarque) + ) + +``` + +# Jointure avec la table des prélèvements créée auparavant + +La table des prélèvements est chargée : +```{r load-nitrate_prelevement, eval=FALSE} +# Charger la table nitrates.nitrate_prelevement_v0_15 +nitrate_prelevement <- datalibaba::importer_data( + table = "nitrate_prelevement_v0_15", + schema = "nitrates", + db = "si_eau", + user = "admin" +) + +``` + +On dédoublonne les lignes en utilisant les champs `code_station` et `date_prelevement` +afin de ne conserver qu'un prélèvement par station et date donnée : +```{r select-distinct-rows_hubeau_esu, eval=FALSE} +# Dédoublonner les lignes sur les colonnes code_station et date_prelevement +nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |> + dplyr::distinct(code_station, date_prelevement, .keep_all = TRUE) + +``` + +On joint le dataframe des prélèvements pour récupérer la variable code_prelevement : +```{r join-prelevement_hubeau_esu, eval=FALSE} +# Joindre les dataframes nitrate_qualite_rivieres_analyses et nitrate_prelevement +nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |> + left_join(nitrate_prelevement |> + select(code_station, date_prelevement, code_prelevement), + by = c("code_station" = "code_station", "date_prelevement" = "date_prelevement")) +``` + +On dédoublonne les lignes en utilisant les champs `code_prelevement`, +`code_parametre` et `resultat_analyse` afin de ne conserver qu'une analyse : +```{r select-distinct-rows_hubeau_esu_2, eval=FALSE} +# Dédoublonner les lignes sur les colonnes code_station et date_prelevement +nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |> + dplyr::distinct(code_prelevement, code_parametre, resultat_analyse, .keep_all = TRUE) + +``` + +On ajoute un identifiant unique s'appuyant sur une séquence stockée en base : +```{r add_code_analyse_hubeau_esu, eval=FALSE} +# Utiliser la fonction add_code_analyse_ars avec la version souhaitée +nitrate_qualite_rivieres_analyses <- add_code_analyse( + nitrate_qualite_rivieres_analyses, "v0_15") + +# Afficher le dataframe pour vérifier les modifications +print(nitrate_qualite_rivieres_analyses) + +``` + +# Chargement en base + +On corrige l'ordre des champs les champs utiles à la table des analyses : +```{r select-variables-hubeau_esu_final, eval=FALSE} +# Sélectionner les variables dans l'ordre des champs de la table à alimenter +nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |> + dplyr::select(code_analyse, + code_intervenant, + code_prelevement, + code_parametre, + code_fraction_analysee, + date_analyse, + resultat_analyse, + code_remarque, + limite_detection, + limite_quantification) + +``` + +On charge les données consolidées dans une table dédiée : +```{r insert-into_nitrate_prelevement_v0_15, eval=FALSE} +# Charger les données dans une nouvelle table en base +datalibaba::poster_data(data = nitrate_qualite_rivieres_analyses, + table = "nitrate_qualite_rivieres_analyses_v0_15", + schema = "nitrates", + db = "si_eau", + overwrite = TRUE, + pk = "code_analyse", + user = "admin") +``` + +# Insertion des analyses Hub'eau ESU en base dans la table globale + +On insère enfin les enregistrements de cette table dans la table globale : +```{r import_and_merge_tables_hubeau_esu, eval=FALSE} +# Insérer les données de la table du dernier millésime vers la table complète +collectr::import_and_merge_tables(database = "si_eau", + source_table = "nitrate_qualite_rivieres_analyses_v0_15", + source_schema = "nitrates", + target_table = "nitrate_analyse_v0_15", + target_schema = "nitrates", + role = "admin") + +``` + +```{r development-inflate, eval=FALSE} +# Run but keep eval=FALSE to avoid infinite loop +# Execute in the console directly +fusen::inflate(flat_file = "dev/flat_insert_hubeau_esu_into_analyse.Rmd", vignette_name = "Insertion des analyses Hubeau ESU") +``` + diff --git a/dev/flat_insert_hubeau_esu_into_prelevement.Rmd b/dev/flat_insert_hubeau_esu_into_prelevement.Rmd index d2f7c95..856ef32 100644 --- a/dev/flat_insert_hubeau_esu_into_prelevement.Rmd +++ b/dev/flat_insert_hubeau_esu_into_prelevement.Rmd @@ -22,11 +22,12 @@ pkgload::load_all(export_all = FALSE) # Consolidation et insertion des données Hub'eau ESU dans la table des prélèvements -## Chargement des données Hub'eau ESU +## Chargement des prélèvements Hub'eau ESU La table des données brutes Nitrates Hub'eau ESU est chargée : -```{r load-nitrate_data_analyse_hubeau_esu, eval=FALSE} -nitrate_qualite_rivieres_analyse_pc <- datalibaba::importer_data( +```{r load-nitrate_qualite_rivieres_analyse_pc, eval=FALSE} +# Charger la table qualite_nappes_eau_souterraine.nitrate_qualite_rivieres_analyse_pc +nitrate_qualite_rivieres_prelevements <- datalibaba::importer_data( table = "nitrate_qualite_rivieres_analyse_pc", schema = "qualite_cours_d_eau", db = "si_eau", @@ -34,12 +35,12 @@ nitrate_qualite_rivieres_analyse_pc <- datalibaba::importer_data( ) ``` -## Consolidation des données Hub'eau ESU +## Consolidation des prélèvements Hub'eau ESU On remplace "." par "," dans les variables `limite_detection` et `limite_quantification` : ```{r replace-in_limite_detection, eval=FALSE} # Remplacer "." par "," dans les colonnes limite_detection et limite_quantification -nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |> +nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |> dplyr::mutate( limite_detection = stringr::str_replace_all(limite_detection, ".", ","), limite_quantification = stringr::str_replace_all(limite_quantification, ".", ",") @@ -49,14 +50,14 @@ nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |> On ajoute la variable `source` : ```{r add-source_code_support_hubeau_esu, eval=FALSE} # Ajouter les variables source et code_support -nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |> +nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |> dplyr::mutate(source = "Na\u00efades") ``` On sélectionne les champs utiles à la table des prélèvements : ```{r select-variables_hubeau_esu, eval=FALSE} # Sélectionner les variables -nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |> +nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |> dplyr::select(source, code_reseau, code_station, @@ -69,7 +70,7 @@ nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |> On modifie le type de la variable `code_support` de character en integer : ```{r change-type_code_support, eval=FALSE} # Convertir la variable code_support de character en integer -nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |> +nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |> dplyr::mutate(code_support = as.integer(code_support)) ``` @@ -78,25 +79,25 @@ On dédoublonne les lignes en utilisant les champs `code_station` et donnée : ```{r select-distinct-rows_hubeau_esu, eval=FALSE} # Dédoublonner les lignes sur les colonnes code_station et date_prelevement -nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |> +nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |> dplyr::distinct(code_station, date_prelevement, .keep_all = TRUE) ``` On ajoute un identifiant unique s'appuyant sur une séquence stockée en base : ```{r add_code_prelevement_hubeau_esu, eval=FALSE} # Utiliser la fonction add_code_prelevement avec la version souhaitée -nitrate_qualite_rivieres_analyse_pc <- add_code_prelevement( - nitrate_qualite_rivieres_analyse_pc, "v0_15") +nitrate_qualite_rivieres_prelevements <- add_code_prelevement( + nitrate_qualite_rivieres_prelevements, "v0_15") # Afficher le dataframe pour vérifier les modifications -print(nitrate_qualite_rivieres_analyse_pc) +print(nitrate_qualite_rivieres_prelevements) ``` -On charge les données consolidées dans un table dédiée : +On charge les données consolidées dans une table dédiée : ```{r insert-into_nitrate_prelevement_hubeau_esu, eval=FALSE} # Charger les données dans une nouvelle table en base -datalibaba::poster_data(data = nitrate_qualite_rivieres_analyse_pc, +datalibaba::poster_data(data = nitrate_qualite_rivieres_prelevements, table = "nitrate_prelevement_hubeau_esu_v0_15", schema = "nitrates", db = "si_eau", @@ -105,7 +106,7 @@ datalibaba::poster_data(data = nitrate_qualite_rivieres_analyse_pc, user = "admin") ``` -# Insertion des données Hub'eau ESU du nouveau millésime en base dans la table globale +# Insertion des prélèvements Hub'eau ESU en base dans la table globale On insère enfin les enregistrements de cette table dans la table globale : ```{r import_and_merge_tables_hubeau_esu, eval=FALSE} diff --git a/vignettes/insertion-des-analyses-hubeau-eso.Rmd b/vignettes/insertion-des-analyses-hubeau-eso.Rmd new file mode 100644 index 0000000..891cd91 --- /dev/null +++ b/vignettes/insertion-des-analyses-hubeau-eso.Rmd @@ -0,0 +1,202 @@ +--- +title: "Insertion des analyses Hubeau ESO" +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{insertion-des-analyses-hubeau-eso} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>" +) +``` + +```{r setup} +library(data.nitrates) +``` + +<!-- WARNING - This vignette is generated by {fusen} from dev/flat_insert_hubeau_eso_into_analyse.Rmd: do not edit by hand --> + +# Consolidation et insertion des analyses Hub'eau ESO dans la table des analyses + +## Chargement des analyses Hub'eau ESO + +La table des données brutes Nitrates Hub'eau ESO est chargée : + +```{r load-nitrate_qualite_nappes_analyses, eval = FALSE} +# Charger la table qualite_nappes_eau_souterraine.nitrate_qualite_nappes_analyses +nitrate_qualite_nappes_analyses <- datalibaba::importer_data( + table = "nitrate_qualite_nappes_analyses", + schema = "qualite_nappes_eau_souterraine", + db = "si_eau", + user = "admin" +) +``` + +## Filtre par code_producteur pour exclure les données ARS + +On sélectionne les code_producteur correspondants aux enregistrements hors +données ARS de la région : + +```{r select-code_producteur_hubeau_eso, eval = FALSE} +# Filtrer pour exclure les données ARS +nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> + dplyr::filter(!code_producteur %in% c('44','49','53','72','85')) +``` + +## Consolidation des données Hub'eau ESO + +On remplace des valeurs dans limite_detection et limite_quantification : + +```{r replace-dot_limite_detection, eval = FALSE} +# Remplacer les valeurs dans les colonnes limite_detection et limite_quantification +nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> + dplyr::mutate( + resultat = stringr::str_replace(resultat, "\\,", "."), + limite_detection = stringr::str_replace(limite_detection, "\\,", "."), + limite_quantification = stringr::str_replace(limite_quantification, "\\,", ".") + ) + +``` + +On sélectionne les champs utiles à la table des analyses : + +```{r select-variables-hubeau_eso, eval = FALSE} +# Sélectionner les variables +nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> + dplyr::select(code_station = bss_id, + code_intervenant = code_lieu_analyse, + date_prelevement = date_debut_prelevement, + date_analyse = date_debut_prelevement, + resultat_analyse = resultat, + code_parametre = code_param, + code_fraction_analysee = code_fraction, + code_remarque = code_remarque_analyse, + limite_detection, + limite_quantification) + +``` + +On modifie le type des variables numériques : + +```{r change-fieldtypes, eval = FALSE} +# Remplacer les valeurs dans les colonnes resultat_analyse et limite_quantification +nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> + dplyr::mutate(resultat_analyse = as.numeric(resultat_analyse), + limite_detection = as.numeric(limite_detection), + limite_quantification = as.numeric(limite_quantification), + code_parametre = as.integer(code_parametre), + code_fraction_analysee = as.integer(code_fraction_analysee), + code_remarque = as.integer(code_remarque) + ) + +``` + +# Jointure avec la table des prélèvements créée auparavant + +La table des prélèvements est chargée : + +```{r load-nitrate_prelevement, eval = FALSE} +# Charger la table nitrates.nitrate_prelevement_v0_15 +nitrate_prelevement <- datalibaba::importer_data( + table = "nitrate_prelevement_v0_15", + schema = "nitrates", + db = "si_eau", + user = "admin" +) + +``` + +On dédoublonne les lignes en utilisant les champs `code_station` et `date_prelevement` +afin de ne conserver qu'un prélèvement par station et date donnée : + +```{r select-distinct-rows_hubeau_eso, eval = FALSE} +# Dédoublonner les lignes sur les colonnes code_station et date_prelevement +nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> + dplyr::distinct(code_station, date_prelevement, .keep_all = TRUE) + +``` + +On joint le dataframe des prélèvements pour récupérer la variable code_prelevement : + +```{r join-prelevement_hubeau_eso, eval = FALSE} +# Joindre les dataframes nitrate_qualite_nappes_analyses et nitrate_prelevement +nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> + left_join(nitrate_prelevement |> + select(code_station, date_prelevement, code_prelevement), + by = c("code_station" = "code_station", "date_prelevement" = "date_prelevement")) +``` + +On dédoublonne les lignes en utilisant les champs `code_prelevement`, +`code_parametre` et `resultat_analyse` afin de ne conserver qu'une analyse : + +```{r select-distinct-rows_hubeau_eso_2, eval = FALSE} +# Dédoublonner les lignes sur les colonnes code_station et date_prelevement +nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> + dplyr::distinct(code_prelevement, code_parametre, resultat_analyse, .keep_all = TRUE) + +``` + +On ajoute un identifiant unique s'appuyant sur une séquence stockée en base : + +```{r add_code_analyse_hubeau_eso, eval = FALSE} +# Utiliser la fonction add_code_analyse_ars avec la version souhaitée +nitrate_qualite_nappes_analyses <- add_code_analyse( + nitrate_qualite_nappes_analyses, "v0_15") + +# Afficher le dataframe pour vérifier les modifications +print(nitrate_qualite_nappes_analyses) + +``` + +# Chargement en base + +On corrige l'ordre des champs les champs utiles à la table des analyses : + +```{r select-variables-hubeau_eso_final, eval = FALSE} +# Sélectionner les variables dans l'ordre des champs de la table à alimenter +nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> + dplyr::select(code_analyse, + code_intervenant, + code_prelevement, + code_parametre, + code_fraction_analysee, + date_analyse, + resultat_analyse, + code_remarque, + limite_detection, + limite_quantification) + +``` + +On charge les données consolidées dans un table dédiée : + +```{r insert-into_nitrate_prelevement_v0_15, eval = FALSE} +# Charger les données dans une nouvelle table en base +datalibaba::poster_data(data = nitrate_qualite_nappes_analyses, + table = "nitrate_analyse_hubeau_eso_v0_15", + schema = "nitrates", + db = "si_eau", + overwrite = TRUE, + pk = "code_analyse", + user = "admin") +``` + +# Insertion des données Hub'eau ESO en base dans la table globale + +On insère enfin les enregistrements de cette table dans la table globale : + +```{r import_and_merge_tables_hubeau_eso, eval = FALSE} +# Insérer les données de la table du dernier millésime vers la table complète +collectr::import_and_merge_tables(database = "si_eau", + source_table = "nitrate_analyse_hubeau_eso_v0_15", + source_schema = "nitrates", + target_table = "nitrate_analyse_v0_15", + target_schema = "nitrates", + role = "admin") + +``` + diff --git a/vignettes/insertion-des-analyses-hubeau-esu.Rmd b/vignettes/insertion-des-analyses-hubeau-esu.Rmd new file mode 100644 index 0000000..0f1689d --- /dev/null +++ b/vignettes/insertion-des-analyses-hubeau-esu.Rmd @@ -0,0 +1,191 @@ +--- +title: "Insertion des analyses Hubeau ESU" +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{insertion-des-analyses-hubeau-esu} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>" +) +``` + +```{r setup} +library(data.nitrates) +``` + +<!-- WARNING - This vignette is generated by {fusen} from dev/flat_insert_hubeau_esu_into_analyse.Rmd: do not edit by hand --> + +# Consolidation et insertion des analyses Hub'eau ESU dans la table des analyses + +## Chargement des analyses Hub'eau ESU + +La table des données brutes Nitrates Hub'eau ESU est chargée : + +```{r load-nitrate_qualite_rivieres_analyse_pc, eval = FALSE} +# Charger la table qualite_cours_d_eau.nitrate_qualite_rivieres_analyse_pc +nitrate_qualite_rivieres_analyses <- datalibaba::importer_data( + table = "nitrate_qualite_rivieres_analyse_pc", + schema = "qualite_cours_d_eau", + db = "si_eau", + user = "admin" +) +``` + +## Consolidation des analyses Hub'eau ESU + +On remplace des valeurs dans limite_detection et limite_quantification : + +```{r replace-dot_limite_detection, eval = FALSE} +# Remplacer les valeurs dans les colonnes limite_detection et limite_quantification +nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |> + dplyr::mutate( + resultat = stringr::str_replace(resultat, "\\,", "."), + limite_detection = stringr::str_replace(limite_detection, "\\,", "."), + limite_quantification = stringr::str_replace(limite_quantification, "\\,", ".") + ) + +``` + +On sélectionne les champs utiles à la table des analyses : + +```{r select-variables-hubeau_esu, eval = FALSE} +# Sélectionner les variables +nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |> + dplyr::select(code_station, + code_intervenant = code_laboratoire, + date_prelevement, + date_analyse, + resultat_analyse = resultat, + code_parametre, + code_fraction_analysee = code_fraction, + code_remarque, + limite_detection, + limite_quantification) + +``` + +On modifie le type des variables resultat_analyse et limite_quantification : + +```{r change-fieldtypes, eval = FALSE} +# Remplacer les valeurs dans les colonnes resultat_analyse et limite_quantification +nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |> + dplyr::mutate(resultat_analyse = as.numeric(resultat_analyse), + limite_detection = as.numeric(limite_detection), + limite_quantification = as.numeric(limite_quantification), + code_parametre = as.integer(code_parametre), + code_fraction_analysee = as.integer(code_fraction_analysee), + code_remarque = as.integer(code_remarque) + ) + +``` + +# Jointure avec la table des prélèvements créée auparavant + +La table des prélèvements est chargée : + +```{r load-nitrate_prelevement, eval = FALSE} +# Charger la table nitrates.nitrate_prelevement_v0_15 +nitrate_prelevement <- datalibaba::importer_data( + table = "nitrate_prelevement_v0_15", + schema = "nitrates", + db = "si_eau", + user = "admin" +) + +``` + +On dédoublonne les lignes en utilisant les champs `code_station` et `date_prelevement` +afin de ne conserver qu'un prélèvement par station et date donnée : + +```{r select-distinct-rows_hubeau_esu, eval = FALSE} +# Dédoublonner les lignes sur les colonnes code_station et date_prelevement +nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |> + dplyr::distinct(code_station, date_prelevement, .keep_all = TRUE) + +``` + +On joint le dataframe des prélèvements pour récupérer la variable code_prelevement : + +```{r join-prelevement_hubeau_esu, eval = FALSE} +# Joindre les dataframes nitrate_qualite_rivieres_analyses et nitrate_prelevement +nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |> + left_join(nitrate_prelevement |> + select(code_station, date_prelevement, code_prelevement), + by = c("code_station" = "code_station", "date_prelevement" = "date_prelevement")) +``` + +On dédoublonne les lignes en utilisant les champs `code_prelevement`, +`code_parametre` et `resultat_analyse` afin de ne conserver qu'une analyse : + +```{r select-distinct-rows_hubeau_esu_2, eval = FALSE} +# Dédoublonner les lignes sur les colonnes code_station et date_prelevement +nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |> + dplyr::distinct(code_prelevement, code_parametre, resultat_analyse, .keep_all = TRUE) + +``` + +On ajoute un identifiant unique s'appuyant sur une séquence stockée en base : + +```{r add_code_analyse_hubeau_esu, eval = FALSE} +# Utiliser la fonction add_code_analyse_ars avec la version souhaitée +nitrate_qualite_rivieres_analyses <- add_code_analyse( + nitrate_qualite_rivieres_analyses, "v0_15") + +# Afficher le dataframe pour vérifier les modifications +print(nitrate_qualite_rivieres_analyses) + +``` + +# Chargement en base + +On corrige l'ordre des champs les champs utiles à la table des analyses : + +```{r select-variables-hubeau_esu_final, eval = FALSE} +# Sélectionner les variables dans l'ordre des champs de la table à alimenter +nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |> + dplyr::select(code_analyse, + code_intervenant, + code_prelevement, + code_parametre, + code_fraction_analysee, + date_analyse, + resultat_analyse, + code_remarque, + limite_detection, + limite_quantification) + +``` + +On charge les données consolidées dans une table dédiée : + +```{r insert-into_nitrate_prelevement_v0_15, eval = FALSE} +# Charger les données dans une nouvelle table en base +datalibaba::poster_data(data = nitrate_qualite_rivieres_analyses, + table = "nitrate_qualite_rivieres_analyses_v0_15", + schema = "nitrates", + db = "si_eau", + overwrite = TRUE, + pk = "code_analyse", + user = "admin") +``` + +# Insertion des analyses Hub'eau ESU en base dans la table globale + +On insère enfin les enregistrements de cette table dans la table globale : + +```{r import_and_merge_tables_hubeau_esu, eval = FALSE} +# Insérer les données de la table du dernier millésime vers la table complète +collectr::import_and_merge_tables(database = "si_eau", + source_table = "nitrate_qualite_rivieres_analyses_v0_15", + source_schema = "nitrates", + target_table = "nitrate_analyse_v0_15", + target_schema = "nitrates", + role = "admin") + +``` + diff --git a/vignettes/insertion-des-prelevements-hubeau-eso.Rmd b/vignettes/insertion-des-prelevements-hubeau-eso.Rmd index 28e1dd5..66ffb8a 100644 --- a/vignettes/insertion-des-prelevements-hubeau-eso.Rmd +++ b/vignettes/insertion-des-prelevements-hubeau-eso.Rmd @@ -22,12 +22,13 @@ library(data.nitrates) # Consolidation et insertion des données Hub'eau ESO dans la table des prélèvements -## Chargement des données Hub'eau ESO +## Chargement des prélèvements Hub'eau ESO La table des données brutes Nitrates Hub'eau ESO est chargée : -```{r load-nitrate_data_analyse_hubeau_eso, eval = FALSE} -nitrate_qualite_nappes_analyses <- datalibaba::importer_data( +```{r load-nitrate_qualite_nappes_analyses, eval = FALSE} +# Charger la table qualite_nappes_eau_souterraine.nitrate_qualite_rivieres_analyse_pc +nitrate_qualite_nappes_prelevements <- datalibaba::importer_data( table = "nitrate_qualite_nappes_analyses", schema = "qualite_nappes_eau_souterraine", db = "si_eau", @@ -41,17 +42,18 @@ On sélectionne les code_producteur correspondants aux enregistrements hors données ARS de la région : ```{r select-code_producteur_hubeau_eso, eval = FALSE} -nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> +# Filtrer pour exclure les données ARS +nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |> dplyr::filter(!code_producteur %in% c('44','49','53','72','85')) ``` -## Consolidation des données Hub'eau ESO +## Consolidation des prélèvements Hub'eau ESO On ajoute les variables `source` et `code_support` : ```{r add-source_code_support_hubeau_eso, eval = FALSE} # Ajouter les variables source et code_support -nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> +nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |> dplyr::mutate( source = "ADES", code_support = 3) @@ -61,7 +63,7 @@ On sélectionne les champs utiles à la table des prélèvements : ```{r select-variables_hubeau_eso, eval = FALSE} # Sélectionner les variables -nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> +nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |> dplyr::select(source, code_reseau = codes_reseau, code_station = bss_id, @@ -73,7 +75,7 @@ On modifie le type de la variable `code_support` de character en integer : ```{r change-type_code_support, eval = FALSE} # Convertir la variable code_support de character en integer -nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> +nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |> dplyr::mutate(code_support = as.integer(code_support)) ``` @@ -83,7 +85,7 @@ donnée : ```{r select-distinct-rows_hubeau_eso, eval = FALSE} # Dédoublonner les lignes sur les colonnes code_station et date_prelevement -nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |> +nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |> dplyr::distinct(code_station, date_prelevement, .keep_all = TRUE) ``` @@ -91,11 +93,11 @@ On ajoute un identifiant unique s'appuyant sur une séquence stockée en base : ```{r add_code_prelevement_hubeau_eso, eval = FALSE} # Utiliser la fonction add_code_prelevement avec la version souhaitée -nitrate_qualite_nappes_analyses <- add_code_prelevement( - nitrate_qualite_nappes_analyses, "v0_15") +nitrate_qualite_nappes_prelevements <- add_code_prelevement( + nitrate_qualite_nappes_prelevements, "v0_15") # Afficher le dataframe pour vérifier les modifications -print(nitrate_qualite_nappes_analyses) +print(nitrate_qualite_nappes_prelevements) ``` @@ -103,7 +105,7 @@ On charge les données consolidées dans un table dédiée : ```{r insert-into_nitrate_prelevement_hubeau_eso, eval = FALSE} # Charger les données dans une nouvelle table en base -datalibaba::poster_data(data = nitrate_qualite_nappes_analyses, +datalibaba::poster_data(data = nitrate_qualite_nappes_prelevements, table = "nitrate_prelevement_hubeau_eso_v0_15", schema = "nitrates", db = "si_eau", @@ -112,12 +114,12 @@ datalibaba::poster_data(data = nitrate_qualite_nappes_analyses, user = "admin") ``` -# Insertion des données Hub'eau ESO du nouveau millésime en base dans la table globale +# Insertion des prélèvements Hub'eau ESO en base dans la table globale On insère enfin les enregistrements de cette table dans la table globale : ```{r import_and_merge_tables_hubeau_eso, eval = FALSE} -# Insérer les données de la table du dernier millésime vers la table complète +# Insérer les prélèvements Hub'eau ESO vers la table complète collectr::import_and_merge_tables(database = "si_eau", source_table = "nitrate_prelevement_hubeau_eso_v0_15", source_schema = "nitrates", diff --git a/vignettes/insertion-des-prelevements-hubeau-esu.Rmd b/vignettes/insertion-des-prelevements-hubeau-esu.Rmd index cd203ae..6632c62 100644 --- a/vignettes/insertion-des-prelevements-hubeau-esu.Rmd +++ b/vignettes/insertion-des-prelevements-hubeau-esu.Rmd @@ -22,12 +22,13 @@ library(data.nitrates) # Consolidation et insertion des données Hub'eau ESU dans la table des prélèvements -## Chargement des données Hub'eau ESU +## Chargement des prélèvements Hub'eau ESU La table des données brutes Nitrates Hub'eau ESU est chargée : -```{r load-nitrate_data_analyse_hubeau_esu, eval = FALSE} -nitrate_qualite_rivieres_analyse_pc <- datalibaba::importer_data( +```{r load-nitrate_qualite_rivieres_analyse_pc, eval = FALSE} +# Charger la table qualite_nappes_eau_souterraine.nitrate_qualite_rivieres_analyse_pc +nitrate_qualite_rivieres_prelevements <- datalibaba::importer_data( table = "nitrate_qualite_rivieres_analyse_pc", schema = "qualite_cours_d_eau", db = "si_eau", @@ -35,13 +36,13 @@ nitrate_qualite_rivieres_analyse_pc <- datalibaba::importer_data( ) ``` -## Consolidation des données Hub'eau ESU +## Consolidation des prélèvements Hub'eau ESU On remplace "." par "," dans les variables `limite_detection` et `limite_quantification` : ```{r replace-in_limite_detection, eval = FALSE} # Remplacer "." par "," dans les colonnes limite_detection et limite_quantification -nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |> +nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |> dplyr::mutate( limite_detection = stringr::str_replace_all(limite_detection, ".", ","), limite_quantification = stringr::str_replace_all(limite_quantification, ".", ",") @@ -52,7 +53,7 @@ On ajoute la variable `source` : ```{r add-source_code_support_hubeau_esu, eval = FALSE} # Ajouter les variables source et code_support -nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |> +nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |> dplyr::mutate(source = "Na\u00efades") ``` @@ -60,7 +61,7 @@ On sélectionne les champs utiles à la table des prélèvements : ```{r select-variables_hubeau_esu, eval = FALSE} # Sélectionner les variables -nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |> +nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |> dplyr::select(source, code_reseau, code_station, @@ -74,7 +75,7 @@ On modifie le type de la variable `code_support` de character en integer : ```{r change-type_code_support, eval = FALSE} # Convertir la variable code_support de character en integer -nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |> +nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |> dplyr::mutate(code_support = as.integer(code_support)) ``` @@ -84,7 +85,7 @@ donnée : ```{r select-distinct-rows_hubeau_esu, eval = FALSE} # Dédoublonner les lignes sur les colonnes code_station et date_prelevement -nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |> +nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |> dplyr::distinct(code_station, date_prelevement, .keep_all = TRUE) ``` @@ -92,19 +93,19 @@ On ajoute un identifiant unique s'appuyant sur une séquence stockée en base : ```{r add_code_prelevement_hubeau_esu, eval = FALSE} # Utiliser la fonction add_code_prelevement avec la version souhaitée -nitrate_qualite_rivieres_analyse_pc <- add_code_prelevement( - nitrate_qualite_rivieres_analyse_pc, "v0_15") +nitrate_qualite_rivieres_prelevements <- add_code_prelevement( + nitrate_qualite_rivieres_prelevements, "v0_15") # Afficher le dataframe pour vérifier les modifications -print(nitrate_qualite_rivieres_analyse_pc) +print(nitrate_qualite_rivieres_prelevements) ``` -On charge les données consolidées dans un table dédiée : +On charge les données consolidées dans une table dédiée : ```{r insert-into_nitrate_prelevement_hubeau_esu, eval = FALSE} # Charger les données dans une nouvelle table en base -datalibaba::poster_data(data = nitrate_qualite_rivieres_analyse_pc, +datalibaba::poster_data(data = nitrate_qualite_rivieres_prelevements, table = "nitrate_prelevement_hubeau_esu_v0_15", schema = "nitrates", db = "si_eau", @@ -113,7 +114,7 @@ datalibaba::poster_data(data = nitrate_qualite_rivieres_analyse_pc, user = "admin") ``` -# Insertion des données Hub'eau ESU du nouveau millésime en base dans la table globale +# Insertion des prélèvements Hub'eau ESU en base dans la table globale On insère enfin les enregistrements de cette table dans la table globale : -- GitLab