Makina Blog
Cartographie Web 3D - possibilités techniques en logiciels libres
Au début, les cartes sur le web étaient planes. Puis, avec de plus en plus de données (imagerie satellitaire, MNT, etc), vint la 3D.
L’essor de la cartographie web a été rendu possible grâce à une conceptualisation simple : une terre plate et carré. On peut la découper en tuiles en fonction du niveau de zoom, cela facilite les transferts et la réactivité de l’affichage sur le web.
La terre, tuiles de niveaux de zoom 0 et 1.
Dans le cadre d’une représentation 3D il y deux types de choses que l’on peut souhaiter voir :
- l’élévation du terrain,
- les différents éléments du paysage, et notamment les constructions.
Le terrain
Les Modèles Numériques de Terrain (MNT) sont des grilles de points avec pour chacun une altitude. Il s’agit donc de données 2,5D. Cela fait qu'on ne peut pas, par exemple, représenter une grotte.
Depuis ces données il est possible de calculer des courbes de niveaux, des ombrages ou encore un modèle 3D pour y appliquer une texture de photographie aérienne ou de carte (drapage 3D).
Illustrations ci-dessous: MNT BD ALTI® brut pour l'île de la Réunion (à gauche), puis les courbes de niveau et les ombrages (au centre et à droite), calculés avec GDAL. L'outil est accessible en ligne de commandes et aussi depuis QGis.
Un autre exemple de modèle 2,5D rendu sous QGis avec le plugin Qgis2threejs.
Sur le web c’est notamment avec la bibliothèque 3D three.js que ces représentations sont faites.
Exemple :
Les données d’élévation proviennent surtout d’agences publiques. À l’échelle de la France on va pouvoir utiliser la BD ALTI® de l’IGN avec une résolution horizontale de 75m ou encore les données au niveau Européen de Copernicus Land Monitoring avec une résolution de 30m. Il existe également une multitude de jeux de données plus détaillés qui sont diffusés par les collectivités locales. Au niveau mondial, la NASA produit le jeu de données STRM (résolution de 30m à l'équateur) depuis les navettes spatiales. ALOS, source plus récente produite par l'Agence Spatiale Japonaise et à résolution aussi de 30m, est également en libre accès.
Le bâti à grande échelle
Sur une grande zone de la taille d’un pays, il n’est pas encore possible aujourd’hui d’avoir des jeux de données de modélisation 3D détaillés pour l’ensemble des bâtiments. [--> Annonce récente de la Suisse] Toutes fois à l’échelle d’une ville c’est possible (voir plus bas pour la photogrammétrie).
Sur de larges étendues la connaissance disponible des bâtiments est l’emprise au sol, parfois l’emprise des étages ou des différentes hauteurs : c’est par exemple le cas du cadastre. Là encore, coordonnées X et Y au sol plus une hauteur, c’est une information de type 2,5D. Le résultat va être de type parallélépipédique extrudé depuis l’emprise au sol. C'est toute fois assez représentatif de la réalité:
Dans le domaine des logiciels libres on va retrouver les bibliothèques web suivantes, utilisant toutes des données OpenStreetMap :
- OpenScienceMap
- OSM Buildings
- ViziCities
- Mapbox
- Tangrams
- F4map (données OpenStreetMap, mais bibliothèque non libre)
Chacune de ces solutions est une bibliothèque JavaScript indépendante. À l’exception de Mapbox GL JS, elles sont des bibliothèques spécifiques à l'affichage des bâtiments et ne sont pas ce qui se fait traditionnellement pour de la cartographie web (OpenLayers, Leaflet). Les tuiles vectorielles contenant des données des bâtiments sont également dans des formats variés. C’est, donc, un domaine qui n’est pas encore standardisé.
Limites de la 2.5 D
Pourtant, tous les types de constructions n'ont pas forcément des formes simples qui puissent être fidèlement représentées par des extrusions:
Ceci n’est pas une pipe. C’est une représentation par extrusion de la Tour Eiffel.
La solution pour pallier à ce problème est de remplacer, lors de la visualisation, les bâtiments en question par de vrais modèles 3D. Ces modèles permettent également d'agrémenter le rendu, par exemple en y ajoutant des textures sur les façades. Une bibliothèque pour les centraliser, 3dmr, essaye d’émerger.
Une autre limite de ce modèle est l’absence de solutions techniques pour avoir à la fois une représentation du terrain et des bâtiments en 2.5D. Terrain ou bâtiments: il faut choisir.
De la 3D, de la vraie 3D
La solution pour avoir à la fois un modèle de terrain et des bâtiments détaillés est de tout basculer sur une bibliothèque faisant l’ensemble de la représentation en 3D.
Première victoire, en 3D, la terre n’est ni carré, ni plate.
Dans ce mode de représentation on continue à avoir des tuiles. Mais cette fois dans des formats qui sont de vrais modèles 3D. On peut donc représenter de simples bâtiments extrudés posés à flanc de colline. Mais on peut également représenter des reconstructions depuis des orthophotographies (souvent disponible à l’échelle d’une ville) ou encore des nuages de points. Des modèles 3D peuvent aussi être ajoutés dans les scènes. Il existe des formats dédiés au web 3D moderne : principalement le glTF.
Voici quelques exemples de cartographie en ligne mettant en place ces techniques:
Le "géoportail" Suisse, avec les batiments ajoutés par dessus un MNT, est un exemple de représentation du terrain et des bâtiments qui n'était pas possible avec la 2,5D (de modèles d'arbres y sont aussi présents).
Gérone reconstruit depuis des photographies, est un exemple des possibilités offertes par la photogrammétrie.
On trouve plusieurs bibliothèques web, serveurs et outils orientés à la production de tuiles 3D :
Ici, un format de tuiles 3D a émergé, les « 3D Tiles », et fait partie des standards communautaires de l’OGC. Cesium et iTowns supportent ce format.
Conclusion
Le choix des technologies permet donc des rendus de type différents pour des usages et un réalisme différents. Vous souhaitez avoir des cartes plus parlantes ou des vues plus immersives avec de la 3D? Nous pouvons vous aider alors n'hésitez pas à nous contacter!
Formations associées
Formations SIG / Cartographie
Formation QGIS
À distance (FOAD) Du 2 au 6 décembre 2024
Voir la formationFormations Outils et bases de données
Formation PostgreSQL
À distance (FOAD) Du 12 au 14 novembre 2024
Voir la formationActualités en lien
Représentation des modèles numériques de terrain sur le web : ombrage et 3D
Les Modèles Numériques de Terrain sont des données représentant la forme du terrain. Sur une carte ces données ajoutent du réalisme. Cet article parcourt les méthodes actuelles pour faire ça sur la cartographie web.
Une randonnée en 3D grâce à BabylonJS ! Partie 1 : Le terrain
Cet article est dédié à l'explication de certains points essentiels dans le code de la première démo de Geotrek 3D. La première partie est consacrée à la manière de créer un terrain tuilé en 3D grâce à BabylonJS.