La BD TOPO de l'IGN décrit tout le territoire français, objet par objet : bâtiments, routes, cours d'eau, végétation, limites administratives… Gratuite depuis 2021, elle contient pour chaque bâtiment sa hauteur, ses altitudes et souvent son usage. De quoi construire une carte 3D réaliste d'une ville en quelques lignes de MapLibre, ou calculer des volumes et des densités dans un SIG.
La BD TOPO en bref
- Contenu : une dizaine de thèmes (bâti, transport, hydrographie, administratif, zones d'activité, végétation, services et activités…), avec une précision métrique.
- Mise à jour en continu, avec des éditions régulières.
- Licence Ouverte Etalab 2.0 : réutilisation libre, y compris commerciale, en citant l'IGN.
- Téléchargement par département (GeoPackage, Shapefile) sur cartes.gouv.fr, ou interrogation à la demande par WFS et en tuiles vectorielles.
La couche « batiment »
| Attribut | Contenu |
|---|---|
hauteur | Hauteur en mètres du sol jusqu'au bas du toit (la gouttière) : c'est exactement altitude_minimale_toit − altitude_minimale_sol |
altitude_minimale_sol, altitude_maximale_toit… | Altitudes du sol et du toit (NGF-IGN69) |
nombre_d_etages, nombre_de_logements | Issus des fichiers fonciers, quand l'appariement a réussi |
usage_1, usage_2 | Résidentiel, Commercial et services, Industriel, Agricole, Religieux, Sportif, Annexe… ou Indifférencié |
nature, construction_legere | Type de construction (château, église, serre…), bâtiment léger ou non |
identifiants_rnb | Identifiant du Référentiel national des bâtiments, pour croiser avec d'autres bases |
Toutes les colonnes ne sont pas remplies. Sur un échantillon de 382 bâtiments du centre d'Annecy, la hauteur est connue pour 375, le nombre d'étages pour 166 seulement, et 170 ont un usage « Indifférencié ». Prévoyez une valeur par défaut. Quand la hauteur manque, une estimation à 3 m par étage est l'usage courant.
Accéder aux bâtiments
En tuiles vectorielles : idéal pour la 3D
La Géoplateforme diffuse la BD TOPO en tuiles vectorielles, sans clé, avec tous les attributs du bâti à partir du zoom 15 :
https://data.geopf.fr/tms/1.0.0/BDTOPO/{z}/{x}/{y}.pbf (couche « batiment », zooms 15 à 19)
En WFS : pour récupérer les objets
https://data.geopf.fr/wfs/ows?SERVICE=WFS&VERSION=2.0.0&REQUEST=GetFeature
&TYPENAMES=BDTOPO_V3:batiment&OUTPUTFORMAT=application/json&SRSNAME=EPSG:4326
&BBOX=45.8985,6.1255,45.9015,6.1300,urn:ogc:def:crs:EPSG::4326
Comme pour le cadastre, l'emprise s'écrit latitude d'abord avec ce code de système.
Extruder les bâtiments dans MapLibre
Le type de couche fill-extrusion élève chaque polygone à une hauteur lue dans ses attributs :
map.addSource('bdtopo', {
type: 'vector', minzoom: 15, maxzoom: 19,
tiles: ['https://data.geopf.fr/tms/1.0.0/BDTOPO/{z}/{x}/{y}.pbf'],
attribution: '© IGN – BD TOPO'
});
map.addLayer({
id: 'batiments-3d', type: 'fill-extrusion', source: 'bdtopo', 'source-layer': 'batiment',
minzoom: 15,
paint: {
// Hauteur connue, sinon 3 m par étage, sinon 3 m
'fill-extrusion-height': ['coalesce', ['get', 'hauteur'], ['*', 3, ['get', 'nombre_d_etages']], 3],
'fill-extrusion-base': 0,
'fill-extrusion-color': ['match', ['get', 'usage_1'],
'Résidentiel', '#f2c14e',
'Commercial et services', '#e07a5f',
'Industriel', '#8d99ae',
'Religieux', '#9b5de5',
/* autres */ '#cfd8dc'],
'fill-extrusion-opacity': 0.9
}
});
map.easeTo({ pitch: 60, bearing: -20 }); // inclinaison pour voir le relief des bâtiments
Jusqu'au faîtage. hauteur s'arrête à la gouttière : sur le centre d'Annecy, le point le plus haut du toit est en moyenne 2,8 m plus haut. Pour une silhouette plus fidèle, extrudez jusqu'à ['-', ['get', 'altitude_maximale_toit'], ['get', 'altitude_minimale_sol']] quand ces deux altitudes sont renseignées.
Pour colorer selon la hauteur plutôt que l'usage, remplacez le match par une interpolation : ['interpolate', ['linear'], ['get', 'hauteur'], 0, '#fff3c4', 10, '#f6904c', 30, '#8e1d2c']. Le générateur Palettes et styles de carte produit ce type d'expression.
Analyses classiques
- Volume bâti : emprise au sol × hauteur, sommé par îlot ou par commune.
- Densité : emprise bâtie rapportée à la surface de la parcelle (coefficient d'emprise au sol), à comparer avec le règlement du PLU.
- Ombres et vues : avec les altitudes du sol et du toit, on peut simuler l'ensoleillement ou les co-visibilités.
- Dans QGIS, le rendu « 2,5 D » de la symbologie donne un effet de volume. L'extension Qgis2threejs exporte une vraie scène 3D pour le web, et la vue cartographique 3D intégrée à QGIS extrude directement la couche.
Démonstration
Les bâtiments du centre d'Annecy, extrudés en direct à partir des tuiles vectorielles de la BD TOPO.
À essayer : faites pivoter la vue (clic droit ou Ctrl + glisser), passez de la couleur par usage à la couleur par hauteur, puis cliquez un bâtiment pour lire sa hauteur, ses altitudes et son identifiant RNB. Les bâtiments gris sont d'usage « indifférencié ».
Licences : textes et schémas sous licence CC BY-SA 4.0 (réutilisation libre en citant CartoForge et en partageant à l'identique) ; extraits de code sous licence MIT, à copier librement dans vos projets.
Liens, services et noms de couches vérifiés le 15/10/2026. Un lien cassé ? Signalez-le.