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 requestsdeffetch(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 seulprint('-----------------------------------')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âtimentsprint('-----------------------------------')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"]}")deffetch_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'identifiant 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