Skip to content
Snippets Groups Projects
Commit a1c46d60 authored by ronan.vignard's avatar ronan.vignard
Browse files

Correction d'un problème sur le code_bassin_versant

parent 038062a9
No related branches found
No related tags found
1 merge request!56Correction d'un problème sur le code_bassin_versant
Package: data.captages
Title: Collecte Des Points De Captages Et Des Stations De Mesure
Version: 1.3.1
Version: 1.3.2
Authors@R:
person("Ronan", "Vignard", , "ronan.vignard@developpement-durable.gouv.fr", role = c("aut", "cre"),
comment = c(ORCID = "0000-0000-0000-0000"))
......
# data.captages 1.3.2
- Correction d'un problème générant des stations avec un code_bassin_versant NULL
# data.captages 1.3.1
- Ajout d'un filtre sur les stations ESU pour ne conserver que celles intersectant les SAGE de la région
......
......@@ -49,7 +49,9 @@ Suppression des géométries vides :
data_ars_with_geom = data_ars_esu[!sf::st_is_empty(data_ars_esu),,drop=FALSE]
```
# Sélection des captages ARS différents de Hub'eau
# Création d'un dataframe unique
## Sélection des captages ARS différents de Hub'eau
```{r select-captages-ars-not-hubeau, eval=FALSE}
# Effectuer l'opération anti_join après avoir supprimé la géométrie
......@@ -70,7 +72,7 @@ names(data_ars_not_sandre) <- gsub("\\.x$", "",
names(data_ars_not_sandre))
```
# Consolidation des stations SANDRE
## Consolidation des stations SANDRE
Sélection des variables et ajout de la source :
```{r consolidate-stations_hubeau, eval=FALSE}
......@@ -88,7 +90,7 @@ stations_esu_sandre <- data_sandre |>
stations_esu_sandre$date_creation <- as.Date(stations_esu_sandre$date_creation)
```
# Consolidation des stations ARS
## Consolidation des stations ARS
Renommage des variables, ajout de la source, sélection des variables :
```{r consolidate-stations_ars, eval=FALSE}
......@@ -102,13 +104,15 @@ stations_esu_ars <- data_ars_not_sandre |>
source,code_commune,the_geom)
```
# Fusion des deux dataframes
## Fusion des deux dataframes
```{r merge-stations, eval=FALSE}
station_esu <- dplyr::bind_rows(stations_esu_sandre, stations_esu_ars)
```
# Ajout du `code_sage` par station
# Ajout des champs manquants au dataframe station_esu
## Ajout du `code_sage` par station
Chargement de la table des SAGE en Pays de la Loire :
```{r load-sage, eval=FALSE}
......@@ -160,12 +164,12 @@ station_esu <- station_esu |>
dplyr::mutate(code_sage = tidyr::replace_na(code_sage, "SAGE00000"))
```
# Intersection des stations ESU avec les SAGE de la région
## Intersection des stations ESU avec les SAGE de la région
Vérification des objets sf :
```{r st_as_sf, eval=FALSE}
# Vérifier que les deux dataframes sont en format 'sf'
station_esu <- sf::st_as_sf(station_esu)
n_sage_r52f <- sf::st_as_sf(n_sage_r52)
n_sage_r52 <- sf::st_as_sf(n_sage_r52)
```
......@@ -176,12 +180,14 @@ station_in_sage <- sf::st_filter(station_esu, n_sage_r52)
```
# Ajout des champs `code_bassin_versant`, `code_masse_eau`, `code_eu_masse_eau` par station
## Ajout des variables liés aux bassins versant
Il s'agit des variables : `code_bassin_versant`, `code_masse_eau` et `code_eu_masse_eau`
Chargement de la table des bassins versants du bassin Loire-Bretagne :
Chargement de la table des bassins versants France entière :
```{r load-bassin-versant, eval=FALSE}
n_bassin_versant_specifique_loire_bretagne <- datalibaba::importer_data(
table = "n_bassin_versant_specifique_loire_bretagne",
n_bassin_versant_specifique_000 <- datalibaba::importer_data(
table = "n_bassin_versant_specifique_000",
schema = "sandre",
db = "si_eau"
)
......@@ -191,7 +197,7 @@ Requête spatiale pour la jointure des champs `code_bassin_versant`, `code_masse
```{r update-codes-bassin-versant-masse-eau, eval=FALSE}
# Réaliser une jointure spatiale
station_esu <- station_in_sage |>
sf::st_join(n_bassin_versant_specifique_loire_bretagne |>
sf::st_join(n_bassin_versant_specifique_000 |>
dplyr::select(code_bassin_versant = code_bassin_versant_specifique,
code_masse_eau,
code_eu_masse_eau),
......@@ -206,7 +212,35 @@ station_esu <- station_esu |>
dplyr::select(-code_masse_eau.x, -code_masse_eau.y) # Supprimer les colonnes inutiles
```
# Ajout du `captage_prioriaire` par station
Identification des doublons générés par la superposition de périmètres dans la table des bassins versants :
```{r get_duplicates_code_bassin_versant, eval=FALSE}
# Compter les occurrences de chaque code_station
doublons_code_bassin_versant <- station_esu |>
dplyr::group_by(code_station) |>
dplyr::tally(name = "n") |>
dplyr::filter(n > 1)
# Supprimer l'objet géométrique pour pouvoir exécuter la jointure attributaire
doublons_code_bassin_versant <- doublons_code_bassin_versant |>
sf::st_drop_geometry()
# Joindre les informations additionnelles
doublons_code_bassin_versant <- doublons_code_bassin_versant |>
dplyr::left_join(station_esu, by = "code_station") |>
dplyr::left_join(n_bassin_versant_specifique_000, by = c("code_bassin_versant" = "code_bassin_versant_specifique")) |>
dplyr::select(code_station, n, libelle_station, code_bassin_versant, nom_bassin_versant_specifique, the_geom.x)
# Visualiser les doublons
print(doublons_code_bassin_versant)
```
Suppression des doublons (optionnel) :
```{r delete_duplicates_code_bassin_versant, eval=FALSE}
station_esu <- station_esu |>
dplyr::group_by(code_station, the_geom) |> dplyr::slice(1) |> dplyr::ungroup()
```
## Ajout du champs `captage_prioriaire`
Chargement de la table des captages prioritaires de la région :
```{r load-captage-prioritaire, eval=FALSE}
......@@ -225,7 +259,8 @@ station_esu <- station_esu |>
code_station %in% r_captage_prioritaire_r52$code_sise_eaux)
```
# Sélection des variables à conserver dans le dataframe final
# Publication dans une table dans la base de données
## Sélection des variables à conserver dans le dataframe final
```{r select-station-esu-variables, eval=FALSE}
station_esu <- station_esu |>
dplyr::select(code_station,
......@@ -241,7 +276,7 @@ station_esu <- station_esu |>
the_geom)
```
# Archivage de la version précédente de la table
## Archivage de la version précédente de la table
La version précédente de l'export est stockée dans un schéma d'archive :
```{r archive-old-table, eval=FALSE}
......@@ -253,7 +288,7 @@ collectr::archive_table(database = "si_eau",
role = "admin")
```
# Récupération des commentaires de la version précédente de la table
## Récupération des commentaires de la version précédente de la table
```{r get-comments-old-table, eval=FALSE}
station_esu_comments <- datalibaba::get_table_comments(table = "station_esu",
......@@ -264,7 +299,7 @@ station_esu_comments <- datalibaba::get_table_comments(table = "station_esu",
dplyr::arrange(nom_col)
```
# Publication de la table actualisée
## Publication de la table actualisée
La table actualisée écrase la précédente version :
```{r publish-new-table, eval=FALSE}
......@@ -277,12 +312,12 @@ datalibaba::poster_data(data = station_esu,
user = "admin")
```
# Publication de la description de la table actualisée
## Publication de la description de la table actualisée
```{r publish-new-table-comment, eval=FALSE}
date_today <- format(Sys.time(), format = "%d/%m/%Y")
datalibaba::commenter_table(
comment = glue::glue("Table des stations de mesure des eaux de surface (ESU) (source : Hub'eau + ARS, ", date_today, ")"),
comment = glue::glue("Table des stations de mesure des eaux de surface (ESU) (source : ARS + SANDRE, ", date_today, ")"),
table = "station_esu",
schema = "stations",
db = "si_eau",
......@@ -290,7 +325,7 @@ datalibaba::commenter_table(
)
```
# Publication des commentaires des champs de la table actualisée
## Publication des commentaires des champs de la table actualisée
```{r publish-new-fields-comments, eval=FALSE}
datalibaba::post_dico_attr(dico = station_esu_comments,
......
---
title: "Mise à jour des stations ESU"
output: html_document
editor_options:
chunk_output_type: console
title: "Template Title"
author: "Your Name"
date: "The Date"
output: output_format
---
```{r development}
library(datalibaba)
library(dplyr)
library(sf)
library(collectr)
library(usethis)
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r development-load}
# Load already included functions if relevant
pkgload::load_all(export_all = FALSE)
```
# Objectif
Actualiser les **stations de mesure eau de surface (ESU)** à partir des tables suivantes dans une base de données PostgreSQL :
- `qualite_cours_d_eau.hubeau_qualite_rivieres_station_pc` (source : Hub'eau)
- `captages.n_captage_p_r52` (source : ARS)
# Chargement des lot de données source
Stations de mesures physicochimique sur des cours d'eau et plan d'eau (ESU) :
```{r load-hubeau_qualite_rivieres_station_pc, eval=FALSE}
data_hubeau <- datalibaba::importer_data(
table = "hubeau_qualite_rivieres_station_pc",
schema = "qualite_cours_d_eau",
db = "si_eau")
```
Captages ARS ESU :
```{r load_captages_ars_eso, eval=FALSE}
data_ars <- datalibaba::importer_data(
table = "n_captage_p_r52",
schema = "captages",
db = "si_eau") |>
dplyr::filter(nature_eau_captage == 'ESU')
```
Suppression des géométries vides :
```{r delete-empty-geom, eval=FALSE}
data_ars_with_geom = data_ars[!sf::st_is_empty(data_ars),,drop=FALSE]
```
# Sélection des captages ARS différents de Hub'eau
```{r select-captages-ars-not-hubeau, eval=FALSE}
# Effectuer l'opération anti_join après avoir supprimé la géométrie
data_ars_not_hubeau <- data_ars_with_geom |>
sf::st_drop_geometry() |>
dplyr::anti_join(data_hubeau, by = c("code_captage" = "code_station"))
# Récupérer les géométries par jointure avec stations_esu_ars
data_ars_not_hubeau <- data_ars_not_hubeau |>
dplyr::left_join(data_ars, by = "code_captage")
# Désélectionner toutes les variables finissant par .y dans la jointure
data_ars_not_hubeau <- dplyr::select(data_ars_not_hubeau,
-ends_with(".y"))
# Renommer toutes les variables en supprimant le suffixe .x
names(data_ars_not_hubeau) <- gsub("\\.x$", "",
names(data_ars_not_hubeau))
```
# Consolidation des stations Hub'eau
Renommage des variables, ajout du code SISE-Eaux et de la source, sélection des variables :
```{r consolidate-stations_hubeau, eval=FALSE}
stations_esu_hubeau <- data_hubeau |>
dplyr::mutate(source = "HUBEAU") |>
dplyr::select(code_station,
libelle_station,
date_creation,
source,
code_masse_eau = code_masse_deau,
code_eu_masse_eau = code_eu_masse_deau,
code_commune,
the_geom)
## Adding an RMarkdown Template
# Convertir les dates de la variable date_creation
stations_esu_hubeau$date_creation <- as.Date(stations_esu_hubeau$date_creation)
```
# Consolidation des stations ARS
Renommage des variables, ajout de la source, sélection des variables :
```{r consolidate-stations_ars, eval=FALSE}
stations_esu_ars <- data_ars_not_hubeau |>
dplyr::rename(code_station = code_captage,
libelle_station = nom_captage,
date_creation = date_etat_installation,
code_commune = code_commune_captage) |>
dplyr::mutate(source = "ARS") |>
dplyr::select(code_station,libelle_station,date_creation,
source,code_commune,the_geom)
```
# Fusion des deux dataframes
```{r merge-stations, eval=FALSE}
station_esu <- dplyr::bind_rows(stations_esu_hubeau, stations_esu_ars)
```
# Ajout du `code_sage` par station
Chargement de la table des SAGE en Pays de la Loire :
```{r load-sage, eval=FALSE}
n_sage_r52 <- datalibaba::importer_data(
table = "n_sage_r52",
schema = "zonages_de_gestion",
db = "si_eau"
)
```
Requête spatiale pour la jointure du `code_sage` dans `station_esu` :
```{r update-code-sage, eval=FALSE}
# Réaliser une jointure spatiale
station_esu <- station_esu |>
sf::st_join(n_sage_r52 |> dplyr::select(code_sage = code), join = sf::st_within, left = TRUE)
```
Identification des doublons générés par la superposition de périmètres dans la table des SAGE :
```{r get-station-duplicates-code_sage, eval=FALSE}
# Compter les occurrences de chaque code_station
doublons_stations_code_sage <- station_esu |>
dplyr::group_by(code_station) |>
dplyr::tally(name = "n") |>
dplyr::filter(n > 1)
# Supprimer l'objet géométrique pour pouvoir exécuter la jointure attributaire
doublons_stations_code_sage <- doublons_stations_code_sage |>
sf::st_drop_geometry()
# Joindre les informations additionnelles
doublons_stations_code_sage <- doublons_stations_code_sage |>
dplyr::left_join(station_esu, by = "code_station") |>
dplyr::left_join(n_sage_r52, by = c("code_sage" = "code")) |>
dplyr::select(code_station, n, libelle_station, code_sage, nom, the_geom.x)
# Visualiser les doublons
print(doublons_stations_code_sage)
```
Suppression des doublons (optionnel) :
```{r delete-station-duplicates-code-sage, eval=FALSE}
station_esu <- station_esu |>
dplyr::group_by(code_station, the_geom) |> dplyr::slice(1) |> dplyr::ungroup()
```
This file is what a user will see when they select your template. Make sure that you update the fields in the yaml header. In particular you will want to update the `output` field to whatever format your template requires.
Ajout de la valeur `SAGE00000` si la valeur de `code_sage` est NA :
```{r replace-code-sage-na, eval=FALSE}
station_esu <- station_esu |>
dplyr::mutate(code_sage = tidyr::replace_na(code_sage, "SAGE00000"))
```
# Ajout des champs `code_bassin_versant`, `code_masse_eau`, `code_eu_masse_eau` par station
Chargement de la table des bassins versants du bassin Loire-Bretagne :
```{r load-bassin-versant, eval=FALSE}
n_bassin_versant_specifique_loire_bretagne <- datalibaba::importer_data(
table = "n_bassin_versant_specifique_loire_bretagne",
schema = "sandre",
db = "si_eau"
)
```
Requête spatiale pour la jointure des champs `code_bassin_versant`, `code_masse_eau`, `code_eu_masse_eau` dans `station_esu` :
```{r update-codes-bassin-versant-masse-eau, eval=FALSE}
# Réaliser une jointure spatiale
station_esu <- station_esu |>
sf::st_join(n_bassin_versant_specifique_loire_bretagne |>
dplyr::select(code_bassin_versant = code_bassin_versant_specifique,
code_masse_eau,
code_eu_masse_eau),
join = sf::st_within, left = TRUE)
```
Fusion des variables pour conserver un maximum de valeurs :
```{r merge-variables, eval=FALSE}
# Fusionner les variables code_masse_eau.x et code_masse_eau.y, code_eu_masse_eau.x et code_eu_masse_eau.y
station_esu <- station_esu |>
dplyr::mutate(code_masse_eau = dplyr::coalesce(code_masse_eau.x, code_masse_eau.y),
code_eu_masse_eau = dplyr::coalesce(code_eu_masse_eau.x, code_eu_masse_eau.y)) |>
dplyr::select(-code_masse_eau.x, -code_masse_eau.y, -code_eu_masse_eau.x, -code_eu_masse_eau.y) # Supprimer les colonnes inutiles
```
# Ajout du `captage_prioriaire` par station
Chargement de la table des captages prioritaires de la région :
```{r load-captage-prioritaire, eval=FALSE}
r_captage_prioritaire_r52 <- datalibaba::importer_data(
table = "r_captage_prioritaire_r52",
schema = "captages",
db = "si_eau"
)
```
Ajout de la variable captage_prioritaire
```{r update-captage-prioriaire, eval=FALSE}
# Alimenter la variable en vérifiant la présence du `code_station` dans `r_captage_prioritaire_r52`
station_esu <- station_esu |>
dplyr::mutate(captage_prioritaire =
code_station %in% r_captage_prioritaire_r52$code_sise_eaux)
```
# Sélection des variables à conserver dans le dataframe final
```{r select-station-esu-variables, eval=FALSE}
station_esu <- station_esu |>
dplyr::select(code_station,
libelle_station,
date_creation,
source,
code_masse_eau,
code_eu_masse_eau,
code_commune,
code_sage,
code_bassin_versant,
captage_prioritaire,
the_geom)
```
# Archivage de la version précédente de la table
La version précédente de l'export est stockée dans un schéma d'archive :
```{r archive-old-table, eval=FALSE}
connexion <- datalibaba::connect_to_db(db = "si_eau")
collectr::archive_table(connexion,
database = "si_eau",
table_name = "station_esu",
schema = "stations",
new_schema = "zz_archives")
```
# Récupération des commentaires de la version précédente de la table
```{r get-comments-old-table, eval=FALSE}
station_esu_comments <- datalibaba::get_table_comments(table = "station_esu",
schema = "stations",
db = "si_eau") |>
dplyr::filter(!is.na(nom_col)) |>
dplyr::select(nom_col, commentaire) |>
dplyr::arrange(nom_col)
```
# Publication de la table actualisée
La table actualisée écrase la précédente version :
```{r publish-new-table, eval=FALSE}
datalibaba::poster_data(data = station_esu,
table = "station_esu",
schema = "stations",
db = "si_eau",
pk = "code_station",
overwrite = TRUE)
```
# Publication de la description de la table actualisée
```{r publish-new-table-comment, eval=FALSE}
date_today <- format(Sys.time(), format = "%d/%m/%Y")
datalibaba::commenter_table(
comment = glue::glue("Table des stations de mesure des eaux de surface (ESU) (source : Hub'eau + ARS, ", date_today, ")"),
table = "station_esu",
schema = "stations",
db = "si_eau"
)
```
# Publication des commentaires des champs de la table actualisée
```{r publish-new-fields-comments, eval=FALSE}
datalibaba::post_dico_attr(dico = station_esu_comments,
table = "station_esu",
schema = "stations",
db = "si_eau"
)
```
```{r development-create-template, eval=FALSE}
# Créer de l'arborescence et des fichiers du template
usethis::use_rmarkdown_template(
template_name = "Mise à jour des stations ESU",
template_dir = "update_station_esu",
template_description = "Mise à jour des stations ESU",
template_create_dir = TRUE
)
# Définir les chemins source et destination
source_file <- "dev/flat_update_station_esu.Rmd"
destination_dir <- "inst/rmarkdown/templates/update_station_esu/skeleton"
destination_file <- file.path(destination_dir, "skeleton.Rmd")
# Copier et renommer le fichier
file.copy(from = source_file, to = destination_file, overwrite = TRUE)
message("File copied and renamed successfully.")
```
```{r development-inflate, eval=FALSE}
options(rmarkdown.html_vignette.check_title = FALSE)
# Run but keep eval=FALSE to avoid infinite loop
# Execute in the console directly
fusen::inflate(flat_file = "dev/flat_update_station_esu.Rmd", vignette_name = "Mise à jour des stations ESU")
```
This is a good place to demonstrate special features that your template provides. Ideally it should knit out-of-the-box, or at least contain clear instructions as to what needs changing.
Finally, be sure to remove this message!
......@@ -55,7 +55,9 @@ Suppression des géométries vides :
data_ars_with_geom = data_ars_esu[!sf::st_is_empty(data_ars_esu),,drop=FALSE]
```
# Sélection des captages ARS différents de Hub'eau
# Création d'un dataframe unique
## Sélection des captages ARS différents de Hub'eau
```{r select-captages-ars-not-hubeau, eval = FALSE}
# Effectuer l'opération anti_join après avoir supprimé la géométrie
......@@ -76,7 +78,7 @@ names(data_ars_not_sandre) <- gsub("\\.x$", "",
names(data_ars_not_sandre))
```
# Consolidation des stations SANDRE
## Consolidation des stations SANDRE
Sélection des variables et ajout de la source :
......@@ -95,7 +97,7 @@ stations_esu_sandre <- data_sandre |>
stations_esu_sandre$date_creation <- as.Date(stations_esu_sandre$date_creation)
```
# Consolidation des stations ARS
## Consolidation des stations ARS
Renommage des variables, ajout de la source, sélection des variables :
......@@ -110,13 +112,15 @@ stations_esu_ars <- data_ars_not_sandre |>
source,code_commune,the_geom)
```
# Fusion des deux dataframes
## Fusion des deux dataframes
```{r merge-stations, eval = FALSE}
station_esu <- dplyr::bind_rows(stations_esu_sandre, stations_esu_ars)
```
# Ajout du `code_sage` par station
# Ajout des champs manquants au dataframe station_esu
## Ajout du `code_sage` par station
Chargement de la table des SAGE en Pays de la Loire :
......@@ -173,14 +177,14 @@ station_esu <- station_esu |>
dplyr::mutate(code_sage = tidyr::replace_na(code_sage, "SAGE00000"))
```
# Intersection des stations ESU avec les SAGE de la région
## Intersection des stations ESU avec les SAGE de la région
Vérification des objets sf :
```{r st_as_sf, eval = FALSE}
# Vérifier que les deux dataframes sont en format 'sf'
station_esu <- sf::st_as_sf(station_esu)
n_sage_r52f <- sf::st_as_sf(n_sage_r52)
n_sage_r52 <- sf::st_as_sf(n_sage_r52)
```
......@@ -192,13 +196,15 @@ station_in_sage <- sf::st_filter(station_esu, n_sage_r52)
```
# Ajout des champs `code_bassin_versant`, `code_masse_eau`, `code_eu_masse_eau` par station
## Ajout des variables liés aux bassins versant
Chargement de la table des bassins versants du bassin Loire-Bretagne :
Il s'agit des variables : `code_bassin_versant`, `code_masse_eau` et `code_eu_masse_eau`
Chargement de la table des bassins versants France entière :
```{r load-bassin-versant, eval = FALSE}
n_bassin_versant_specifique_loire_bretagne <- datalibaba::importer_data(
table = "n_bassin_versant_specifique_loire_bretagne",
n_bassin_versant_specifique_000 <- datalibaba::importer_data(
table = "n_bassin_versant_specifique_000",
schema = "sandre",
db = "si_eau"
)
......@@ -209,7 +215,7 @@ Requête spatiale pour la jointure des champs `code_bassin_versant`, `code_masse
```{r update-codes-bassin-versant-masse-eau, eval = FALSE}
# Réaliser une jointure spatiale
station_esu <- station_in_sage |>
sf::st_join(n_bassin_versant_specifique_loire_bretagne |>
sf::st_join(n_bassin_versant_specifique_000 |>
dplyr::select(code_bassin_versant = code_bassin_versant_specifique,
code_masse_eau,
code_eu_masse_eau),
......@@ -225,7 +231,37 @@ station_esu <- station_esu |>
dplyr::select(-code_masse_eau.x, -code_masse_eau.y) # Supprimer les colonnes inutiles
```
# Ajout du `captage_prioriaire` par station
Identification des doublons générés par la superposition de périmètres dans la table des bassins versants :
```{r get_duplicates_code_bassin_versant, eval = FALSE}
# Compter les occurrences de chaque code_station
doublons_code_bassin_versant <- station_esu |>
dplyr::group_by(code_station) |>
dplyr::tally(name = "n") |>
dplyr::filter(n > 1)
# Supprimer l'objet géométrique pour pouvoir exécuter la jointure attributaire
doublons_code_bassin_versant <- doublons_code_bassin_versant |>
sf::st_drop_geometry()
# Joindre les informations additionnelles
doublons_code_bassin_versant <- doublons_code_bassin_versant |>
dplyr::left_join(station_esu, by = "code_station") |>
dplyr::left_join(n_bassin_versant_specifique_000, by = c("code_bassin_versant" = "code_bassin_versant_specifique")) |>
dplyr::select(code_station, n, libelle_station, code_bassin_versant, nom_bassin_versant_specifique, the_geom.x)
# Visualiser les doublons
print(doublons_code_bassin_versant)
```
Suppression des doublons (optionnel) :
```{r delete_duplicates_code_bassin_versant, eval = FALSE}
station_esu <- station_esu |>
dplyr::group_by(code_station, the_geom) |> dplyr::slice(1) |> dplyr::ungroup()
```
## Ajout du champs `captage_prioriaire`
Chargement de la table des captages prioritaires de la région :
......@@ -246,7 +282,9 @@ station_esu <- station_esu |>
code_station %in% r_captage_prioritaire_r52$code_sise_eaux)
```
# Sélection des variables à conserver dans le dataframe final
# Publication dans une table dans la base de données
## Sélection des variables à conserver dans le dataframe final
```{r select-station-esu-variables, eval = FALSE}
station_esu <- station_esu |>
......@@ -263,7 +301,7 @@ station_esu <- station_esu |>
the_geom)
```
# Archivage de la version précédente de la table
## Archivage de la version précédente de la table
La version précédente de l'export est stockée dans un schéma d'archive :
......@@ -276,7 +314,7 @@ collectr::archive_table(database = "si_eau",
role = "admin")
```
# Récupération des commentaires de la version précédente de la table
## Récupération des commentaires de la version précédente de la table
```{r get-comments-old-table, eval = FALSE}
station_esu_comments <- datalibaba::get_table_comments(table = "station_esu",
......@@ -287,7 +325,7 @@ station_esu_comments <- datalibaba::get_table_comments(table = "station_esu",
dplyr::arrange(nom_col)
```
# Publication de la table actualisée
## Publication de la table actualisée
La table actualisée écrase la précédente version :
......@@ -301,12 +339,12 @@ datalibaba::poster_data(data = station_esu,
user = "admin")
```
# Publication de la description de la table actualisée
## Publication de la description de la table actualisée
```{r publish-new-table-comment, eval = FALSE}
date_today <- format(Sys.time(), format = "%d/%m/%Y")
datalibaba::commenter_table(
comment = glue::glue("Table des stations de mesure des eaux de surface (ESU) (source : Hub'eau + ARS, ", date_today, ")"),
comment = glue::glue("Table des stations de mesure des eaux de surface (ESU) (source : ARS + SANDRE, ", date_today, ")"),
table = "station_esu",
schema = "stations",
db = "si_eau",
......@@ -314,7 +352,7 @@ datalibaba::commenter_table(
)
```
# Publication des commentaires des champs de la table actualisée
## Publication des commentaires des champs de la table actualisée
```{r publish-new-fields-comments, eval = FALSE}
datalibaba::post_dico_attr(dico = station_esu_comments,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment