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

Haies

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 <- "haie"
# 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(haie) <- "the_geom"

Création de la table en base

datalibaba::poster_data(data = haie, 
                        table = "n_bdt_haie_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")

# Requête pour ajouter le commentaire sur la table
table_comment <- glue::glue("COMMENT ON TABLE {schema_name}.n_bdt_haie_s_r52
    IS 'Clôture naturelle composée d’arbres, d’arbustes, d’épines ou de branchages et servant à limiter ou à protéger un champ. (Publiée le {date_now})';")

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

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

# Ajouter les commentaires sur les champs
post_dico_attr(dico = dico_batiment, 
               table = "n_bdt_haie_s_r52", 
               schema = schema_name, 
               db = database,
               user = role)
    
# Fermeture de la connexion à la base de données
DBI::dbDisconnect(connexion)

Zones d’estran

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 <- "zone_d_estran"
# 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(zone_d_estran) <- "the_geom"

Création de la table en base

datalibaba::poster_data(data = zone_d_estran, 
                        table = "n_bdt_zone_d_estran_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")

# Requête pour ajouter le commentaire sur la table
table_comment <- glue::glue("COMMENT ON TABLE {schema_name}.n_bdt_zone_d_estran_s_r52
    IS 'Partie du littoral située entre les limites extrêmes des plus hautes et des plus basses marées. (Publiée le {date_now})';")

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

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

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

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

Zones de végétation

Téléchargement des données

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

# Paramètre le nom de la couche
table_name <- "zone_de_vegetation"
# 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(zone_de_vegetation) <- "the_geom"

Création de la table en base

datalibaba::poster_data(data = zone_de_vegetation, 
                        table = "n_bdt_zone_de_vegetation_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")

# Requête pour ajouter le commentaire sur la table
table_comment <- glue::glue("COMMENT ON TABLE {schema_name}.n_bdt_zone_de_vegetation_s_r52
    IS 'Espace végétal naturel ou non,différencié en particulier selon le couvert forestier. (Publiée le {date_now})';")

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

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

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

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