Chargement des librairies

library(datalibaba)
library(dplyr)
library(glue)
library(sf)
library(yaml)

Chargement des variables

# Lire le fichier de configuration
config <- yaml::read_yaml("../config.yml")

# Accéder à la valeur pour fichier_gpkg
fichier_gpkg <- config$fichier_gpkg
# Récupérer les variables liées à la base de données
database <- config$database
schema_name <- config$schema_name
primary_key <- config$primary_key
role <- config$role

Forêts publiques

Téléchargement des données

On paramètre ensuite le nom de la couche avant de l’importer dans un dataframe :

# Paramétrer le nom de la couche
table_name <- "foret_publique"
# Importer la couche dans un dataframe du même nom que la couche
assign(table_name, sf::st_read(fichier_gpkg, layer = table_name, quiet = TRUE))

Renommage du champs géométrique

# Renommer la colonne
sf::st_geometry(foret_publique) <- "the_geom"

Création de la table en base

datalibaba::poster_data(data = foret_publique, 
                        table = "n_bdt_foret_publique_s_r52", 
                        schema = schema_name, 
                        db = database,
                        pk = primary_key, 
                        overwrite = TRUE, 
                        user = role)

Ajout des commentaires

# Établir une connexion à la base de données PostgreSQL
connexion <- datalibaba::connect_to_db(db = database, user = role)

# Génération de la date du jour
date_now <- format(Sys.Date(), "%d/%m/%Y")

# Liste des requêtes SQL
table_comment <- glue::glue("COMMENT ON TABLE {schema_name}.n_bdt_foret_publique_s_r52
    IS 'Forêt gérée par une structure publique. (Publiée le {date_now})';")

# Exécuter la commande SQL
DBI::dbExecute(connexion, table_comment)

source("../data/dico_foret_publique.R")

# Ajouter les commentaires sur les champs
post_dico_attr(dico = dico_foret_publique, 
               table = "n_bdt_foret_publique_s_r52", 
               schema = schema_name, 
               db = database,
               user = role)

# Fermeture de la connexion à la base de données
DBI::dbDisconnect(connexion)

Parcs ou réserves

Téléchargement des données

On paramètre ensuite le nom de la couche avant de l’importer dans un dataframe :

# Paramétrer le nom de la couche
table_name <- "parc_ou_reserve"
# Importer la couche dans un dataframe du même nom que la couche
assign(table_name, sf::st_read(fichier_gpkg, layer = table_name, quiet = TRUE))

Renommage du champs géométrique

# Renommer la colonne
sf::st_geometry(parc_ou_reserve) <- "the_geom"

Création de la table en base

datalibaba::poster_data(data = parc_ou_reserve, 
                        table = "n_bdt_parc_ou_reserve_s_r52", 
                        schema = schema_name, 
                        db = database,
                        pk = primary_key, 
                        overwrite = TRUE, 
                        user = role)

Ajout des commentaires

# Établir une connexion à la base de données PostgreSQL
connexion <- datalibaba::connect_to_db(db = database, user = role)

# Génération de la date du jour
date_now <- format(Sys.Date(), "%d/%m/%Y")

# Liste des requêtes SQL
table_comment <- glue::glue("COMMENT ON TABLE {schema_name}.n_bdt_parc_ou_reserve_s_r52
    IS 'Enceinte de parc ou de réserve naturelle où certaines activités sont régies par un règlement particulier. (Publiée le {date_now})';")

# Exécuter la commande SQL
DBI::dbExecute(connexion, table_comment)

source("../data/dico_parc_ou_reserve.R")

# Ajouter les commentaires sur les champs
post_dico_attr(dico = dico_parc_ou_reserve, 
               table = "n_bdt_parc_ou_reserve_s_r52", 
               schema = schema_name, 
               db = database,
               user = role)

# Fermeture de la connexion à la base de données
DBI::dbDisconnect(connexion)