Qqs trucs sur Autocad et d'autres logiciels DAO...
Accueil Initiation Méthodologie Variables Comment faire ? Lisps Sommaire
Soft & liens Revit 2020 CVC sur autocad Linux CloudCompare Initiation à Autolisp Blog

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
nrows 4321
xllcorner 89875
yllcorner 6039875
cellsize 250
NODATA_value -9999

cols: 4641
rows: 4321
west: 89875
south: 6039875
north: 7120125
east: 1250125

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 :
nrows :
xllcorner :
yllcorner :
cellsize :






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

 

 

 

 

 

 

 

lien vers cadXP