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

Détails orographiques

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

Création de la table en base

datalibaba::poster_data(data = detail_orographique, 
                        table = "n_bdt_detail_orographique_p_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_detail_orographique_p_r52
    IS 'Détail ou espace dont le nom se rapporte à l''orographique. (Publiée le {date_now})';")

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

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

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

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

Lieux dits non habités

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

Création de la table en base

datalibaba::poster_data(data = lieu_dit_non_habite, 
                        table = "n_bdt_lieu_dit_non_habite_p_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_lieu_dit_non_habite_p_r52
    IS 'Lieu-dit non habité caractérisé par un nom.. (Publiée le {date_now})';")

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

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

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


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

Toponymie

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

Création de la table en base

datalibaba::poster_data(data = toponymie, 
                        table = "n_bdt_toponymie_p_r52", 
                        schema = schema_name, 
                        db = database,
                        pk = NULL, 
                        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_toponymie_p_r52
    IS 'Toponyme de nature diverse, désignant un bâtiment administratif, ou bien une école, un détail religieux, un établissement de santé…etc. Voir les valeurs de l’attribut NATURE. (Publiée le {date_now})';")

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

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

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

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

Zones d’habitation

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

Création de la table en base

datalibaba::poster_data(data = zone_d_habitation, 
                        table = "n_bdt_zone_d_habitation_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_habitation_s_r52
    IS 'Désignation d’un lieu-dit habité caractérisé par un nom. (Publiée le {date_now})';")

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

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

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

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