# Documentation BDNB - Base de Données Nationale des Bâtiments ## Vue d'ensemble La Base de Données Nationale des Bâtiments (BDNB) est une base de données géographique exhaustive qui agrège de nombreuses sources sur les bâtiments français : - **Source** : CSTB (Centre Scientifique et Technique du Bâtiment) / ADEME - **Couverture** : Département 03 (Allier) - **Total lignes** : ~6,08 millions de lignes - **Taille totale** : ~1,1 Go - **Format** : CSV avec géométries WKT (Well-Known Text) - **Projection** : EPSG:2154 (Lambert 93) ### Principes de structuration La BDNB s'articule autour de 3 niveaux géographiques : 1. **batiment_groupe** : Groupe de bâtiments (échelle de l'adresse) 2. **batiment_construction** : Bâtiment individuel (empreinte au sol) 3. **parcelle** : Parcelle cadastrale Les données thématiques sont attachées principalement au niveau `batiment_groupe`. --- ## Tables principales ### 1. batiment_groupe.csv ⭐ (Table centrale) **Rôle** : Table pivot contenant les groupes de bâtiments identifiés à l'échelle de l'adresse. **Statistiques** : - Lignes : 271 795 - Taille : 78 Mo - Clé primaire : `batiment_groupe_id` **Colonnes** : ``` geom_groupe Géométrie MULTIPOLYGON en WKT batiment_groupe_id Identifiant unique (ex: bdnb-bg-11HT-AKW6-6RW8) code_departement_insee Code département (03) s_geom_groupe Surface du groupe en m² code_iris Code IRIS INSEE code_commune_insee Code commune INSEE (5 caractères) libelle_commune_insee Nom de la commune code_epci_insee Code EPCI (intercommunalité) contient_fictive_geom_groupe Indicateur de géométrie fictive (0/1) ``` **Exemple** : ``` batiment_groupe_id: bdnb-bg-11HT-AKW6-6RW8 code_commune_insee: 03300 libelle_commune_insee: Vaumas s_geom_groupe: 257 m² ``` **Usage** : Point d'entrée pour toutes les jointures avec les données thématiques. --- ### 2. batiment_construction.csv **Rôle** : Détails sur chaque construction individuelle composant un groupe de bâtiments. **Statistiques** : - Lignes : 405 196 - Taille : 97 Mo - Clé primaire : `batiment_construction_id` - Clé étrangère : `batiment_groupe_id` **Colonnes** : ``` WKT Géométrie MULTIPOLYGON batiment_construction_id Identifiant unique (ex: bdnb-bc-CK5L-44YF-S14M) batiment_groupe_id Lien vers batiment_groupe code_departement_insee Code département code_iris Code IRIS code_commune_insee Code commune s_geom_cstr Surface de construction en m² hauteur Hauteur du bâtiment en mètres altitude_sol Altitude du sol en mètres fictive_geom_cstr Indicateur de géométrie fictive ``` **Relation** : 1 batiment_groupe → N batiment_construction (1,5 constructions par groupe en moyenne) --- ### 3. adresse.csv ⭐ (Lien avec BAN) **Rôle** : Référentiel des adresses issues de la Base Adresse Nationale (BAN). **Statistiques** : - Lignes : 182 132 - Taille : 26 Mo - Clé primaire : `cle_interop_adr` **Colonnes** : ``` WKT Géométrie POINT (coordonnées de l'adresse) cle_interop_adr Clé d'interopérabilité BAN (ex: 03001_0013_00004) code_departement_insee Code département numero Numéro dans la voie rep Répétition (bis, ter, etc.) type_voie Type de voie (rue, avenue, place, etc.) nom_voie Nom de la voie libelle_adresse Adresse complète formatée code_postal Code postal code_commune_insee Code commune INSEE libelle_commune Nom de la commune source Source des données (BAN) ``` **Exemple** : ``` cle_interop_adr: 03001_0013_00004 libelle_adresse: 4 Place des Anciens Combattants 03200 Abrest ``` **Usage** : Jointure avec votre base d'adresses via `cle_interop_adr` ou `libelle_adresse`. --- ### 4. parcelle.csv **Rôle** : Parcelles cadastrales du département. **Statistiques** : - Lignes : 733 568 - Taille : 497 Mo - Clé primaire : `parcelle_id` **Colonnes** : ``` geom_parcelle Géométrie MULTIPOLYGON de la parcelle parcelle_id Identifiant parcelle cadastrale (ex: 03001000ZC0568) code_departement_insee Code département code_commune_insee Code commune s_geom_parcelle Surface de la parcelle en m² ``` **Format parcelle_id** : CODE_COMMUNE (5) + SECTION (3) + NUMERO (4) - Exemple : `03001000ZC0568` → commune 03001, section 000ZC, numéro 0568 --- ## Tables de relations (rel_*) Ces tables établissent les liens many-to-many entre les entités principales. ### rel_batiment_groupe_adresse.csv ⭐ (Lien BAN) **Rôle** : Association entre bâtiments et adresses BAN. **Statistiques** : - Lignes : 209 054 - Taille : 34 Mo **Colonnes** : ``` WKT Géométrie MULTILINESTRING (ligne entre bâtiment et adresse) batiment_groupe_id Référence batiment_groupe cle_interop_adr Référence adresse BAN code_departement_insee Code département classe Classe de relation (non renseigné) lien_valide Validité du lien (1=valide) origine Origine du lien (ex: "Association Geometrique") ``` **Usage critique** : Cette table permet de faire le pont entre vos adresses BAN et les bâtiments BDNB. **Exemple de jointure** : ```sql SELECT bg.*, a.libelle_adresse FROM batiment_groupe bg JOIN rel_batiment_groupe_adresse rel ON bg.batiment_groupe_id = rel.batiment_groupe_id JOIN adresse a ON rel.cle_interop_adr = a.cle_interop_adr WHERE rel.lien_valide = 1 ``` --- ### rel_batiment_groupe_parcelle.csv **Rôle** : Association entre bâtiments et parcelles cadastrales. **Statistiques** : - Lignes : 293 578 - Taille : 13 Mo **Colonnes** : ``` batiment_groupe_id Référence batiment_groupe parcelle_id Référence parcelle cadastrale code_departement_insee Code département parcelle_principale Indicateur de parcelle principale (1=oui, 0=non) ``` **Note** : Un bâtiment peut être à cheval sur plusieurs parcelles. Le flag `parcelle_principale` indique la parcelle principale. --- ### rel_batiment_groupe_dpe_logement.csv **Rôle** : Association entre bâtiments et DPE individuels. **Statistiques** : - Lignes : ~186 000 - Taille : 12 Mo **Colonnes** : ``` batiment_groupe_id Référence batiment_groupe identifiant_dpe Référence vers dpe_logement code_departement_insee Code département fiabilite_rattachement Qualité du rattachement score_rattachement Score de confiance ``` **Usage** : Lier les bâtiments aux DPE détaillés de la table `dpe_logement.csv`. --- ### Autres tables rel_* | Table | Lignes | Rôle | |-------|--------|------| | rel_batiment_construction_adresse.csv | ~620k | Lien constructions ↔ adresses | | rel_batiment_construction_rnb.csv | ~480k | Lien constructions ↔ RNB (référentiel bâtiments) | | rel_batiment_groupe_bdtopo_bat.csv | ~464k | Lien bâtiments ↔ BDTOPO | | rel_batiment_groupe_dvf_open.csv | ~72k | Lien bâtiments ↔ transactions DVF | | rel_batiment_groupe_merimee.csv | ~306k | Lien bâtiments ↔ monuments historiques | | rel_batiment_groupe_proprietaire.csv | ~21k | Lien bâtiments ↔ propriétaires | | rel_batiment_groupe_rnc.csv | ~3,3k | Lien bâtiments ↔ copropriétés | --- ## Tables thématiques ### Données énergétiques #### batiment_groupe_dpe_representatif_logement.csv ⭐ **Rôle** : DPE représentatif agrégé par bâtiment (le plus complet). **Statistiques** : - Lignes : 32 559 - Taille : 27 Mo - **102 colonnes** (très détaillé) **Colonnes principales** : ``` batiment_groupe_id Référence bâtiment identifiant_dpe ID du DPE représentatif arrete_2021 DPE nouvelle méthode (0/1) type_batiment_dpe maison / appartement periode_construction_dpe Période de construction annee_construction_dpe Année de construction nombre_niveau_logement Nombre d'étages du logement nombre_niveau_immeuble Nombre d'étages de l'immeuble surface_habitable_logement Surface habitable en m² conso_5_usages_ep_m2 Consommation énergie primaire (kWh/m²/an) conso_5_usages_ef_m2 Consommation énergie finale (kWh/m²/an) emission_ges_5_usages_m2 Émissions GES (kg CO2/m²/an) classe_bilan_dpe Classe DPE (A à G) classe_emission_ges Classe GES (A à G) # Chauffage type_energie_chauffage Énergie (électricité, gaz, fioul, bois, etc.) type_generateur_chauffage Type de générateur type_installation_chauffage individuel / collectif # Eau chaude sanitaire (ECS) type_energie_ecs Énergie ECS type_generateur_ecs Type de générateur ECS # Isolation type_isolation_mur_exterieur ITI / ITE / non isolé u_mur_exterieur Coefficient U des murs (W/m²K) type_vitrage simple / double / triple vitrage type_materiaux_menuiserie bois / pvc / métal / aluminium type_isolation_plancher_bas Isolation du plancher type_isolation_plancher_haut Isolation du toit # Surfaces surface_mur_exterieur Surface des murs en m² surface_vitree_nord Surface vitrée nord en m² surface_vitree_sud Surface vitrée sud en m² surface_plancher_bas_totale Surface plancher en m² ``` **Couverture** : ~12% des bâtiments ont un DPE représentatif. --- #### batiment_groupe_dpe_statistique_logement.csv **Rôle** : Statistiques agrégées des DPE par bâtiment (plusieurs DPE moyennés). **Statistiques** : - Lignes : ~29k - Taille : 1,9 Mo **Usage** : Complète le DPE représentatif avec des moyennes statistiques. --- #### dpe_logement.csv **Rôle** : DPE individuels détaillés (1 ligne = 1 DPE). **Statistiques** : - Lignes : 69 370 - Taille : 56 Mo - Clé primaire : `identifiant_dpe` **Colonnes** : Identiques à `batiment_groupe_dpe_representatif_logement` mais sans lien direct au bâtiment. **Usage** : Récupérer tous les DPE d'un bâtiment via `rel_batiment_groupe_dpe_logement.csv`. --- #### batiment_groupe_dle_elec_multimillesime.csv **Rôle** : Données Locales de l'Énergie (DLE) - Électricité par année. **Statistiques** : - Lignes : ~10k - Taille : 897 Ko **Colonnes** : ``` batiment_groupe_id Référence bâtiment millesime Année (2018, 2019, 2020, 2021, 2022) nb_pdl_res Nombre de PDL résidentiels nb_pdl_pro Nombre de PDL professionnels nb_pdl_tot Total PDL conso_res Consommation résidentielle (kWh/an) conso_pro Consommation professionnelle (kWh/an) conso_tot Consommation totale (kWh/an) conso_res_par_pdl Consommation moyenne par PDL résidentiel conso_pro_par_pdl Consommation moyenne par PDL professionnel conso_tot_par_pdl Consommation moyenne par PDL ``` **Note** : Données agrégées par bâtiment et par année (5 lignes par bâtiment si données 2018-2022). --- #### batiment_groupe_dle_gaz_multimillesime.csv **Rôle** : Données Locales de l'Énergie (DLE) - Gaz par année. **Statistiques** : - Lignes : ~3k - Taille : 287 Ko **Colonnes** : Identiques à DLE électricité. **Couverture** : Moins de bâtiments (gaz moins répandu que l'électricité). --- #### batiment_groupe_dle_reseaux_multimillesime.csv **Rôle** : DLE - Réseaux de chaleur/froid. **Statistiques** : - Lignes : ~30 - Taille : 3 Ko **Note** : Très peu de données (réseau de chaleur peu développé dans l'Allier). --- ### Données immobilières #### batiment_groupe_dvf_open_representatif.csv ⭐ **Rôle** : Transactions immobilières représentatives par bâtiment (DVF = Demandes de Valeurs Foncières). **Statistiques** : - Lignes : 52 666 - Taille : 5,5 Mo **Colonnes** : ``` batiment_groupe_id Référence bâtiment id_opendata ID transaction DVF valeur_fonciere Prix de vente en euros date_mutation Date de la transaction nb_locaux_mutee_mutation Nombre de locaux vendus nb_maison_mutee_mutation Nombre de maisons vendues nb_appartement_mutee_mutation Nombre d'appartements vendus nb_dependance_mutee_mutation Nombre de dépendances vendues nb_locaux_tertiaire_mutee_mutation Nombre de locaux tertiaires vendus surface_bati_mutee_residencielle_individuelle Surface maisons vendues (m²) surface_bati_mutee_residencielle_collective Surface appartements vendus (m²) surface_bati_mutee_dependance Surface dépendances vendues (m²) surface_bati_mutee_tertiaire Surface tertiaire vendue (m²) surface_terrain_mutee Surface terrain vendue (m²) nb_piece_principale Nombre de pièces principales prix_m2_local Prix au m² du bâti (€/m²) prix_m2_terrain Prix au m² du terrain (€/m²) ``` **Exemple** : ``` valeur_fonciere: 88000 € date_mutation: 2021/02/11 nb_maison: 1 surface_bati: 86 m² prix_m2_local: 1023 €/m² ``` **Période** : Transactions depuis 2014. --- #### batiment_groupe_dvf_open_statistique.csv **Rôle** : Statistiques DVF agrégées par bâtiment. **Statistiques** : - Lignes : ~46k - Taille : 4,8 Mo **Usage** : Moyenne des prix sur plusieurs transactions. --- ### Données copropriété #### batiment_groupe_rnc.csv ⭐ **Rôle** : Registre National des Copropriétés (RNC). **Statistiques** : - Lignes : 2 065 - Taille : 261 Ko **Colonnes** : ``` batiment_groupe_id Référence bâtiment numero_immat_principal Numéro d'immatriculation copropriété periode_construction_max Période de construction l_annee_construction Liste des années de construction [JSON] nb_lot_garpark Nombre de lots garages/parkings nb_lot_tot Nombre total de lots nb_log Nombre de logements nb_lot_tertiaire Nombre de lots tertiaires l_nom_copro Liste des noms de copropriété [JSON] l_siret Liste des SIRET syndics [JSON] copro_dans_pvd Copropriété en plan de sauvegarde (0/1) ``` **Exemple** : ``` numero_immat: AH0968750 nb_log: 2 nb_lot_tot: 6 nb_lot_garpark: 0 l_nom_copro: ["25-27 rue du Vert Galant"] ``` **Couverture** : ~0,76% des bâtiments (seules les copropriétés). --- ### Données propriétaires #### proprietaire.csv **Rôle** : Propriétaires personnes morales (bailleurs sociaux, entreprises, etc.). **Statistiques** : - Lignes : 9 252 - Taille : 634 Ko **Colonnes** : ``` personne_id Identifiant propriétaire siren SIREN de l'entreprise code_departement_insee Code département forme_juridique SA, SAS, SARL, etc. denomination Nom de l'entreprise code_postal Code postal du siège libelle_commune Commune du siège dans_majic_pm Présent dans MAJIC (1/0) nb_locaux_open Nombre de locaux possédés ``` **Exemple** : ``` siren: 552046484 denomination: CDC HABITAT SOCIAL SOCIETE ANONYME D'HABITATIONS A LOYER MOD forme_juridique: SA nb_locaux_open: 1491 ``` **Note** : Uniquement les personnes morales (pas les particuliers). --- ### Données logements sociaux #### batiment_groupe_rpls.csv **Rôle** : Répertoire des Logements Locatifs des bailleurs Sociaux (RPLS). **Statistiques** : - Lignes : ~4,5k - Taille : 297 Ko **Colonnes** : ``` batiment_groupe_id Référence bâtiment rpls_open Présence dans RPLS (1) nb_classe_ener_a/b/c/d/e/f/g Nombre de logements par classe DPE classe_ener_principale Classe énergétique majoritaire nb_classe_ges_a/b/c/d/e/f/g Nombre de logements par classe GES classe_ges_principale Classe GES majoritaire accessible_pmr Accessible PMR (0/1) dans_qpv Dans QPV (0/1) l_annee_construction Années de construction [JSON] nb_log Nombre de logements s_log_hab Surface habitable totale (m²) type_construction Individuel / Collectif [JSON] ``` **Couverture** : Uniquement logements sociaux (~1,7% des bâtiments). --- ### Données géographiques et référentiels #### batiment_groupe_adresse.csv ⭐ **Rôle** : Synthèse des adresses principales par bâtiment. **Statistiques** : - Lignes : 180 907 - Taille : 29 Mo **Colonnes** : ``` batiment_groupe_id Référence bâtiment cle_interop_adr_principale_ban Clé BAN de l'adresse principale libelle_adr_principale_ban Libellé complet de l'adresse principale nb_adresse_valid_ban Nombre d'adresses valides BAN fiabilite_cr_adr_niv_1 Niveau 1 de fiabilité fiabilite_cr_adr_niv_2 Niveau 2 de fiabilité ``` **Exemple** : ``` batiment_groupe_id: bdnb-bg-11HT-AKW6-6RW8 cle_interop_adr_principale_ban: 03300_b144_00009 libelle_adr_principale_ban: 9 Les Jeandurets Hauts 03220 Vaumas fiabilite_cr_adr_niv_1: données croisées à l'adresse fiables fiabilite_cr_adr_niv_2: batiment sans voisin à l'adresse ``` **Usage** : Accès rapide à l'adresse principale sans passer par rel_*. --- #### batiment_groupe_bdtopo_bat.csv **Rôle** : Données BDTOPO (IGN) sur les bâtiments. **Statistiques** : - Lignes : ~463k - Taille : 30 Mo **Colonnes** : ``` batiment_groupe_id Référence bâtiment l_nature Liste des natures [JSON]: Indifférenciée, Religieux, etc. l_usage_1 Liste des usages principaux [JSON]: Résidentiel, Commercial, etc. l_usage_2 Liste des usages secondaires [JSON] l_etat État [JSON]: En service, En construction, etc. hauteur_mean Hauteur moyenne en mètres max_hauteur Hauteur maximale en mètres altitude_sol_mean Altitude moyenne du sol en mètres ``` **Note** : Source de référence IGN pour les hauteurs et usages. --- #### adresse_metrique.csv **Rôle** : Métrique complémentaire sur les adresses (distances, etc.). **Statistiques** : - Lignes : ~51k - Taille : 3,5 Mo --- ### Données environnementales et risques #### batiment_groupe_argiles.csv **Rôle** : Aléa retrait-gonflement des argiles (risque sécheresse). **Statistiques** : - Lignes : ~129k - Taille : 7,8 Mo **Colonnes** : ``` batiment_groupe_id Référence bâtiment alea Niveau d'aléa : Faible / Moyen / Fort ``` **Usage** : Identifier les bâtiments à risque sécheresse/fissures. --- #### batiment_groupe_radon.csv **Rôle** : Aléa radon (gaz radioactif naturel). **Statistiques** : - Lignes : ~146k - Taille : 8,8 Mo **Colonnes** : ``` batiment_groupe_id Référence bâtiment alea Niveau d'aléa : Faible / Moyen / Fort ``` --- #### batiment_groupe_qpv.csv **Rôle** : Quartiers Prioritaires de la politique de la Ville (QPV). **Statistiques** : - Lignes : ~1,2k - Taille : 73 Ko **Colonnes** : ``` batiment_groupe_id Référence bâtiment nom_quartier Nom du QPV ``` **Exemple** : "Coeur D'Agglo" --- ### Données patrimoniales #### batiment_groupe_merimee.csv **Rôle** : Distance aux monuments historiques (base Mérimée). **Statistiques** : - Lignes : ~54k - Taille : 3,3 Mo **Colonnes** : ``` batiment_groupe_id Référence bâtiment distance_batiment_historique_plus_proche Distance en mètres nom_batiment_historique_plus_proche Nom du monument ``` **Exemple** : ``` distance: 334 mètres nom: Eglise Saint-Pierre ``` --- ### Données équipements #### batiment_groupe_bpe.csv **Rôle** : Base Permanente des Équipements (BPE) - Équipements publics. **Statistiques** : - Lignes : ~2,6k - Taille : 171 Ko **Colonnes** : ``` batiment_groupe_id Référence bâtiment typequ Type d'équipement (code) ``` **Usage** : Identifier écoles, mairies, hôpitaux, etc. --- #### batiment_groupe_hthd.csv **Rôle** : Très Haut Débit (fibre optique). **Statistiques** : - Lignes : ~126k - Taille : 7,6 Mo **Colonnes** : ``` batiment_groupe_id Référence bâtiment nb_pdl Nombre de points de livraison fibre l_type_pdl Types de PDL [JSON]: "PA" (Point d'Accueil), "IM" (Immeuble), etc. l_nom_pdl Noms des PDL [JSON] ``` **Usage** : Éligibilité fibre optique. --- ### Données construction #### sitadel.csv **Rôle** : Permis de construire et autorisations d'urbanisme (SITADEL). **Statistiques** : - Lignes : ~50k - Taille : 4,1 Mo **Colonnes principales** : ``` type_numero_dau Type et numéro du dossier (DP, PC, etc.) date_reelle_autorisation Date d'autorisation etat_avancement_projet Autorisé, En cours, Achevé, etc. nature_projet extension, construction neuve, etc. destination_principale résidentiel, non résidentiel nb_log_tot_crees Nombre de logements créés nb_log_demolis Nombre de logements démolis s_hab_creee Surface habitable créée (m²) s_hab_demolie Surface habitable démolie (m²) type_princip_logts_crees individuel, collectif ``` **Usage** : Projets en cours et constructions récentes. --- #### parcelle_sitadel.csv + rel_parcelle_sitadel.csv **Rôle** : Lien entre parcelles cadastrales et permis de construire. **Statistiques** : - parcelle_sitadel.csv : ~29k lignes, 2,4 Mo - rel_parcelle_sitadel.csv : ~15k lignes, 937 Ko --- ### Autres tables thématiques | Table | Lignes | Taille | Description | |-------|--------|--------|-------------| | batiment_groupe_geospx.csv | ~182k | 11 Mo | Données géo-prospective | | batiment_groupe_ffo_bat.csv | ~206k | 13 Mo | Fichiers fonciers ouverts | | batiment_groupe_bdtopo_equ.csv | ~60 | 4 Ko | Équipements BDTOPO | | batiment_groupe_bdtopo_zoac.csv | ~8,6k | 553 Ko | Zones d'activité BDTOPO | | batiment_groupe_synthese_propriete_usage.csv | ~214k | 13 Mo | Synthèse propriété/usage | | batiment_groupe_indicateur_reseau_chaud_froid.csv | ~2k | 121 Ko | Réseaux de chaleur/froid | --- ## Schéma des relations entre tables ``` ┌─────────────────────┐ │ batiment_groupe │ ⭐ TABLE CENTRALE │ (271k lignes) │ └──────────┬──────────┘ │ ┌─────────────────────────┼─────────────────────────┐ │ │ │ ┌───────────▼──────────┐ ┌──────────▼─────────┐ ┌──────────▼─────────┐ │ batiment_construction│ │ batiment_groupe_ │ │ rel_batiment_ │ │ (405k) │ │ adresse (181k) │ │ groupe_adresse │ └──────────────────────┘ └────────────────────┘ │ (209k) │ └──────────┬─────────┘ │ ┌──────────▼─────────┐ │ adresse │ ⭐ BAN │ (182k) │ └────────────────────┘ ┌─────────────────────────┐ │ rel_batiment_groupe_ │ │ parcelle (294k) │ └───────────┬─────────────┘ │ ┌───────────▼──────────┐ │ parcelle │ │ (734k) │ └──────────────────────┘ DONNÉES ÉNERGÉTIQUES DONNÉES IMMOBILIÈRES ┌──────────────────────┐ ┌──────────────────────┐ │ bg_dpe_representatif │ ⭐ │ bg_dvf_open_repr. │ ⭐ │ (32k) │ │ (53k) │ └──────────────────────┘ └──────────────────────┘ ┌──────────────────────┐ ┌──────────────────────┐ │ bg_dle_elec_multi. │ │ bg_dvf_open_stat. │ │ (10k) │ │ (46k) │ └──────────────────────┘ └──────────────────────┘ ┌──────────────────────┐ ┌──────────────────────┐ │ bg_dle_gaz_multi. │ │ proprietaire │ │ (3k) │ │ (9k) │ └──────────────────────┘ └──────────────────────┘ ┌──────────────────────┐ │ dpe_logement │ │ (69k) │ └──────────────────────┘ COPROPRIÉTÉ / SOCIAL RISQUES / ENVIRONNEMENT ┌──────────────────────┐ ┌──────────────────────┐ │ bg_rnc (2k) │ ⭐ │ bg_argiles (129k) │ └──────────────────────┘ └──────────────────────┘ ┌──────────────────────┐ ┌──────────────────────┐ │ bg_rpls (4,5k) │ │ bg_radon (146k) │ └──────────────────────┘ └──────────────────────┘ ┌──────────────────────┐ │ bg_qpv (1,2k) │ └──────────────────────┘ GÉORÉFÉRENCEMENT PATRIMOINE / ÉQUIPEMENTS ┌──────────────────────┐ ┌──────────────────────┐ │ bg_bdtopo_bat (463k) │ │ bg_merimee (54k) │ └──────────────────────┘ └──────────────────────┘ ┌──────────────────────┐ ┌──────────────────────┐ │ bg_hthd (126k) │ │ bg_bpe (2,6k) │ └──────────────────────┘ └──────────────────────┘ CONSTRUCTION / URBANISME ┌──────────────────────┐ │ sitadel (50k) │ └──────────────────────┘ ``` **Légende** : - ⭐ : Tables prioritaires - bg_* : Préfixe "batiment_groupe" - Toutes les tables thématiques se lient via `batiment_groupe_id` --- ## Exemples de requêtes SQL ### 1. Récupérer les bâtiments d'une commune avec adresses ```sql SELECT bg.batiment_groupe_id, bg.code_commune_insee, bg.libelle_commune_insee, bg.s_geom_groupe, bga.libelle_adr_principale_ban, bga.cle_interop_adr_principale_ban FROM batiment_groupe bg LEFT JOIN batiment_groupe_adresse bga ON bg.batiment_groupe_id = bga.batiment_groupe_id WHERE bg.code_commune_insee = '03185' -- Montluçon ORDER BY bga.libelle_adr_principale_ban; ``` --- ### 2. Joindre avec votre base d'adresses BAN ```sql -- Si vous avez une table "mes_adresses" avec la colonne "ban_id" SELECT ma.id AS mon_adresse_id, ma.adresse, bg.batiment_groupe_id, bg.s_geom_groupe, bg.code_commune_insee FROM mes_adresses ma JOIN rel_batiment_groupe_adresse rel ON ma.ban_id = rel.cle_interop_adr JOIN batiment_groupe bg ON rel.batiment_groupe_id = bg.batiment_groupe_id WHERE rel.lien_valide = 1; ``` --- ### 3. Récupérer les données énergétiques complètes ```sql SELECT bg.batiment_groupe_id, bg.code_commune_insee, bg.libelle_commune_insee, bga.libelle_adr_principale_ban, -- DPE représentatif dpe.classe_bilan_dpe, dpe.classe_emission_ges, dpe.conso_5_usages_ep_m2, dpe.type_energie_chauffage, dpe.type_generateur_chauffage, dpe.surface_habitable_logement, dpe.nombre_niveau_immeuble, -- DLE électricité (dernière année) dle_elec.millesime AS millesime_elec, dle_elec.nb_pdl_tot AS nb_compteurs_elec, dle_elec.conso_tot AS conso_elec_kwh, -- DLE gaz (dernière année) dle_gaz.nb_pdl_tot AS nb_compteurs_gaz, dle_gaz.conso_tot AS conso_gaz_kwh FROM batiment_groupe bg LEFT JOIN batiment_groupe_adresse bga ON bg.batiment_groupe_id = bga.batiment_groupe_id LEFT JOIN batiment_groupe_dpe_representatif_logement dpe ON bg.batiment_groupe_id = dpe.batiment_groupe_id LEFT JOIN batiment_groupe_dle_elec_multimillesime dle_elec ON bg.batiment_groupe_id = dle_elec.batiment_groupe_id AND dle_elec.millesime = '2022' LEFT JOIN batiment_groupe_dle_gaz_multimillesime dle_gaz ON bg.batiment_groupe_id = dle_gaz.batiment_groupe_id AND dle_gaz.millesime = '2022' WHERE bg.code_commune_insee = '03185' ORDER BY bga.libelle_adr_principale_ban; ``` --- ### 4. Bâtiments avec copropriété (RNC) ```sql SELECT bg.batiment_groupe_id, bga.libelle_adr_principale_ban, rnc.numero_immat_principal, rnc.nb_log AS nb_logements, rnc.nb_lot_tot AS nb_lots_total, rnc.nb_lot_garpark AS nb_parkings, rnc.l_nom_copro AS noms_copro, rnc.copro_dans_pvd AS plan_sauvegarde FROM batiment_groupe bg JOIN batiment_groupe_rnc rnc ON bg.batiment_groupe_id = rnc.batiment_groupe_id LEFT JOIN batiment_groupe_adresse bga ON bg.batiment_groupe_id = bga.batiment_groupe_id ORDER BY rnc.nb_log DESC; ``` --- ### 5. Transactions immobilières récentes ```sql SELECT bg.batiment_groupe_id, bga.libelle_adr_principale_ban, dvf.valeur_fonciere, dvf.date_mutation, dvf.nb_maison_mutee_mutation + dvf.nb_appartement_mutee_mutation AS nb_biens_vendus, dvf.surface_bati_mutee_residencielle_individuelle + dvf.surface_bati_mutee_residencielle_collective AS surface_totale_m2, dvf.prix_m2_local, dvf.prix_m2_terrain FROM batiment_groupe bg JOIN batiment_groupe_dvf_open_representatif dvf ON bg.batiment_groupe_id = dvf.batiment_groupe_id LEFT JOIN batiment_groupe_adresse bga ON bg.batiment_groupe_id = bga.batiment_groupe_id WHERE dvf.date_mutation >= '2020-01-01' ORDER BY dvf.date_mutation DESC; ``` --- ### 6. Bâtiments à risque environnemental élevé ```sql SELECT bg.batiment_groupe_id, bg.code_commune_insee, bg.libelle_commune_insee, bga.libelle_adr_principale_ban, argile.alea AS alea_argile, radon.alea AS alea_radon FROM batiment_groupe bg LEFT JOIN batiment_groupe_adresse bga ON bg.batiment_groupe_id = bga.batiment_groupe_id LEFT JOIN batiment_groupe_argiles argile ON bg.batiment_groupe_id = argile.batiment_groupe_id LEFT JOIN batiment_groupe_radon radon ON bg.batiment_groupe_id = radon.batiment_groupe_id WHERE argile.alea = 'Fort' OR radon.alea = 'Fort' ORDER BY bg.code_commune_insee; ``` --- ### 7. Logements sociaux avec DPE ```sql SELECT bg.batiment_groupe_id, bga.libelle_adr_principale_ban, rpls.nb_log AS nb_logements_sociaux, rpls.s_log_hab AS surface_habitable_totale, rpls.classe_ener_principale, rpls.classe_ges_principale, rpls.accessible_pmr, rpls.dans_qpv, rpls.l_annee_construction FROM batiment_groupe bg JOIN batiment_groupe_rpls rpls ON bg.batiment_groupe_id = rpls.batiment_groupe_id LEFT JOIN batiment_groupe_adresse bga ON bg.batiment_groupe_id = bga.batiment_groupe_id WHERE rpls.rpls_open = 1 ORDER BY rpls.nb_log DESC; ``` --- ### 8. Bâtiments près d'un monument historique ```sql SELECT bg.batiment_groupe_id, bga.libelle_adr_principale_ban, merimee.distance_batiment_historique_plus_proche AS distance_m, merimee.nom_batiment_historique_plus_proche AS monument FROM batiment_groupe bg JOIN batiment_groupe_merimee merimee ON bg.batiment_groupe_id = merimee.batiment_groupe_id LEFT JOIN batiment_groupe_adresse bga ON bg.batiment_groupe_id = bga.batiment_groupe_id WHERE merimee.distance_batiment_historique_plus_proche < 100 ORDER BY merimee.distance_batiment_historique_plus_proche; ``` --- ### 9. Vue complète d'un bâtiment ```sql -- Vue exhaustive d'un bâtiment avec toutes les données disponibles SELECT -- Identifiants bg.batiment_groupe_id, bg.code_commune_insee, bg.libelle_commune_insee, bg.code_iris, bg.s_geom_groupe AS surface_m2, -- Adresse bga.libelle_adr_principale_ban, bga.cle_interop_adr_principale_ban, -- DPE dpe.classe_bilan_dpe, dpe.classe_emission_ges, dpe.conso_5_usages_ep_m2, dpe.type_energie_chauffage, dpe.surface_habitable_logement, -- DVF (dernière transaction) dvf.valeur_fonciere, dvf.date_mutation, dvf.prix_m2_local, -- RNC (si copropriété) rnc.numero_immat_principal, rnc.nb_log AS nb_lots_copro, -- Risques argile.alea AS risque_argile, radon.alea AS risque_radon, qpv.nom_quartier AS quartier_prioritaire, -- Patrimoine merimee.distance_batiment_historique_plus_proche AS distance_mh_m, merimee.nom_batiment_historique_plus_proche AS monument_proche, -- Fibre hthd.nb_pdl AS nb_pdl_fibre, -- BDTOPO bdtopo.hauteur_mean AS hauteur_moyenne_m, bdtopo.l_usage_1 AS usages_principaux FROM batiment_groupe bg LEFT JOIN batiment_groupe_adresse bga ON bg.batiment_groupe_id = bga.batiment_groupe_id LEFT JOIN batiment_groupe_dpe_representatif_logement dpe ON bg.batiment_groupe_id = dpe.batiment_groupe_id LEFT JOIN batiment_groupe_dvf_open_representatif dvf ON bg.batiment_groupe_id = dvf.batiment_groupe_id LEFT JOIN batiment_groupe_rnc rnc ON bg.batiment_groupe_id = rnc.batiment_groupe_id LEFT JOIN batiment_groupe_argiles argile ON bg.batiment_groupe_id = argile.batiment_groupe_id LEFT JOIN batiment_groupe_radon radon ON bg.batiment_groupe_id = radon.batiment_groupe_id LEFT JOIN batiment_groupe_qpv qpv ON bg.batiment_groupe_id = qpv.batiment_groupe_id LEFT JOIN batiment_groupe_merimee merimee ON bg.batiment_groupe_id = merimee.batiment_groupe_id LEFT JOIN batiment_groupe_hthd hthd ON bg.batiment_groupe_id = hthd.batiment_groupe_id LEFT JOIN batiment_groupe_bdtopo_bat bdtopo ON bg.batiment_groupe_id = bdtopo.batiment_groupe_id WHERE bg.batiment_groupe_id = 'bdnb-bg-11HT-AKW6-6RW8'; ``` --- ## Statistiques de couverture | Donnée | Table | Couverture | |--------|-------|------------| | Adresse BAN | batiment_groupe_adresse | 66,5% (181k/272k) | | DPE représentatif | bg_dpe_representatif | 12,0% (32k/272k) | | DLE électricité | bg_dle_elec | 3,7% (10k/272k) | | DLE gaz | bg_dle_gaz | 1,1% (3k/272k) | | DVF transactions | bg_dvf_open_repr | 19,4% (53k/272k) | | Copropriété RNC | bg_rnc | 0,76% (2k/272k) | | Logement social RPLS | bg_rpls | 1,7% (4,5k/272k) | | Risque argiles | bg_argiles | 47,5% (129k/272k) | | Risque radon | bg_radon | 53,7% (146k/272k) | | QPV | bg_qpv | 0,44% (1,2k/272k) | | Monuments historiques | bg_merimee | 19,9% (54k/272k) | | Fibre HTHD | bg_hthd | 46,4% (126k/272k) | | BDTOPO | bg_bdtopo_bat | 170,4% (463k/272k)* | *\* Plus de 100% car plusieurs entrées BDTOPO par bâtiment* --- ## Notes importantes ### Format des identifiants - **batiment_groupe_id** : `bdnb-bg-XXXX-XXXX-XXXX` (ex: bdnb-bg-11HT-AKW6-6RW8) - **batiment_construction_id** : `bdnb-bc-XXXX-XXXX-XXXX` - **parcelle_id** : Format cadastral `CCCCCSSSNNNNN` (C=commune, S=section, N=numéro) - **cle_interop_adr** : Format BAN `CCCCC_XXXX_NNNNN` (C=commune, X=identifiant, N=numéro) ### Géométries - **Format** : WKT (Well-Known Text) - **Projection** : EPSG:2154 (Lambert 93) - **Types** : - `POINT` : Adresses - `MULTIPOLYGON` : Bâtiments, parcelles - `MULTILINESTRING` : Relations spatiales ### Colonnes JSON (listes) Certaines colonnes contiennent des listes au format JSON : ``` l_annee_construction: [ "1850", "1900" ] l_nom_copro: [ "25-27 rue du Vert Galant" ] l_usage_1: [ "Résidentiel", "Annexe" ] ``` Pour les exploiter en SQL (PostgreSQL) : ```sql SELECT batiment_groupe_id, jsonb_array_elements_text(l_annee_construction::jsonb) AS annee FROM batiment_groupe_rnc; ``` --- ## Cas d'usage typiques ### 1. Enrichir une base d'adresses avec données bâtiment **Objectif** : Ajouter DPE, surface, nombre de logements à vos adresses. **Tables nécessaires** : - `adresse.csv` (BAN) - `rel_batiment_groupe_adresse.csv` - `batiment_groupe.csv` - `batiment_groupe_dpe_representatif_logement.csv` - `batiment_groupe_rnc.csv` (si copropriété) **Jointure** : ``` mes_adresses.ban_id → rel_batiment_groupe_adresse.cle_interop_adr → batiment_groupe.batiment_groupe_id → données thématiques ``` --- ### 2. Cartographie des passoires thermiques **Objectif** : Identifier les bâtiments avec DPE F ou G. **Tables nécessaires** : - `batiment_groupe.csv` - `batiment_groupe_dpe_representatif_logement.csv` - `batiment_groupe_adresse.csv` **Filtre** : ```sql WHERE dpe.classe_bilan_dpe IN ('F', 'G') ``` --- ### 3. Analyse du marché immobilier **Objectif** : Prix au m² par commune, période, type de bien. **Tables nécessaires** : - `batiment_groupe.csv` - `batiment_groupe_dvf_open_representatif.csv` - `batiment_groupe_dvf_open_statistique.csv` **Agrégation** : ```sql SELECT bg.code_commune_insee, bg.libelle_commune_insee, EXTRACT(YEAR FROM dvf.date_mutation) AS annee, AVG(dvf.prix_m2_local) AS prix_moyen_m2, COUNT(*) AS nb_transactions FROM batiment_groupe bg JOIN batiment_groupe_dvf_open_representatif dvf ON bg.batiment_groupe_id = dvf.batiment_groupe_id GROUP BY bg.code_commune_insee, bg.libelle_commune_insee, annee ORDER BY annee DESC, prix_moyen_m2 DESC; ``` --- ### 4. Audit copropriétés (loi ALUR) **Objectif** : Lister les copropriétés avec nombre de lots, logements, statut. **Tables nécessaires** : - `batiment_groupe.csv` - `batiment_groupe_rnc.csv` - `batiment_groupe_adresse.csv` - `batiment_groupe_dpe_representatif_logement.csv` (optionnel) **Champs clés** : - `numero_immat_principal` : Immatriculation copropriété - `nb_log` : Nombre de logements - `nb_lot_tot` : Nombre total de lots - `copro_dans_pvd` : Plan de sauvegarde --- ### 5. Détection bâtiments énergivores **Objectif** : Identifier les bâtiments avec forte consommation énergétique. **Tables nécessaires** : - `batiment_groupe.csv` - `batiment_groupe_dle_elec_multimillesime.csv` - `batiment_groupe_dle_gaz_multimillesime.csv` - `batiment_groupe_rnc.csv` (pour nb_log) **Calcul** : ```sql SELECT bg.batiment_groupe_id, bga.libelle_adr_principale_ban, rnc.nb_log, (COALESCE(elec.conso_tot, 0) + COALESCE(gaz.conso_tot, 0)) AS conso_totale_kwh, (COALESCE(elec.conso_tot, 0) + COALESCE(gaz.conso_tot, 0)) / NULLIF(rnc.nb_log, 0) AS conso_par_logement FROM batiment_groupe bg LEFT JOIN batiment_groupe_adresse bga ON bg.batiment_groupe_id = bga.batiment_groupe_id LEFT JOIN batiment_groupe_rnc rnc ON bg.batiment_groupe_id = rnc.batiment_groupe_id LEFT JOIN batiment_groupe_dle_elec_multimillesime elec ON bg.batiment_groupe_id = elec.batiment_groupe_id AND elec.millesime = '2022' LEFT JOIN batiment_groupe_dle_gaz_multimillesime gaz ON bg.batiment_groupe_id = gaz.batiment_groupe_id AND gaz.millesime = '2022' WHERE rnc.nb_log > 0 ORDER BY conso_par_logement DESC; ``` --- ## Ressources et documentation officielle - **Site BDNB** : https://www.data.gouv.fr/fr/datasets/bdnb/ - **Documentation CSTB** : https://doc-bdnb.cstb.fr/ - **API BDNB** : https://api.bdnb.io/ - **Base Adresse Nationale (BAN)** : https://adresse.data.gouv.fr/ - **DVF (Demandes Valeurs Foncières)** : https://www.data.gouv.fr/fr/datasets/dvf/ --- ## Fichiers CSVT Les fichiers `.csvt` définissent les types de colonnes pour les outils SIG (QGIS, ArcGIS) : - `String` : Texte - `Real` : Nombre décimal - `Integer` : Nombre entier - `Date` : Date Exemple `batiment_groupe.csvt` : ``` String,String,String,Real,String,String,String,String,Integer ``` --- ## Fichiers PRJ Les fichiers `.prj` définissent le système de projection (EPSG:2154 - Lambert 93). --- ## Conclusion La BDNB est une base de données extrêmement riche permettant de croiser : - **Géolocalisation** (adresses BAN, géométries) - **Énergie** (DPE, DLE, consommations) - **Immobilier** (transactions DVF, prix au m²) - **Propriété** (copropriétés RNC, propriétaires, logements sociaux) - **Risques** (argiles, radon, monuments historiques) - **Équipements** (fibre, équipements publics) **Tables prioritaires pour débuter** : 1. `batiment_groupe.csv` (table centrale) 2. `adresse.csv` (référentiel BAN) 3. `rel_batiment_groupe_adresse.csv` (lien bâtiments ↔ adresses) 4. `batiment_groupe_dpe_representatif_logement.csv` (données énergétiques) 5. `batiment_groupe_rnc.csv` (copropriétés et nombre de logements) **Clé de jointure universelle** : `batiment_groupe_id` **Conseil** : Commencez par importer ces 5 tables dans votre base de données, puis ajoutez progressivement les tables thématiques selon vos besoins.