S'abonner à un flux RSS
 

Création de profils en travers à partir de données LIDAR

De Wikibardig

Cette page est en cours de construction

Sommaire

Contexte

Cette page est un sous-thème de la page sur l'Utilisation des données LIDAR pour la directive inondation. Le lecteur est invité à s'y reporter pour comprendre le contexte général sur l'exploitation des données LIDAR.

Un préalable à l'utilisation des fonctions définies est la réalisation des Préalables pour l'utilisation de Qgis-GRASS sur le LIDAR.

Cette page a pour objectif de fournir quelques moyens de faire des profils en travers.
 Quelques tests peuvent également être réalisés à l'aide du rapport du CPII sur l'Expérimentation des données Litto3D® au lien suivant http://geoinfo.metier.i2/experimentation-des-donnees-a2006.html. Une équivalence est accessible à ce lien.
Les traitements automatiques ont été intégrés dans les outils DICARTO

Principes

Méthode directe

Plugin Terrain Profile dans Qgis

qgis bouton profil
Après ouverture d'un raster, dans l'interface QGIS, il est possible d'obtenir un profil en travers sous forme d'image. Pour cela, il est nécessaire d'avoir le plugin Qgis indiqué dans les Préalables pour l'utilisation de Qgis-GRASS sur le LIDAR.

Si on clique sur ce bouton, cela permet de dessiner « manuellement » un profil à deux points. Le résultat est présenté dans un graphique qui peut être sauvegardé au format *.pdf ou *.svg.

Attention, il semble que le résultat n'interpole pas avec une définition de grande qualité, la visualisation du profil est à titre indicatif.

r.profile dans GRASS

grass fenetre shell
grass boite dialogue shell
grass commande rprofile
grass rprofile optional

La fonction r.profile est accessible à partir de la console SHELL des outils GRASS dans Qgis en tapant r.profile qui ouvre une boite de dialogue :

  1. Onglet « Required » : c'est le MNT sur lequel sera exécuté la commande « r.profile »
  2. Onglet « Optional » : c'est la fenêtre qui permet d'entrer les informations utiles à la création du profil en travers.
  • Pour le champ « Nom du fichier en sortie », il faut donner le chemin d'un répertoire dans lequel sera stocké le fichier correspondant au profil demandé
  • Pour le champ « Profile coordonate pairs » il faut entrer les coordonnées de début et de fin de notre profil séparés par une virgule par exemple de la façon suivante : 990318.9,6269862.5,990097.8,6269005.1, on peut mettre plus de points pour faire des lignes brisés comme des crêtes de digues.
  • Pour le champ « Résolution utilisée pour le profil », dans notre cas du MNT, c'est 1m.

En lançant la commande « Run » de cette fenêtre, un fichier ASCII est directement créé dans le répertoire en sortie que l'on a indiqué dans le champ « Nom du fichier en sortie » .

Ce fichier ASCII a deux ou quatre colonnes en fonction de la demande d'export des coordonnées X et Y de chaque point. Il peut être travaillé avec des tableurs classiques.

Attention, cette fonction ne marche pas lorsque les coordonnées de début ou de fin du profil sont hors du MNT?

Automatisation

Il est intéressant de traiter plusieurs profils en même temps.

Actuellement, nous ne pouvons réaliser un grand nombre de profils uniquement sur un seul MNT qui peut être un regroupement de dalles, l'objectif est au final de faire n profils sur m dalles de manière automatique.

Deux possibilités sont offertes avec leurs avantages et inconvénients, la première avec r.profile nécessite un travail sur les coordonnées des points et exporte ensuite un fichier par profil, la deuxième avec v.drape demande du traitement sur le fichier final avec des filtres et le calcul des distances de points à points.

Pour cela, vous numérisez vos traces de profils sur Qgis ou vous les importez d'un autre SIG. Attention à ne pas numériser sur un raster de GRASS à cause des problèmes de décalages indiqués dans les Préalables pour l'utilisation de Qgis-GRASS sur le LIDAR.

Utilisez un champ pour indiquer le nom de votre profil, cela vous sera utile pour la suite.

Avec la commande r.profile de GRASS

L'objectif est de créer dans QGIS un tableau avec les points de construction des profils avec la démarche suivante:

  • Menu Vecteur/Outil de géométrie/Extraction de noeuds qui crée un fichier avec les points de constructions sans les coordonnées dans la table attributaire
  • Menu Vecteur/Outil de géométrie/Exporter/Ajouter des colonnes de géométries qui crée un fichier avec les points de constructions et leurs coordonnées dans la table attributaire
  • Ensuite sauvegarder sous le fichier shape avec le format Valeurs séparées par une virgule. Vous disposez d'un fichier avec l'extension csv qui s'ouvre dans un tableur.
  • Ouvrez ce fichier dans le tableur et formatez le en 3 colonnes avec le nom du profil, les abscisses et les coordonnées. Vous avez un fichier de la forme suivante:

NomProf XCOORD YCOORD
crete1 1002052.410000 6269756.600000
crete1 1002148.670000 6269813.100000
crete1 1002162.280000 6269668.710000
crete1 1002162.280000 6269668.710000
crete1 1002186.340000 6269520.130000
barrage2 1002058.690000 6269292.020000
barrage2 1002170.650000 6269371.550000

...

  • Créer une colonne qui indique si on est sur un point intermédiaire du profil ou pas: =SI(A3=A2;0;1)
  • Créer une autre colonne qui assemble les coordonnées =SI(A2=A1;E1&","&B2&","&C2;B2&","&C2)
  • Créer une autre colonne avec la fonction d'aggrégation =SI(D2=1;"r.profile -g input=IGN_MNT_1m_1002_6269grass.asc@Dpt83 output=D:\TopoCARTINO\Draguignan\Draguignan_MNT\"&A2&" profile="&E2&" res=1 null=-999";"")

La dernière colonne contient par exemple le script suivant:

r.profile -g input=IGN_MNT_1m_1002_6269grass.asc@Dpt83 output=D:\TopoCARTINO\Draguignan\Draguignan_MNT\crete1 profile=1002052.410000,6269756.600000,1002148.670000,6269813.100000,1002162.280000,6269668.710000,1002162.280000,6269668.710000,1002186.340000,6269520.130000 res=1 null=-999

r.profile -g input=IGN_MNT_1m_1002_6269grass.asc@Dpt83 output=D:\TopoCARTINO\Draguignan\Draguignan_MNT\barrage2 profile=1002058.690000,6269292.020000,1002231.340000,6269134.030000,1002207.270000,6269221.920000 res=1 null=-999

r.profile -g input=IGN_MNT_1m_1002_6269grass.asc@Dpt83 output=D:\TopoCARTINO\Draguignan\Draguignan_MNT\trace3 profile=1002128.790000,6269054.500000,1002385.150000,6269084.850000 res=1 null=-999

  • En copiant cette colonne dans la consolle SHELL, trois fichiers de profils se créent nommé crete1, barrage2 et trace3


Avec la commande v.drape de GRASS

Après avoir créer un fichier vecteur de vos profils et avoir vérifié qu'il est au bon endroit sur votre raster, les étapes dans QGIS sont les suivantes:

  • Transformer la couche vecteur en couche vecteur 3D :
  1. Commande Vecteur > Conversion de type de carte > 2D vector to 3D vector… [v.to.3d]
  2. Onglet Requis : indiquer le nom de la couche des tracés suivi de "_3d" pour repérer la version 3d
  3. Onglet Height : remplir la case "Fixed height…" par la valeur 0
  4. Exécuter l'opération
  • Transformer les tracés en ensembles de points équidistants
  1. Commande Vecteur > Générer des points> Générer des points le long des lignes [v.to.points]
  2. Onglet Requis : choisir la couche des tracés 3D créée en 3, et saisir pour la couche produite le nom de la couche précédente suivi de "_pts"
  3. Onglet Optionnel : saisir l'intervalle souhaité entre les points, cocher "Write line vertices" et "Interpolate points between line vertices"
  4. Exécuter l'opération
  • Placer les points à l'altitude donnée par le raster
  1. Commande Vecteur> Travailler sur une carte de vecteurs > Créer une carte vecteur 3D par dessus… [v.drape]
  2. Onglet Requis : choisir la couche des points créée en 4, et saisir pour la couche produite le nom de la couche de départ suivi de "_profils"
  3. Onglet Optionnel : indiquer la couche raster des altitudes et choisir la méthode d'échantillonnage
  4. Exécuter l'opération, vérifier dans la table attributaire de la couche obtenue la présence des attributs lcat et along.
  • Exporter les points pour tracer le profil (au moyen d'excel par exemple)
  1. Commande Fichier > Exporter une carte vecteur > Exporter format points ASCII… [v.out.ascii]
  2. Onglet Requis : choisir la couche des points créée en 5
  3. Onglet Points : indiquer le séparateur (; par exemple au lieu de | proposé par défaut), porter "lcat,along" dans la case "[Multiple] Name of attribute columns…"
  4. Onglet Selection : sélectionner la couche 2 (cliquer sur la valeur, même si elle vaut déjà 2)
  5. Onglet Optionnel : indiquer un emplacement et nom de fichier d'extension txt pour le résultat, conserver le format de sortie "point".
  6. Exécuter l'opération, le fichier créé comprend l'abscisse le long du tracé et l'altitude correspondante, il peut être utilisé pour le tracé des profils. L'indice de la colonne lcat permet de repérer chaque tracé support de profil.

NB : dans un tableur, une fois le fichier importé, insérer une première ligne, puis séparer chaque tracé en filtrant sur la colonne lcat. Copier, pendant l'application du filtre sur un tracé donné, les colonnes contenant z et along, les coller plus à droite en décalant d'une paire pour chaque tracé, et en conservant une colonne libre entre les données copiées et les données collées. Inverser ensuite par paire les colonnes en utilisant la colonne libre (along passe à gauche de lcat). La création des graphiques est alors simplifiée.

Liens externes


Les intervenants

Maîtrise d'Ouvrage: MEDDM/DGPR

  • Responsable de l'étude: Sabine Baillarguet

Réalisation: Centre d'Études Techniques de l'Équipement Méditerranée

Partenariats:

Article rédigé par Appui CETE/CETMEF pour la Directive Inondation piloté par le PCI Inondations et Aléas Côtiers

Le créateur de cet article est Frédéric Pons
Note : d'autres personnes peuvent avoir contribué au contenu de cet article, [Consultez l'historique].

  • Pour d'autres articles de cet auteur, voir ici.
  • Pour un aperçu des contributions de cet auteur, voir ici.
Outils personnels