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

Adresses BAN

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

Création de la table en base

datalibaba::poster_data(data = adresse_ban, 
                        table = "n_bdt_adresse_ban_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_adresse_ban_s_r52
    IS 'Objet matérialisant une adresse postale. (Publiée le {date_now})';")

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

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

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

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

Liens adresse vers BD TOPO

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

Création de la table en base

datalibaba::poster_data(data = lien_adresse_vers_bdtopo, 
                        table = "n_bdt_lien_adresse_vers_bdtopo_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_lien_adresse_vers_bdtopo_s_r52
    IS 'Objet matérialisant une adresse postale. (Publiée le {date_now})';")

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

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

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

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

Voies nommées

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

Création de la table en base

datalibaba::poster_data(data = voie_nommee, 
                        table = "n_bdt_voie_nommee_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_voie_nommee_s_r52
    IS 'Objet matérialisant une adresse postale. (Publiée le {date_now})';")

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

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

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

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