diff --git a/dev/config_fusen.yaml b/dev/config_fusen.yaml index c1bf6a7f7af0f423ee6f4b321a921fb879a05375..6dadb00988086efb21c179e3e15069dfc6e0a1fd 100644 --- a/dev/config_fusen.yaml +++ b/dev/config_fusen.yaml @@ -3,10 +3,10 @@ flat_import_ars_data.Rmd: state: active R: [] tests: [] - vignettes: vignettes/import-des-donnees-brutes-ars.Rmd + vignettes: vignettes/import-des-donnees-ars.Rmd inflate: flat_file: dev/flat_import_ars_data.Rmd - vignette_name: Import des données brutes ARS + vignette_name: Import des données ARS open_vignette: true check: true document: true diff --git a/dev/flat_import_ars_data.Rmd b/dev/flat_import_ars_data.Rmd index 7d5d423ba06797e995c87e8795f7d3bb1bc612c9..dfbd8ecec41bc739878891d78fb0dddcec6795d3 100644 --- a/dev/flat_import_ars_data.Rmd +++ b/dev/flat_import_ars_data.Rmd @@ -1,5 +1,5 @@ --- -title: "flat_import_ars_data.Rmd" +title: "Import des données ARS" output: html_document editor_options: chunk_output_type: console @@ -142,6 +142,6 @@ datalibaba::commenter_table(comment = "Analyses Nitrates ARS (2007-2023)", ```{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_import_ars_data.Rmd", vignette_name = "Import des données brutes ARS") +fusen::inflate(flat_file = "dev/flat_import_ars_data.Rmd", vignette_name = "Import des données ARS") ``` diff --git a/dev/flat_import_data.Rmd b/dev/flat_import_data.Rmd deleted file mode 100644 index 8f25059b4b8307dfa84090ff64eed929feac5a5c..0000000000000000000000000000000000000000 --- a/dev/flat_import_data.Rmd +++ /dev/null @@ -1,189 +0,0 @@ ---- -title: "Import des données" -output: html_document -editor_options: - chunk_output_type: console ---- - -```{r development, include=FALSE} -library(testthat) -library(xlsx) -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 -ARS et Hub'eau dans le cadre du projet Nitrates - -# Connexion à la base de données PostgreSQL - -```{r development-connect_to_db, eval=FALSE} -# Se connecter à la base de données PostgreSQL si_eau -connexion <- datalibaba::connect_to_db(db = "si_eau") -``` - -```{r development-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 development-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 de l'ARS - -```{r import_data_ars_2022, eval=FALSE} - -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) -``` - -```{r import_data_ars_2023, eval=FALSE} -data_ars_2023 <- collectr::import_xlsx( - filepath = "T:\\datalab\\SRNP_DEMA_SI_EAU\\NITRATES\\DONNEES_CLIENT\\SOURCES\\ARS\\2024_06\\Nitrates 2023 pour DREAL EPNT4 2024-05-31.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 - -```{r development-check_structure_table, eval=FALSE} -check_structure_table(database = "si_eau", - schema = "nitrates", - table = "nitrate_data_analyse_ars_test", - dataframe = data_ars_2023, - role = "admin") - -``` - -### Adaptation de la structure - -```{r development, eval=FALSE} -data_ars_2022 <- data_ars_2022 |> - select(-coord_x,-coord_y) |> - mutate(eligible_ades = rep(NA, n())) -``` - -### Insertion des données du dataframe dans la table en base - -La fonction insert_into_table() doit être corrigée. - -```{r development-insert_into_table, eval=FALSE} -collectr::insert_into_table(connexion, - data_ars_2022, - "nitrate_data_analyse_ars_test", - "qualite_cours_d_eau" -) -``` - -## Deuxième approche : concluante - -### Création d'une table pour le nouveau millésime - -```{r create-nitrate_data_ars, eval=FALSE} -datalibaba::poster_data(data = data_ars_2022, - table = "nitrate_data_analyse_ars_2023", - schema = "nitrates", - db = "si_eau", - overwrite = TRUE, - user = "admin") - -datalibaba::commenter_table(comment = "Analyses Nitrates ARS (2023)", - table = "nitrate_data_analyse_ars_2023", - schema = "nitrates", - db = "si_eau", - user = "admin") -``` - -### 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(database = "si_eau", - schema = "nitrates", - table = "nitrate_data_analyse_ars_2023", - column_name = "plv_date ", - column_type = "date", - role = "admin") - -``` - -### Insertion des données du nouveau millésime en base dans la table globale - -```{r import_and_merge_tables, eval=FALSE} -collectr::import_and_merge_tables(database = "si_eau", - source_table = "nitrate_data_ars_2023", - source_schema = "nitrates", - target_table = "nitrate_data_analyse_ars_test", - target_schema = "nitrates") - -``` - -# Import des données Hub'eau ESU - -À reprendre avec la fonction correspondante 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") -``` - -```{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") -``` - -```{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_data.Rmd", vignette_name = "Import des données") -``` diff --git a/dev/flat_import_hubeau_rw_data.Rmd b/dev/flat_import_hubeau_rw_data.Rmd new file mode 100644 index 0000000000000000000000000000000000000000..791a0cc68901764df85de270bdba6b00cfa9562d --- /dev/null +++ b/dev/flat_import_hubeau_rw_data.Rmd @@ -0,0 +1,97 @@ +--- +title: "Import des données Hub'eau Cours d'eau" +output: html_document +editor_options: + chunk_output_type: console +--- + +```{r development, include=FALSE} +library(testthat) +library(xlsx) +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 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 + +À reprendre avec la fonction correspondante 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") +``` + +```{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") +``` + +```{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_rw_data.Rmd", vignette_name = "Import des données Hub'eau Cours d'eau") +``` diff --git a/vignettes/import-des-donnees-brutes-ars.Rmd b/vignettes/import-des-donnees-ars.Rmd similarity index 97% rename from vignettes/import-des-donnees-brutes-ars.Rmd rename to vignettes/import-des-donnees-ars.Rmd index ae5cfcbc2e93f602f2c043fa709dab246d33258a..a4206dc1369a68123ad00b9e2a616c2c2a089a03 100644 --- a/vignettes/import-des-donnees-brutes-ars.Rmd +++ b/vignettes/import-des-donnees-ars.Rmd @@ -1,8 +1,8 @@ --- -title: "Import des données brutes ARS" +title: "Import des données ARS" output: rmarkdown::html_vignette vignette: > - %\VignetteIndexEntry{import-des-donnees-brutes-ars} + %\VignetteIndexEntry{import-des-donnees-ars} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} ---