LogoLogo
Site du RNBGithub
  • Documentation du Référentiel National du Bâtiment (RNB)
  • API et Outils
    • 🛍️Liste des API et outils du RNB
    • 🗺️Tuiles vectorielles
    • 🏨API Bâtiments
      • Consultation d'un bâtiment
      • Listing de bâtiments
      • Identification de bâtiment
      • Différentiel entre deux dates
      • Éditer le RNB
        • Guide d'édition du RNB
    • 🏗️API ADS
    • 🏙️Export national et départemental
    • 🏖️Bac à sable
  • Exemples
    • 🗃️Obtenir des attributs métier à partir d'un identifiant RNB (ID-RNB)
    • 🏪Sélecteur de bâtiments
  • Lexique et définitions
    • 📐Propriétés d'un bâtiment
      • Parcelles cadastrales
  • 📝Lexique du RNB
  • 🪡Cycle de vie de la donnée
  • A propos
    • 🪙Budget
  • 📞Contacter le RNB
Propulsé par GitBook
Sur cette page

Cet article vous a-t-il été utile ?

  1. Exemples

Obtenir des attributs métier à partir d'un identifiant RNB (ID-RNB)

PrécédentBac à sableSuivantSélecteur de bâtiments

Dernière mise à jour il y a 2 mois

Cet article vous a-t-il été utile ?

Vous venez de RNB (ID-RNB) de vos bâtiments et vous souhaitez maintenant de nouveaux attributs.

La (BDNB) contient et est disponible grâce à l'API mise à disposition par le CSTB.

L'API de la BDNB permet d'accéder à ces attributs métiers .

Voici un exemple de script Python permettant d'accéder à quelques informations comme la date de construction, le risque lié aux sols argileux ou les diagnostics de performance énergétique.

import requests


def fetch(rnb_id: str):

    print(f'RNB id : {rnb_id}')

    # Tout d'abord, nous devons récupérer l'attribut batiment_groupe_id pour accéder aux données de la BDNB
    # Par construction, la granularité de la BDNB est le groupe de bâtiments plutôt que le bâtiment seul
    print('-----------------------------------')
    print("Récupération de l'identifiant batiment_groupe_id ...")
    params = {
        'select': 'batiment_groupe_id',
        'limit': 1,
        'rnb_id': f"eq.{rnb_id}"
    }
    r = requests.get(f'https://api.bdnb.io/v1/bdnb/donnees/batiment_construction', params=params)

    data = r.json()
    batiment_groupe_id = data[0]['batiment_groupe_id']
    print(f"batiment_groupe_id : {batiment_groupe_id}")

    # Nous allons maintenant chercher des données métiers sur ce groupe de bâtiments
    print('-----------------------------------')
    print('Récupération des données BDNB ...')

    # Année de construction et matériau des murs
    data = fetch_bdnb_table('batiment_groupe_ffo_bat', batiment_groupe_id)
    print(f"Année de construction : {data[0]["annee_construction"]}")
    print(f"Matériau des murs : {data[0]["mat_mur_txt"]}")

    # Risque de retrait/gonflement des argiles
    data = fetch_bdnb_table('batiment_groupe_argiles', batiment_groupe_id)
    print(f"Risque de retrait/gonflement des argiles : {data[0]["alea"]}")

    # Infos des diagnostics de performance énergétique
    data = fetch_bdnb_table('rel_batiment_groupe_dpe_logement_complet', batiment_groupe_id)
    print(f"Type de chauffage : {data[0]["type_generateur_chauffage"]}")
    print(f"Classe DPE : {data[0]["classe_bilan_dpe"]}")
    print(f"Classe émission GES : {data[0]["classe_emission_ges"]}")


def fetch_bdnb_table(table: str, batiment_groupe_id: str):
    r = requests.get(f'https://api.bdnb.io/v1/bdnb/donnees/{table}',
                     params={'limit': 1,
                             'batiment_groupe_id': f'eq.{batiment_groupe_id}'})

    return r.json()


if __name__ == '__main__':
    fetch("CMM632DPY3PS")
RNB id : CMM632DPY3PS
-----------------------------------
Récupération de l'identifiant batiment_groupe_id ...
batiment_groupe_id : bdnb-bg-XQPC-BTTB-F6ET
-----------------------------------
Récupération des données BDNB ...
Année de construction : 2014
Matériau des murs : BRIQUES
Risque de retrait/gonflement des argiles : Fort
Type de chauffage : pac eau/eau
Classe DPE : A
Classe émission GES : A

Pour aller plus loin :

Ci-dessous, le résultat de l’exécution du script pour l'ID-RNB :

Récupérez les identifiants RNB de vos bâtiments grâce à notre , notre ou en ajoutant à vos outils

Consulter

🗃️
récupérer
les
identifiants
enrichir votre base
Base de Données Nationale des Bâtiments
des centaines d'attributs métiers
à partir d'un identifiant de bâtiment RNB
CMM632DPY3PS
endpoint de listing
endpoint d'identification
un sélecteur de bâtiment
l'ensemble des attributs disponibles dans la BDNB