Objectif

L’objectif de cette procédure est de consolider les données PPR récupérées de Géorisques dans une approche SUP (Servitudes d’Utilité Publique) PM1 avec les données PPRN issues de Géorisques (attention :l’API en question est indiquée comme étant obsolète).

Configuration

Chargement des librairies

library(collectr)
library(datalibaba)
library(httr)
library(sf)

Chargement des variables

À faire impérativement : configurer ou vérifier les paramètres du fichier config.yml avant chargement.

Les paramètres suivants sont ensuite récupérés :

  • nom de la base de données
  • nom du schéma de stockage
  • nom du champ sur lequel poser la clé primaire
  • nom du rôle de connection à la base
# Charger le fichier YAML
config <- yaml::read_yaml("../config.yml")

# 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

Chargement des lots de données

Table régionale des PPRN issus des SUP PM1 (GéoPortail de l’Urbanisme)

# Lecture de n_ppr_s_r52
n_ppr_s_r52 <- datalibaba::importer_data(table = "n_sup_pm1_s_r52",
                                         schema = "amenagement_urbanisme",
                                         db = database,
                                         user = role)

Table régionale des documents PPRN (Géorisques)

# Lecture de n_ppr_georisques_s_r52
n_ppr_georisques_s_r52 <- datalibaba::importer_data(table = "n_document_ppr_georisques_s_r52",
                                                    schema = schema_name,
                                                    db = database,
                                                    user = role)

Analyse des tables

Identification des différences entre les tables

# Identification des lignes absentes
lignes_absentes <- dplyr::anti_join(
  as.data.frame(n_ppr_s_r52),
  as.data.frame(n_ppr_georisques_s_r52),
  by = "id_gaspar") |>
  dplyr::select(id_gaspar,
                nom_sup_litt,
                code_alea,
                nom_generateur,
                type_generateur,
                mode_generateur,
                source_generateur,
                date_source_generateur,
                gpu_timestamp,
                the_geom)

Identification des lignes communes aux tables

# Identification des lignes absentes
lignes_communes <- dplyr::inner_join(
  as.data.frame(n_ppr_s_r52),
  as.data.frame(n_ppr_georisques_s_r52),
  by = "id_gaspar") |>
  dplyr::select(id_gaspar,
                nom_sup_litt,
                code_alea,
                nom_generateur,
                type_generateur,
                mode_generateur,
                source_generateur,
                date_source_generateur,
                gpu_timestamp,
                the_geom)