Makina Blog

Le blog Makina-corpus

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.
Une première approche pour passer de la 2D à la 3D consiste en adopter d'abord la 2,5D: à mi-chemin entre les deux, celle-ci permet de représenter en partie la troisième dimension, tout en associant une seule coordonnée z à chaque point (x, y) de l'espace 2D (z correspondant à l'élévation).
 
Ensuite, une représentation est obtenue à partir de l'"extrusion" de la variable z. L'exagération verticale permet de multiplier l'élévation par un facteur (normalement > 1) de façon à obtenir représentations visuelles plus adaptées. L'image suivante présente un MNT en 2,5D avec un facteur d'exagération verticale de 10.0:
 
(Source données: Sicoval, MNT de l'IGN à 20m de résolution avec un fond de plan OSM drappé par-dessus)

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 :

 

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 Leaflet

Toulouse Du 1er au 2 juillet 2024

Voir la formation

Formations SIG / Cartographie

Formation QGIS

Nantes Du 2 au 4 avril 2024

Voir la formation

Formations Outils et bases de données

Formation PostgreSQL

Nantes Du 29 au 31 janvier 2024

Voir la formation

Actualités en lien

Image
ombrage-et-3d.
03/01/2019

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.

Voir l'article
Image
 randonnée-3D-BabylonJS-Part1
12/05/2014

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.

Voir l'article

Inscription à la newsletter

Nous vous avons convaincus