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")
Ci-dessous, le résultat de l’exécution du script pour l'ID-RNB 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