From 9bfd64517ec215e61222a78cccb7edefa5d057dc Mon Sep 17 00:00:00 2001 From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr> Date: Tue, 12 Nov 2024 10:33:53 +0100 Subject: [PATCH] Renommage des vignettes d'import ESO et ESU --- dev/config_fusen.yaml | 9 +- vignettes/import-des-donnees-hub-eau-esu.Rmd | 181 ------------------ ....Rmd => import-des-donnees-hubeau-eso.Rmd} | 25 ++- vignettes/import-des-donnees-hubeau-esu.Rmd | 159 +++++++++++++++ 4 files changed, 179 insertions(+), 195 deletions(-) delete mode 100644 vignettes/import-des-donnees-hub-eau-esu.Rmd rename vignettes/{import-des-donnees-hub-eau-eso.Rmd => import-des-donnees-hubeau-eso.Rmd} (82%) create mode 100644 vignettes/import-des-donnees-hubeau-esu.Rmd diff --git a/dev/config_fusen.yaml b/dev/config_fusen.yaml index 22be351..eb50b3b 100644 --- a/dev/config_fusen.yaml +++ b/dev/config_fusen.yaml @@ -35,10 +35,10 @@ flat_import_hubeau_eso_data.Rmd: state: active R: [] tests: [] - vignettes: vignettes/import-des-donnees-hub-eau-eso.Rmd + vignettes: vignettes/import-des-donnees-hubeau-eso.Rmd inflate: flat_file: dev/flat_import_hubeau_eso_data.Rmd - vignette_name: Import des données Hub'eau ESO + vignette_name: Import des données Hubeau ESO open_vignette: true check: true document: true @@ -49,14 +49,15 @@ flat_import_hubeau_esu_data.Rmd: state: active R: [] tests: [] - vignettes: vignettes/import-des-donnees-hub-eau-esu.Rmd + vignettes: vignettes/import-des-donnees-hubeau-esu.Rmd inflate: flat_file: dev/flat_import_hubeau_esu_data.Rmd - vignette_name: Import des données Hub'eau ESU + vignette_name: Import des données Hubeau ESU open_vignette: true check: true document: true overwrite: ask + clean: ask flat_insert_ars_into_analyse.Rmd: path: dev/flat_insert_ars_into_analyse.Rmd state: active diff --git a/vignettes/import-des-donnees-hub-eau-esu.Rmd b/vignettes/import-des-donnees-hub-eau-esu.Rmd deleted file mode 100644 index c668c65..0000000 --- a/vignettes/import-des-donnees-hub-eau-esu.Rmd +++ /dev/null @@ -1,181 +0,0 @@ ---- -title: "Import des données Hub'eau ESU" -output: rmarkdown::html_vignette -vignette: > - %\VignetteIndexEntry{import-des-donnees-hub-eau-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_import_hubeau_esu_data.Rmd: do not edit by hand --> - -# Présentation - -> Cette page contient la logique métier concernant l'import des données de -l'[API Hub'eau "Qualité des cours d'eau"](https://hubeau.eaufrance.fr/page/api-qualite-cours-deau) dans le cadre du projet Nitrates - - -# Connexion à la base de données PostgreSQL - -```{r connect_to_db, eval = FALSE} -# Se connecter à la base de données PostgreSQL si_eau -connexion <- datalibaba::connect_to_db(db = "si_eau", user = "admin") -``` - -```{r list_schemas, eval = FALSE} -# Lister les schémas présents dans la base -schemas_list <- data.frame(datalibaba::list_schemas(connexion)) - -# Renommer la variable unique en "nom_schema" -schemas_list <- schemas_list |> - rename(nom_schema = unique(names(.))) - -# Trier le dataframe par la variable nom_schema -schemas_list <- schemas_list |> - arrange(nom_schema) -``` - -```{r list_tables, eval = FALSE} -# Lister les tables présentes dans le schéma spécifié -tables_list <- data.frame(datalibaba::list_tables( - con = connexion, - db = "si_eau", - schema = "qualite_cours_d_eau")) - -# Renommer la variable unique en "nom_table" -tables_list <- tables_list |> - rename(nom_table = names(tables_list)[1]) - -# Trier le dataframe par la variable nom_table -tables_list <- tables_list |> - arrange(nom_table) - -``` - -# Import des données Hub'eau ESU dans un dataframe par millésime - -On utilise la fonction `get_qualite_rivieres_analyse()` du package [{hubeau}](https://github.com/inrae/hubeau) - - -```{r create-nitrate_analyse_esu_2020, eval = FALSE} -nitrate_analyse_esu_2020 <- hubeau::get_qualite_rivieres_analyse(code_parametre = "1340", - code_region = "52", - date_debut_prelevement = "2020-01-01", - date_fin_prelevement = "2020-12-31", - size = "5000") -``` - -```{r create-nitrate_analyse_esu_2021, eval = FALSE} -nitrate_analyse_esu_2021 <- hubeau::get_qualite_rivieres_analyse(code_parametre = "1340", - code_region = "52", - date_debut_prelevement = "2021-01-01", - date_fin_prelevement = "2021-12-31", - size = "5000") -``` - -```{r create-nitrate_analyse_esu_2022, eval = FALSE} -nitrate_analyse_esu_2022 <- hubeau::get_qualite_rivieres_analyse(code_parametre = "1340", - code_region = "52", - date_debut_prelevement = "2022-01-01", - date_fin_prelevement = "2022-12-31", - size = "5000") - -``` - -```{r create-nitrate_analyse_esu_2023, eval = FALSE} -nitrate_analyse_esu_2023 <- hubeau::get_qualite_rivieres_analyse(code_parametre = "1340", - code_region = "52", - date_debut_prelevement = "2023-01-01", - date_fin_prelevement = "2023-12-31", - size = "5000") -``` - -# Correction de l'encodage si nécessaire pour certaines variables - -```{r change-encoding, eval = FALSE} -nitrate_analyse_esu_2023 <- nitrate_analyse_esu_2023 |> - dplyr::mutate(libelle_station = iconv(libelle_station, from = "ISO-8859-1", to = "UTF-8")) -``` - -# Création d'une table pour le nouveau millésime - -```{r create-nitrate_data_ars, eval = FALSE} -# Charger les données dans une nouvelle table en base -datalibaba::poster_data(data = nitrate_analyse_esu_2023, - table = "nitrate_qualite_rivieres_analyse_pc_2023", - schema = "qualite_cours_d_eau", - db = "si_eau", - overwrite = TRUE, - user = "admin") - -# Ajouter un commentaire sur la table -datalibaba::commenter_table(comment = "Analyses \"Nitrates\" ESU issues de l''API Hub''eau qualite_rivieres : données brutes", - table = "nitrate_qualite_rivieres_analyse_pc_2023", - schema = "qualite_cours_d_eau", - db = "si_eau", - user = "admin") - -``` - -# Modification du type des champs si besoin - -```{r modify_column_type, eval = FALSE} -# Modifier le type de colonne pour les champs de date -collectr::modify_column_type(database = "si_eau", - schema = "qualite_cours_d_eau", - table = "nitrate_qualite_rivieres_analyse_pc_2023", - column_name = "date_prelevement", - column_type = "date", - role = "admin") - -collectr::modify_column_type(database = "si_eau", - schema = "qualite_cours_d_eau", - table = "nitrate_qualite_rivieres_analyse_pc_2023", - column_name = "date_analyse", - column_type = "date", - role = "admin") - -``` - -# Archivage de la version précédente de la table - -```{r archive_table, eval = FALSE} -# Archiver la version actuelle de la table avec tous les millésimes -collectr::archive_table(database = "si_eau", - schema = "qualite_cours_d_eau", - new_schema = "zz_archives", - table = "nitrate_qualite_rivieres_analyse_pc", - role = "admin") - -``` - -# Insertion des données du nouveau millésime en base dans la table globale - -```{r import_and_merge_tables, 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_analyse_pc_2023", - source_schema = "qualite_cours_d_eau", - target_table = "nitrate_qualite_rivieres_analyse_pc", - target_schema = "qualite_cours_d_eau", - role = "admin") - -# Actualiser le commentaire sur la table -datalibaba::commenter_table(comment = "Analyses Nitrates ESU API Hub'eau Qualité des cours d'eau (2007-2023)", - table = "nitrate_qualite_rivieres_analyse_pc", - schema = "qualite_cours_d_eau", - db = "si_eau", - user = "admin") -``` - diff --git a/vignettes/import-des-donnees-hub-eau-eso.Rmd b/vignettes/import-des-donnees-hubeau-eso.Rmd similarity index 82% rename from vignettes/import-des-donnees-hub-eau-eso.Rmd rename to vignettes/import-des-donnees-hubeau-eso.Rmd index db81928..bf4a72c 100644 --- a/vignettes/import-des-donnees-hub-eau-eso.Rmd +++ b/vignettes/import-des-donnees-hubeau-eso.Rmd @@ -1,8 +1,8 @@ --- -title: "Import des données Hub'eau ESO" +title: "Import des données Hubeau ESO" output: rmarkdown::html_vignette vignette: > - %\VignetteIndexEntry{Import des données Hub'eau ESO} + %\VignetteIndexEntry{Import des données Hubeau ESO} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- @@ -46,11 +46,14 @@ On utilise la fonction `get_qualite_nappes_analyses()` du package [{hubeau}](htt ```{r create-nitrate_analyse_esu_last_year} #| eval: no -nitrate_analyse_eso_last_year <- hubeau::get_qualite_nappes_analyses(code_param = "1340", - code_region = "52", - date_debut_prelevement = glue::glue(last_year, "-01-01"), - date_fin_prelevement = glue::glue(last_year, "-12-31"), - size = "5000") +nitrate_analyse_eso_last_year <- hubeau::get_qualite_nappes_analyses( + code_param = "1340", + code_region = "52", + date_debut_prelevement = glue::glue(last_year, "-01-01"), + date_fin_prelevement = glue::glue(last_year, "-12-31"), + size = "5000" + ) + ``` @@ -69,7 +72,7 @@ datalibaba::poster_data(data = nitrate_analyse_eso_last_year, # Ajouter un commentaire sur la table datalibaba::commenter_table( comment = glue::glue( - "Analyses \"Nitrates\" ESO issues de l\'\'API Hub\'\'eau qualite_nappes : donn\u00e9es brutes", + "Analyses \"Nitrates\" ESO issues de l\'\'API Hubeau qualite_nappes : donn\u00e9es brutes ", last_year), table = glue::glue("nitrate_qualite_nappes_analyses_", last_year), schema = "qualite_nappes_eau_souterraine", @@ -123,13 +126,15 @@ collectr::import_and_merge_tables(database = "si_eau", # Actualiser le commentaire sur la table datalibaba::commenter_table( comment = glue::glue( - "Analyses Nitrates ESO API Hub\'eau Qualit\u00e9 des nappes d\'eau souterraine (2007-", + "Analyses Nitrates ESO API Hubeau Qualit\u00e9 des nappes d\'eau souterraine (2007-", last_year, ")"), table = "nitrate_qualite_nappes_analyses", schema = "qualite_nappes_eau_souterraine", db = "si_eau", - user = "admin") + user = "admin" + ) + ``` diff --git a/vignettes/import-des-donnees-hubeau-esu.Rmd b/vignettes/import-des-donnees-hubeau-esu.Rmd new file mode 100644 index 0000000..20a1cae --- /dev/null +++ b/vignettes/import-des-donnees-hubeau-esu.Rmd @@ -0,0 +1,159 @@ +--- +title: "Import des données Hubeau ESU" +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{Import des données Hubeau ESU} + %\VignetteEngine{knitr::rmarkdown} + %\VignetteEncoding{UTF-8} +--- + +```{r, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>" +) +``` + +```{r} +library(data.nitrates) +``` + +<!-- WARNING - This vignette is generated by {fusen} from dev/flat_import_hubeau_esu_data.Rmd: do not edit by hand --> + + + + +```{r config} +#| eval: no + +# Lire le fichier de configuration +config <- yaml::read_yaml("config.yml") + +# Accéder à la valeur pour last_year +last_year <- config$last_year +``` + + +# Présentation + +Cette page contient la logique métier concernant l'import des données de +l'[API Hub'eau "Qualit\u00e9 des cours d\'eau"](https://hubeau.eaufrance.fr/page/api-qualite-cours-deau) +dans le cadre du projet Nitrates. + +# Import des données Hub'eau ESU dans un dataframe par millésime + +On utilise la fonction `get_qualite_rivieres_analyse()` du package [{hubeau}](https://github.com/inrae/hubeau) +```{r create-nitrate_analyse_esu_last_year} +#| eval: no + +nitrate_analyse_esu_last_year <- hubeau::get_qualite_rivieres_analyse( + code_parametre = "1340", + code_region = "52", + date_debut_prelevement = glue::glue(last_year, "-01-01"), + date_fin_prelevement = glue::glue(last_year, "-12-31"), + size = "5000" +) + +``` + + +# Correction de l'encodage si nécessaire pour certaines variables +```{r change-encoding} +#| eval: no + +nitrate_analyse_esu_last_year <- nitrate_analyse_esu_last_year |> + dplyr::mutate(libelle_station = iconv(libelle_station, from = "ISO-8859-1", to = "UTF-8")) +``` + + +# Création d'une table pour le nouveau millésime +```{r create-nitrate_data_ars} +#| eval: no + +# Charger les données dans une nouvelle table en base +datalibaba::poster_data(data = nitrate_analyse_esu_last_year, + table = glue::glue("nitrate_qualite_rivieres_analyse_pc_", last_year), + schema = "qualite_cours_d_eau", + db = "si_eau", + overwrite = TRUE, + user = "admin") + +# Ajouter un commentaire sur la table +datalibaba::commenter_table( + comment = glue::glue( + "Analyses \"Nitrates\" ESU issues de l\'\'API Hubeau qualite_rivieres : donn\u00e9es brutes ", + last_year + ), + table = glue::glue("nitrate_qualite_rivieres_analyse_pc_", last_year), + schema = "qualite_cours_d_eau", + db = "si_eau", + user = "admin") + +``` + + +# Modification du type des champs si besoin +```{r modify_column_type} +#| eval: no + +# Modifier le type de colonne pour les champs de date +collectr::modify_column_type(database = "si_eau", + schema = "qualite_cours_d_eau", + table = glue::glue("nitrate_qualite_rivieres_analyse_pc_", last_year), + column_name = "date_prelevement", + column_type = "date", + role = "admin") + +collectr::modify_column_type(database = "si_eau", + schema = "qualite_cours_d_eau", + table = glue::glue("nitrate_qualite_rivieres_analyse_pc_", last_year), + column_name = "date_analyse", + column_type = "date", + role = "admin") + +``` + + +# Archivage de la version précédente de la table +```{r archive_table} +#| eval: no + +# Archiver la version actuelle de la table avec tous les millésimes +collectr::archive_table(database = "si_eau", + schema = "qualite_cours_d_eau", + new_schema = "zz_archives", + table = "nitrate_qualite_rivieres_analyse_pc", + role = "admin") + +``` + + +# Insertion des données du nouveau millésime en base dans la table globale +```{r import_and_merge_tables} +#| eval: no + +# 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 = glue::glue("nitrate_qualite_rivieres_analyse_pc_", last_year), + source_schema = "qualite_cours_d_eau", + target_table = "nitrate_qualite_rivieres_analyse_pc", + target_schema = "qualite_cours_d_eau", + role = "admin") + +# Actualiser le commentaire sur la table +datalibaba::commenter_table( + comment = glue::glue( + "Analyses Nitrates ESU API Hubeau Qualit\u00e9 des nappes d\'eau souterraine (2007-", + last_year, + ")"), + table = "nitrate_qualite_rivieres_analyse_pc", + schema = "qualite_cours_d_eau", + db = "si_eau", + user = "admin" + ) + +``` + + + + -- GitLab