Alors Qgis, c'est bien joli, mais c'est à plat...
C'est quand même plus fun en 3D. A l'heure ou je fait cette page, il y a une extension plutôt minimaliste (cherchez Qgis2threejs dans les extensions) qui permet de créer un fichier html 3D. C'est pas compliqué mais pas très fun... on va tester plusieurs solutions avec plus de possibilité.
Grass
Alors grass est un logiciel SIG des plus puissants mais assez indigeste. Heureusement, on a dans Qgis une interface pour utiliser ses modules et parmi ces modules il y a Nviz, un visualisateur 3D mais il y a un mais. Nviz utilise le framework TCL TK qui n'est pas disponible sous windows. Une adaptation est prévue Wnvis il me semble, mais ce n'est pas encore d'actualité. On va supposer donc que nous somme sous Linux, de mon coté, j'ai utilisé une machine virtualBox pour y installer Ubuntu.
Tout d'abord il faut s'assurer que Grass est installé et actif. On va donc dans les extensions vérifier tout ça
à ma première tentative Grass ne voulais pas apparaître, j'ai du re installer la dernière version de Qgis pour le faire venir... mais normalement il devrai etre là sans pb...
Récupérer des sources
pour travailler on va devoir récupérer des données. Le plus grosse sources de données sont sur le Géoportail
les fichiers asc sont récupérable sur le site géo portail à cette adresse:
http://professionnels.ign.fr/bdalti#tab-3
pour s'entraîner je commencerai avec les pas de asc de 250m soit le fichier MNT250_L93_FRANCE.ASC
pleins d'info ou de couches à charger après s’être inscrit sur Géoportail, mais c'est un peu compliqué... ils ont même fait un tuto tant leur procédure est obscure. Mais ça vaux le coup. Je part bien sur du principe que c'est pour un utilisation qui entre dans le cadre d'une formation, à voir les CLUF pour savoir si vous entrez dans la catégorie des utilisateurs autorisés que vous respectez les copyright tout ça tout ça...
Autres source de données: http://georezo.net/wiki/main/webmapping/webservices.
Ils sont fort ces ricains, on peu aussi récupérer des données alti ici dans les dataset dépliez digital élévation...
Mise en forme pour Grass
Manip récupérée ici
Pour faire MNT (modèle numérique de terrain) il faut des point repérés en XYZ. Les fichiers Géoportail d'altimétrie .asc sont de fichiers texte. Le principe est de donner les altimétries d'un point tous les 250 dans notre exemple. Pour gagner de la place, n'est enregistré que l'altimétrie. C'est l'ordre des chiffres sur cette grille espacé d'un pas de 250m qui va faire office de coordonnée XY. Dans l'entête du fichier, on a la règle du jeu pour pouvoir s'y retrouver.
Pourquoi je parle de ça? parce que Qgis et Grass ne joue pas au même jeu !
Heureusement il est pas très compliqué de re écrire cette entête.
Exemple d'entête Qgis | l'équivalent chez Grass | correspondance |
ncols 3441 nrows 5401 xllcorner 1157987.50 yllcorner 6101987.50 cellsize 25.00 NODATA_value -9999 |
cols: 3441 rows: 5401 west: 1157987.50 south: 6101987.50 north: 6237012.50 east: 1244012.50 |
cols: ncols rows: nrows west: xllcorner south: yllcorner north: nrows*cellsize+yllcorner east: ncols*cellsize+xllcorner |
Alors pour ouvrir les fichier .asc je conseillerai de charger un logiciel adapté a traiter de gros fichier texte. Sous Windows le mieux c'est Notepad++ Et sous linux j'ai lu qu'un des meilleurs était Geany, qui à la bonne idée d'être accessible dans la logithèque Ubuntu.
L'entête du fichier Géoportail | l'équivalent chez Grass |
ncols 4641 |
cols: 4641 |
youpî
J'ai fait un petit script qui fait ce fastidieux travail, vous n'avez plus qu'a faire un copier coller de la nouvelle entête (il faut juste rentrer les champs de la 1ere colonne...
)
L'entête du fichier Géoportail | l'équivalent chez Grass | |
ncols : |
On va donc remplacer les lignes de l'entête et sauver le fichier sous MNT250_L93_FRANCE-GRASS.ASC
le NODATA_value peut aussi etre problématique Grass va l'interprété comme une altimétrie négative et ça fait un peu moche, on peu faire un "rechercher remplacer" (Ctrl H) dans l'éditeur de texte pour remplacer -9999 par 0. Sur ce fichier de 79mo ça prend quand même un certain temps si votre bécane est un peu juste ne le faite pas.
Créer un jeu de donnée Grass
Avant de travailler Grass à besoin de créer un jeu de donnée. En fait Grass demande un dossier et même un sous dossier avant de faire quoi que ce soit.
Là, c'est pour lancer la procédure
y a pas mal d'étapes à suivre mais c'est pas compliqué il faut donner ou créer un répertoire, donner un nom, choisir la projection.
Dans cette fenêtre, il faut rentrer les coordonnées Ouest Est Nord Sud de la couche .asc qu'on veux visualiser (au maxi, on peu aussi travailler sur une zone réduite qu'on a repérée au préalable)
ATTENTION: Cette notion de région de travail est super importante dans Grass voir ici
et enfin indiquer un jeux de donnée (qui va créer un sous répertoire)
Importation dans Nviz
Ouf... on peu commencer...
0) On ouvre les outils Grass, dans la liste des modules on choisi : r.in.ascii
1) un nouvel onglet est apparu
2)
on choisi le fichier à rentrer dans Grass
3) on donne le nom de la couche qui va être créer
4) on lance la fonction
Si tout ce passe bien vous devriez avoir le message de la dernière image. et cliquez sur VUE pour avoir couche dans Qgis
On arrive enfin à la 3d.
Retour dans les modules,
On va chercher Nviz, on choisi la couche qu'on vient de créer, dans la 1er case pour l'altitude, on exécute, et ça y est...
Sur la 2eme illustration (là ou on choisi les couches) il y a un onglet manuel, à explorer pour comprendre comment Nviz marche... c'est pas gagner... mais on a déjà appris à rentrer un MNT
à suivre...