Accueil / Blog / Métier / 2019 / Cartographie Web 3D - possibilités techniques en logiciels libres

Cartographie Web 3D - possibilités techniques en logiciels libres

Par Frédéric Rodrigo — publié 08/01/2019
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.

 La terre, tuile de niveaux de zoom 0 et de niveau 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:
extrusion hauteur visuelle
(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.

MNT BD ALTI® de la Réunion, courbe de niveaux et ombrages calculés avec QGis.

Un autre exemple de modèle 2,5D rendu sous QGis avec le plugin Qgis2threejs.

Modèle 2,5 D rendus 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.

Exemples :

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é:

osmbuildings

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:

 Tour Eiffel dans OpenScienceMap

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.

 Tour Eiffel dans 3drm

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.

La Terre dans iTowns

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).

Portail geo.admin.ch

Gérone reconstruit depuis des photographies, est un exemple des possibilités offertes par la photogrammétrie.

Girona 3D avec Cesium

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:

ABONNEZ-VOUS À LA NEWSLETTER !
Voir aussi
Représentation des modèles numériques de terrain sur le web : ombrage et 3D Représentation des modèles numériques de terrain sur le web : ombrage et 3D 11/02/2019

Les Modèles Numériques de Terrain sont des données représentant la forme du terrain. Sur une ...

Retour State of the Map France 2018 Retour State of the Map France 2018 23/07/2018

L'équipe de Makina attendait avec impatience l'événement de l'année, State Of The Map 2018 à ...

MoodWalkR: behind the scenes MoodWalkR: behind the scenes 30/09/2013

Understanding how MoodWalkR computes pedestrian routes.

Elections.js génère des cartes pour vous Elections.js génère des cartes pour vous 30/03/2015

Le travail sur les cartes pour les élections départementales a débouché sur la création d'un ...

Infrastructure webmapping minimaliste (partie 2) - TileMill Infrastructure webmapping minimaliste (partie 2) - TileMill 12/12/2013

Dans le cadre de notre architecture webmapping minimaliste, nous présentons quelques astuces pour ...