Accueil / Blog / Métier / 2014 / Visualiser en 3D un Modèle Numérique de Terrain avec NVIZ sous QGIS

Visualiser en 3D un Modèle Numérique de Terrain avec NVIZ sous QGIS

Par Célian Garcia — publié 14/02/2014
Visualiser en 3D un Modèle Numérique de Terrain avec NVIZ sous QGIS

NVIZ

Étapes :

  1. Activation de GRASS

  2. Création d'un nouveau mapset

  3. Importation du raster dans le mapset GRASS 

  4. Mettre des jolies couleurs

  5. Choisir la région à afficher

  6. Ouverture de NVIZ

  7. Problèmes rencontrés

  8. Résultats

 

makina corpus grass qgis

 

Prérequis :

  • avoir installé QGIS
  • avoir un Modèle Numérique de Terrain (raster) importé dans QGIS. Ici nous sommes sur le site du Parc Régional des Grands Causses (en violet), et ses alentours. (les données proviennent de l'IGN BD ALTI® 5m)

makina corpus grass qgis


Activation de GRASS

Pour pouvoir utiliser GRASS il faut d'abord vérifier que le plugin est activé :

Plugins → manage and install plugins → cocher GRASS


makina corpus grass qgis


Création d'un nouveau mapset makina corpus grass qgis

Voici la démarche détaillée (fenêtre par fenêtre) pour créer un nouveau "mapset"

  • GRASS Database : on choisit un dossier pour ranger la base de donnée GRASS
  • GRASS Location : on crée un lieu qui sera le lieu de notre projet (ici France par ex)
  • Projection : On choisi le système de projection, le même que celui du projet
  • Default GRASS region : très important dans GRASS mais on le modifie très facilement par la suite
  • Mapset : donner un nom au mapset
  • next → finish

Une fois le mapset créé, il faut importer le raster dans ce mapset. C'est très important car il n'est pas possible d'effectuer des traitements GRASS sur un raster sans faire cette démarche d'importation.


Importation du raster dans le mapset GRASS

Il existe plusieurs façon d'importer un raster dans le mapset. Ici on le fait à partir d'un raster déjà présent dans QGIS : notre fameux raster des alentours des Grands Causses.

Outils GRASS makina corpus grass qgisModules Tree → File management → Import into GRASS → Import raster into Grass from Qgis view → r.in.gdal.qgis

Choisir le layer à charger dans loaded layer et le nom de la couche matricielle de sortie


/!\ Problème lors de l'importation des raster dans GRASS

"Carte raster est dans une zone différentes (48) de la région courante (0)"
mais résolu en cliquant sur "show advanced options" et en cochant "ne pas tenir compte de la projection (utiliser celle du secteur)"

makina corpus grass qgis

 Cette méthode permet de détourner le problème mais ça ne le résout pas vraiment... Cependant, comme le but ici est simplement l'affichage du relief, ce n'est pas très important.

Quand c'est terminé cliquer sur "View output".


Mettre des jolies couleurs

Ici, le raster est en noir et blanc et si on laisse comme ça, NVIZ créera tout seul son jeu de couleurs et ce sera pas très personnalisé.

On va donc changer les couleurs, comme on s'attend à les voir sur un relief, grâce à l'outil r.colors.table dans les outils GRASS.

Remarque : pour trouver facilement un module ou un outil, on peut le chercher dans la liste des modules puis le taper dans la barre de filtre.

Personnellement, j'ai choisi "Color Palette for shuttle Radar Topography Mission elevation" que je trouve assez sympa.

Mais libre à vous de choisir les couleurs que vous voulez dans la liste. On peut même changer les couleurs directement dans les propriétés du raster mais c'est un peu moins facile.

 

 

Choisir la région à afficher

La région qui va être affichée par NVIZ est délimitée par un rectangle rouge. Pour modifier cette région, il suffit de cliquer sur l'icone d'édition de la région courante dans la barre d'outils GRASS makina corpus grass qgis et de choisir directement sur l'image la zone que l'on veut visualiser.

On récapitule 

  • Création du mapset – fait

  • Importation du raster dans le mapset – fait

  • Changement des couleurs – fait ( je rappelle que ce n'est pas obligatoire mais plus joli )

  • Choix de la région courante de GRASS - fait

On peut maintenant passer à ce qui nous intéresse le plus : la visu 3D !


Ouverture de NVIZ

NVIZ est lui aussi un outil de GRASS donc très facile à trouver dans la liste des modules ou grâce à l'arborescence.

On choisi le raster que l'on a importé dans GRASS comme nom de la carte raster pour l'altitude et pour la couleur, puis on lance.

Petite particularité étrange (15-20 min à capter la première fois...) : une toute petite fenêtre NVIZ s'ouvre :

makina corpus grass qgis   Accessoirement, on peut noter la faute d'orthographe à Fichier (et ce n'est pas la seule mais passons...)

Il faudra donc l'agrandir à la main à chaque fois, et on devrait voir ainsi apparaître le terrain en 3D. (voir exemples plus bas)


Problèmes rencontrés

  • Premier problème
 Impossible de démarer le module nviz
LD_LIBRARY_PATH=/usr/lib/grass64/lib
QGIS_PREFIX_PATH=
commande : /usr/lib/grass64/bin/nviz --interface-description
/usr/lib/grass64/bin/nviz: 110: exec: /usr/lib/grass64/etc/nviz2.2/nviz: not found

Ce problème a été résolu en installant GRASS séparément de QGUS. Avec Ubuntu, j'ai simplement utilisé la logithèque.


  • Deuxième problème
 GS_load_att_map(): Mémoire saturée. Impossible de charger la carte

C'est un problème de mémoire qui, je pense, est dû à la trop grosse résolution de l'image raster que j'avais. Je me suis plié à NVIZ et j'affiche que des petites portions de 3D en utilisant l'outil d'édition de la région courante évoqué plus haut.


Résultats

makina corpus grass qgismakina corpus grass qgis


ABONNEZ-VOUS À LA NEWSLETTER !
Voir aussi
QGIS : le nouveau support des tuiles rasters et vectorielles QGIS : le nouveau support des tuiles rasters et vectorielles 01/10/2020

La dernière version de QGIS 3.14 apporte deux nouveaux types de calques : les tuiles rasters et ...

Optimisation de la production de tuiles vectorielles de fond de carte OpenStreetMap pour un service à la demande : Makina Maps Optimisation de la production de tuiles vectorielles de fond de carte OpenStreetMap pour un service à la demande : Makina Maps 04/02/2020

Frédéric Rodrigo, expert OpenStreetMap, présente Makina Maps, une solution permettant de servir ...

Extraction d'objets pour la cartographie par deep-learning : création d'une vérité terrain Extraction d'objets pour la cartographie par deep-learning : création d'une vérité terrain 20/05/2020

Cette série d'articles parle de cartographie par deep-learning à partir d'images aériennes ou ...

Extraction d'objets pour la cartographie par deep-learning : choix du modèle Extraction d'objets pour la cartographie par deep-learning : choix du modèle 04/06/2020

Deuxième article de la série sur la cartographie par deep-learning à partir d'images aériennes ...

Extraction d'objets pour la cartographie par deep-learning : évaluation du modèle Extraction d'objets pour la cartographie par deep-learning : évaluation du modèle 18/06/2020

Voici le dernier article de notre série sur la cartographie par deep-learning. Après avoir ...