Je ne sais pas si c’est le fait d’avoir entrepris de gravir tous les monts de l’Estrie, mais je me suis récemment découvert une passion pour les élévations, plus précisément les modèles d’élévation numérique, abrégé en MÉN. Mon exploration a débuté avec l’extraction de données officielles du gouvernement du Canada.

Assurez-vous de bien délimiter la zone que vous désirez télécharger et de sélectionner MÉN. Il s’agit alors de verser dans QGIS les fichiers .tif contenus dans les zip téléchargés du fédéral. On peut facilement le faire en utilisant l’explorateur dans QGIS. Quand on a retrouvé les zip dans le dossier de téléchargement, on a qu’à développer le dossier, repérer le fichier .tif et effectuer un «drag and drop» vers la carte.

Le fichier .tif est une image matricielle à laquelle sont associées des valeurs. Chaque nuance de gris correspond à une élévation. On peut avec les outils de base de QGIS présenter sous diverses formes ces valeurs. On peut ainsi dans la symbologie changer l’apparence. Le secret ici est d’explorer toutes les possibilités offertes, avec l’onglet «mise à jour en direct» activé.

Le résultat peut parfois être psychédélique, comme ici cette carte des élévations du mont Olw’s Head:

Sur la carte ci-dessus, en plus des couleurs on peut voir des contours représentant les altitudes. C’est assez facile à faire dans QGIS, en utilisant Raster > Extraction > Contours.

On peut ensuite étiqueter ces contours avec les élévations.

Ce qui peut être pratique avant une sortie en forêt, ici au mont Mégantic.

Avec QGIS, on peut aller plus loin et dessiner des contours Tanaka. Il faut pour ça d’abord calculer l’azimuth. L’important à retenir ici, c’est que cette formule nous permet de donner l’impression que nos reliefs sont éclairés par un soleil situé en haut à gauche de la carte. En modifiant la formule, la lumière proviendra d’ailleurs. Pour calculer l’azimuth, sélectionner dans la Boîte à outils > Calculatrice de champ avancée Python et entrer la formule suivante:
p1 = $geom.asPolyline()[0]
p2 = $geom.asPolyline()[-1]
a = p1.azimuth(p2)
if a < 0:
a += 360
value = a

Il faut ensuite dans Style de couche définir par une autre formule l’apparence des contours en fonction de l’azimuth.

La formule en question :
color_hsl( 0,0,
scale_linear(
abs(
(if( « azimuth » < 45, « azimuth » +315, « azimuth » -45))
-180)
,0,180,0,100)
)
Il est important de respecter l’indentation dans Python. Les résultats sont généralement très satisfaisants, comme ici Mégantic en Tanaka.

Je passe vite ici sur certaines étapes. Il faut notamment avoir travaillé les contours avec l’outil GRASS v.split.


Mais ce tutoriel de Klas Karlson est très complet. Il faut s’assurer pour le réussir d’avoir installé sur son ordi QGIS + GRASS (dans les options de téléchargement sur le site de QGIS). Les outils GRASS permettent des calculs géométriques avancés.
Avec les MÉN, on peut aussi faire des choses très cool pour un historien, comme redonner vie à une carte ancienne. Il y a dans QGIS un plugin pour ça: qgis2threejs qui permet de représenter en 3D les élévations. Si l’on sait déjà comment géoréférencer une carte ancienne (sinon, ce tutoriel est assez explicite), on peut se servir du plugin pour donner du relief à une vieille carte. Pour l’exemple suivant, je me suis servi d’une carte allemande des Alpes de 1847 et des MÉN fournis par la NASA.
J’ai suivi le tutoriel de Topi Tjukanov et celui du plugin. Ce que ni le premier ni le second ne souligne suffisamment, c’est l’importance de régler l’exagération verticale.

On peut visualiser le résultat en ligne, une fois bien sûr qu’on a transféré vers un serveur le fichier index.html et les données associées (je recommande Filezilla). Je ne suis pas 100% satisfait du résultat. On remarquera des incongruités pour la côte adriatique de la péninsule italienne. Le problème est survenu au moment du géoréférencement. Ça serait à corriger. J’aurais aimé aussi retravailler le modèle 3D avec Blender et ajouter les noms des sommets avec leur altitude. Plus tard…
Le mot de la fin: si dans QGIS l’on rencontre un problème en général, il faut d’abord vérifier que chaque couche est dans le même système de projection.
Joshua L.J. Vachon
Excellent article Tristan! C’est de toute beauté! Ça me donne le goût de réexplorer qgis2threejs!