diff --git a/DESCRIPTION b/DESCRIPTION index 2ba8c52eae8f3d24e6ef7c9ad6a5462ec722620a..3eada66b4af238ccf496852f584ebfdb20a4a76a 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: data.nitrates Title: Collecte Des Données Sur Les Nitrates -Version: 0.1.0 +Version: 0.2.0 Authors@R: person("Ronan", "Vignard", , "ronan.vignard@developpement-durable.gouv.fr", role = c("aut", "cre"), comment = c(ORCID = "0000-0000-0000-0000")) @@ -8,7 +8,6 @@ Description: Import des données nitrates à partir des sources ARS et Hub'eau dans une base de données PostgreSQL. License: MIT + file LICENSE Suggests: - collectr, knitr, rmarkdown VignetteBuilder: diff --git a/NEWS.md b/NEWS.md index 7113d0793322aa94dfa46a615b0c39a0f07791fc..4ae13c3476ecdbe952815c70a634fff513831c2c 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,7 @@ +# data.nitrates 0.2.0 + +* Finalisation des vignettes "Import des données Hub'eau Cours d'eau" et "Import des données Hub'eau Nappes d'eau souterraine" + # data.nitrates 0.1.0 -* Finalisation de la vignette "Import des données brutes ARS" +* Finalisation de la vignette "Import des données ARS" diff --git a/dev/config_fusen.yaml b/dev/config_fusen.yaml index 6dadb00988086efb21c179e3e15069dfc6e0a1fd..cb722c42e979eea1cbbac7c08a7b6d4b090026d0 100644 --- a/dev/config_fusen.yaml +++ b/dev/config_fusen.yaml @@ -24,3 +24,29 @@ flat_import_data.Rmd: check: true document: true overwrite: ask +flat_import_hubeau_gw_data.Rmd: + path: dev/flat_import_hubeau_gw_data.Rmd + state: active + R: [] + tests: [] + vignettes: vignettes/import-des-donnees-hub-eau-nappes-d-eau-souterraine.Rmd + inflate: + flat_file: dev/flat_import_hubeau_gw_data.Rmd + vignette_name: Import des données Hub'eau Nappes d'eau souterraine + open_vignette: true + check: true + document: true + overwrite: ask +flat_import_hubeau_rw_data.Rmd: + path: dev/flat_import_hubeau_rw_data.Rmd + state: active + R: [] + tests: [] + vignettes: vignettes/import-des-donnees-hub-eau-cours-d-eau.Rmd + inflate: + flat_file: dev/flat_import_hubeau_rw_data.Rmd + vignette_name: Import des données Hub'eau Cours d'eau + open_vignette: true + check: true + document: true + overwrite: ask diff --git a/dev/flat_import_hubeau_gw_data.Rmd b/dev/flat_import_hubeau_gw_data.Rmd new file mode 100644 index 0000000000000000000000000000000000000000..11aa465cd79e6843fced6c7b9b68c5fd489b3426 --- /dev/null +++ b/dev/flat_import_hubeau_gw_data.Rmd @@ -0,0 +1,170 @@ +--- +title: "Import des données Hub'eau Nappes d'eau souterraine" +output: html_document +editor_options: + chunk_output_type: console +--- + +```{r development, include=FALSE} +library(testthat) +library(hubeau) +library(datalibaba) +library(RPostgreSQL) +library(sf) +library(collectr) +library(dplyr) +``` + +```{r development-1} +# Load already included functions +pkgload::load_all(export_all = FALSE) +``` + +# Présentation + +> Cette page contient la logique métier concernant l'import des données de +l'[API Hub'eau "Qualité des nappes d'eau souterraine"](https://hubeau.eaufrance.fr/page/api-qualite-nappes) 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_nappes_analyses()` du package [{hubeau}](https://github.com/inrae/hubeau) + +```{r create-nitrate_analyse_esu_2020, eval=FALSE} +nitrate_analyse_eso_2020 <- hubeau::get_qualite_nappes_analyses(code_param = "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_eso_2021 <- hubeau::get_qualite_nappes_analyses(code_param = "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_eso_2022 <- hubeau::get_qualite_nappes_analyses(code_param = "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_eso_2023 <- hubeau::get_qualite_nappes_analyses(code_param = "1340", + code_region = "52", + date_debut_prelevement = "2023-01-01", + date_fin_prelevement = "2023-12-31", + size = "5000") +``` + +# 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_eso_2023, + table = "nitrate_qualite_nappes_analyses_2023", + schema = "qualite_nappes_eau_souterraine", + db = "si_eau", + overwrite = TRUE, + user = "admin") + +# Ajouter un commentaire sur la table +datalibaba::commenter_table(comment = "Analyses \"Nitrates\" ESO issues de l''API Hub''eau qualite_nappes : données brutes", + table = "nitrate_qualite_nappes_analyses_2023", + schema = "qualite_nappes_eau_souterraine", + 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_nappes_eau_souterraine", + table = "nitrate_qualite_nappes_analyses_2023", + column_name = "date_debut_prelevement", + 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_nappes_eau_souterraine", + new_schema = "zz_archives", + table = "nitrate_qualite_nappes_analyses", + 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_nappes_analyses_2023", + source_schema = "qualite_nappes_eau_souterraine", + target_table = "nitrate_qualite_nappes_analyses", + target_schema = "qualite_nappes_eau_souterraine", + role = "admin") + +# Actualiser le commentaire sur la table +datalibaba::commenter_table(comment = "Analyses Nitrates ESO API Hub'eau Qualité des nappes d'eau souterraine (2007-2023)", + table = "nitrate_qualite_nappes_analyses", + schema = "qualite_nappes_eau_souterraine", + db = "si_eau", + user = "admin") +``` + +```{r development-inflate, eval=FALSE} +# Keep eval=FALSE to avoid infinite loop in case you hit the knit button +# Execute in the console directly +fusen::inflate(flat_file = "dev/flat_import_hubeau_gw_data.Rmd", vignette_name = "Import des données Hub'eau Nappes d'eau souterraine") +``` diff --git a/dev/flat_import_hubeau_rw_data.Rmd b/dev/flat_import_hubeau_rw_data.Rmd index 791a0cc68901764df85de270bdba6b00cfa9562d..871c06bbdd8f23e33c6236a17d175d110d6cd59a 100644 --- a/dev/flat_import_hubeau_rw_data.Rmd +++ b/dev/flat_import_hubeau_rw_data.Rmd @@ -7,7 +7,7 @@ editor_options: ```{r development, include=FALSE} library(testthat) -library(xlsx) +library(hubeau) library(datalibaba) library(RPostgreSQL) library(sf) @@ -62,32 +62,119 @@ tables_list <- tables_list |> ``` -# Import des données Hub'eau ESU +# Import des données Hub'eau ESU dans un dataframe par millésime -À reprendre avec la fonction correspondante du package [{hubeau}](https://github.com/inrae/hubeau) +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 <- get_json_data(code_parametre = "1340", - code_region = "52", - date_debut_prelevement = "2020-01-01", - date_fin_prelevement = "2020-12-31", - size = "5000") +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 <- get_json_data(code_parametre = "1340", - code_region = "52", - date_debut_prelevement = "2021-01-01", - date_fin_prelevement = "2021-12-31", - size = "5000") +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 <- get_json_data(code_parametre = "1340", - code_region = "52", - date_debut_prelevement = "2022-01-01", - date_fin_prelevement = "2022-12-31", - size = "5000") +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") ``` ```{r development-inflate, eval=FALSE} diff --git a/vignettes/import-des-donnees-hub-eau-cours-d-eau.Rmd b/vignettes/import-des-donnees-hub-eau-cours-d-eau.Rmd new file mode 100644 index 0000000000000000000000000000000000000000..4328395c6736ef420089e492b2b911b287fc36e8 --- /dev/null +++ b/vignettes/import-des-donnees-hub-eau-cours-d-eau.Rmd @@ -0,0 +1,181 @@ +--- +title: "Import des données Hub'eau Cours d'eau" +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{import-des-donnees-hub-eau-cours-d-eau} + %\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_rw_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 ARS (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-nappes-d-eau-souterraine.Rmd b/vignettes/import-des-donnees-hub-eau-nappes-d-eau-souterraine.Rmd new file mode 100644 index 0000000000000000000000000000000000000000..4901db0ed9f5a69f5b2154adafd9969081bd6ae9 --- /dev/null +++ b/vignettes/import-des-donnees-hub-eau-nappes-d-eau-souterraine.Rmd @@ -0,0 +1,167 @@ +--- +title: "Import des données Hub'eau Nappes d'eau souterraine" +output: rmarkdown::html_vignette +vignette: > + %\VignetteIndexEntry{import-des-donnees-hub-eau-nappes-d-eau-souterraine} + %\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_gw_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 nappes d'eau souterraine"](https://hubeau.eaufrance.fr/page/api-qualite-nappes) 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_nappes_analyses()` du package [{hubeau}](https://github.com/inrae/hubeau) + + +```{r create-nitrate_analyse_esu_2020, eval = FALSE} +nitrate_analyse_eso_2020 <- hubeau::get_qualite_nappes_analyses(code_param = "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_eso_2021 <- hubeau::get_qualite_nappes_analyses(code_param = "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_eso_2022 <- hubeau::get_qualite_nappes_analyses(code_param = "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_eso_2023 <- hubeau::get_qualite_nappes_analyses(code_param = "1340", + code_region = "52", + date_debut_prelevement = "2023-01-01", + date_fin_prelevement = "2023-12-31", + size = "5000") +``` + +# 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_eso_2023, + table = "nitrate_qualite_nappes_analyses_2023", + schema = "qualite_nappes_eau_souterraine", + db = "si_eau", + overwrite = TRUE, + user = "admin") + +# Ajouter un commentaire sur la table +datalibaba::commenter_table(comment = "Analyses \"Nitrates\" ESO issues de l''API Hub''eau qualite_nappes : données brutes", + table = "nitrate_qualite_nappes_analyses_2023", + schema = "qualite_nappes_eau_souterraine", + 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_nappes_eau_souterraine", + table = "nitrate_qualite_nappes_analyses_2023", + column_name = "date_debut_prelevement", + 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_nappes_eau_souterraine", + new_schema = "zz_archives", + table = "nitrate_qualite_nappes_analyses", + 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_nappes_analyses_2023", + source_schema = "qualite_nappes_eau_souterraine", + target_table = "nitrate_qualite_nappes_analyses", + target_schema = "qualite_nappes_eau_souterraine", + role = "admin") + +# Actualiser le commentaire sur la table +datalibaba::commenter_table(comment = "Analyses Nitrates ESO API Hub'eau Qualité des nappes d'eau souterraine (2007-2023)", + table = "nitrate_qualite_nappes_analyses", + schema = "qualite_nappes_eau_souterraine", + db = "si_eau", + user = "admin") +``` + diff --git a/vignettes/import-des-donnees.Rmd b/vignettes/import-des-donnees.Rmd deleted file mode 100644 index 803a56a578ce8c9de978ccf4f197a970beb5f419..0000000000000000000000000000000000000000 --- a/vignettes/import-des-donnees.Rmd +++ /dev/null @@ -1,121 +0,0 @@ ---- -title: "Import des données" -output: rmarkdown::html_vignette -vignette: > - %\VignetteIndexEntry{import-des-donnees} - %\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_data.Rmd: do not edit by hand --> - -# Présentation - -> Cette page contient la logique métier concernant l'import des données -ARS et Hub'eau dans le cadre du projet Nitrates - - -# Connexion à la base de données PostgreSQL - -# Import des données de l'ARS - -```{r} -data_ars_2022 <- collectr::import_xlsx( - filepath = "T:\\datalab\\SRNP_DEMA_SI_EAU\\NITRATES\\DONNEES_CLIENT\\SOURCES\\ARS\\2023_06\\Nitrates 2022 pour DREAL EPNT4 2023-05-30.xlsx", - sheet = 1, - row = 2) -``` - -## Première approche : non concluante - -### Vérification de la correspondande de la structure du dataframe avec celle de la table - -### Adaptation de la structure - -### Insertion des données du dataframe dans la table en base - -La fonction insert_into_table() doit être corrigée. - - -## Deuxième approche : concluante - -### Création d'une table pour le nouveau millésime - -```{r create-nitrate_data_ars, eval = FALSE} -poster_data(data = data_ars_2022, - table = "nitrate_data_ars_2022", - schema = "qualite_cours_d_eau", - db = "si_eau", - overwrite = TRUE) - -``` - -### Modification du type des champs si besoin - -```{r modify_column_type, eval = FALSE} -# Appeler la fonction pour modifier le type de colonne -collectr::modify_column_type(connexion, - schema = "qualite_cours_d_eau", - table_name = "nitrate_data_ars_2022", - column_name = "plv_date ", - column_type = "date") -``` - -### Insertion des données du nouveau millésime en base dans la table globale - -```{r import_and_merge_tables, eval = FALSE} -import_and_merge_tables(connexion, - source_table = "nitrate_data_ars_2022", - source_schema = "qualite_cours_d_eau", - target_table = "nitrate_data_analyse_ars_test", - target_schema = "qualite_cours_d_eau") - -``` - -# Import des données Hub'eau ESU - -```{r create-nitrate_analyse_esu_2020, eval = FALSE} -nitrate_analyse_esu_2020 <- get_json_data(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 <- get_json_data(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 <- get_json_data(code_parametre = "1340", - code_region = "52", - date_debut_prelevement = "2022-01-01", - date_fin_prelevement = "2022-12-31", - size = "5000") -``` - -# Inflate your package - -You're one inflate from paper to box. -Build your package from this very Rmd using `fusen::inflate()` - -- Verify your `"DESCRIPTION"` file has been updated -- Verify your function is in `"R/"` directory -- Verify your test is in `"tests/testthat/"` directory -- Verify this Rmd appears in `"vignettes/"` directory -