Etude3D PNE 09 2011
Etude3D PNE 09 2011
Etude3D PNE 09 2011
Secrétariat Général
Centre de Prestations
et d'Ingénierie
Informatiques
Département
Opérationnel
Ouest
Septembre 2011
Exploitation de Données
Lidar
www.developpement-durable.gouv.fr
Historique des versions du document
Version Date Commentaire
Tél. : 02 40 12 84 35 / Fax : 02 40 12 84 44
Courriel : rene.jonchere@developpement-durable.gouv.fr
Rédacteur
René JONCHERE - CP2I/DO ouest/itsService
Relecteur
Prénom NOM - Service
Référence(s) intranet
http://portail-ig.metier.i2/rubrique.php3?id_rubrique=314
SOMMAIRE
1 - CONTEXTE...................................................................................................................................4
2 - QGIS..............................................................................................................................................5
2.1 - Ouverture de la table VRT..........................................................................................................6
2.1.1 -Création d'une palette de couleur dans les propriétés de la couche.......................................................................................................................6
1 - Contexte
Il s'agit de comparer un certain nombre d'outils en regard des besoins exprimés par la DREAL des Pays de
Loire sur la manipulation de données de type Litto3D.
Un jeux de 100 dalles au format asc a été founi sur la zone du Marais Poitevin.
Les cas de test sont exprimés sur la base d'une utilisation du logiciel global mapper dans le document : 'fiche-
gm_v2.pdf'
ce sont :
– Cas 1 : création de courbes de niveaux au pas de 0,5m
– Cas 1bis : Générer les courbes de niveau à une altitude donnée.
– Cas 2 : Possibilité de sélectionner les objets d'une couche situés sous une cote donnée
– Cas 3 : profil en long et travers d'un ouvrage sur une longueur donnée
– Cas 4 : visualisation 3D du MNT.
– Cas 5 : Soustraction entre 2 rasters et mesure de l'évolution, volumétrie
2 - QGIS
Qgis offre des possibilités de manipulations des fichiers MNT de type raster avec les extensions
GDAL/OGR.
Pour utiliser l'extension Raster, il faut activer GdalTools avec la commande Extension/Gestionnaire
d'extensions
Préalable :
Le jeu de données est constitué de 100 dalles raster, pour simplifier le chargement et les calculs il
faut créer un Virtual Raster Terrain (VRT) avec la commande Raster/Construire un raster virtuel (Catalogue
VRT)
La boîte de dialogue sous QGIS permet de saisir les paramètres de la commande gdalbuidvrt:
voir http://www.gdal.org/gdalbuildvrt.html
• input directory : ce choix permet de créer le VRT avec toutes les dalles incluses dans le
répertoire
• input files : il faut sélectionner toutes les dalles pour la création du VRT
• résolution : dans le cas ou la résolution de tous les fichiers d'entrée n'est pas la même,
l'option résolution permet de choisir la résolution en fonction des fichiers sources (de la
plus basse à la plus haute, pas défaut c'est moyenne).
Inconvénient : La manipulation des VRT est assez lente sous QGIS. (environ 5 mn pour le charge-
ment de la table virtuelle)
• Choisir la Palette de Couleur dans les propriétés bande unique, rubrique Palette de couleur
• Cliquer sur l'onglet Palette de Couleur et choisir Linéaire dans l'interpolation des couleurs
• Cliquer sur le bouton ajouter une entrée pour fixer la couleur et la valeur associée
• Valider avec le bouton OK
L'extension Raster Colours/1-band raster colour table permet de réaliser une analyse par coloration
continue. (http://www.bc-consult.com/free/bcccoltbl1.html#V110 )
L'extension propose un grand choix de palette de couleur et différentes méthodes d'analyse par co-
loration continue. (distribution linéaire dans notre exemple)
Appliquer le résultat du plugin 1-band raster colour Table à l'aide de la commande couche/propriétés
ou double-cliquer sur la couche raster dans le gestionnaire de couche, onglet Style.
Choisir la Palette de Couleur dans les propriétés bande unique, rubrique Palette de couleur
• Cliquer sur l'onglet Palette de Couleur et charger une palette de couleur depuis le fichier
L'extension ou plugin Raster Colours /Colour Scale Bar for One-Band Rasters permet générer la légende pour
la coloration continue (à installer manuellement dans QGIS à partir de http://pyqgis.org/repo/contributed ).
Le fichier résultat est un fichier SHP de nom 'courbes' pour un temps d'environ 4'.
Possibilité de choisir le format du fichier résultat et les seuils (mode commande ou shell)
Ex : gdal_contour -f "sqlite" -i 0.5 "fichier_source" "fichier_destination"
L'outil de contours du menu raster permet de générer une courbe à un niveau prédéterminé
(ex :4,5m).
Remarque : dans la version 1.1.0 le plugin ne permet l'utilisation des options, il faut exécuter
Gdal_contour en mode commande ou shell
2.8 - Conclusions
QGIS seul répond bien au cas d'usage de création de courbes de niveaux et à une analyse de profils
simples. C'est donc un outil qui permet d'aborder à coût logiciel nul quelques besoins 3D, mais qui ne
semble pas assez complet à ce jour pour couvrir l'ensemble des besoins.
La boite à outils GRASS permet l'utilisation des modules GRASS avec l'interface GRASS-QGIS
A l'aide du bouton Éditer la région courante GRASS, on peut définir les limites de la région et chan -
ger la résolution du projet (définir le pas de la région à 1m)
Les paramètres d'encombrement de la région peuvent être affinés pour prendre en compte les limites
précises du projet, par exemple les limites extérieures des dalles raster.
Nota : on peut changer la résolution par la commande sous GRASS shell g.region nsres=1 ewres=1
La commande r.in.gdal.qgis importe les couches chargées sous QGIS-GRASS. On peut également
importer les fichiers à partir du répertoire d'origine avec la commande r.in.gdal
La commande r.in.gdal importe les tables raster à partir des fichiers ASC, ensuite il faut assembler
les dalles GRASS en une seule (dalles chargées dans QGIS-GRASS).
La commande r.patch réalise l'assemblage en une seule couche raster GRASS (interface de QGIS-
GRASS)
Remarque : D'une manière générale l'usage en mode shell des modules GRASS permet l'automati-
sation avec la ligne de commande Windows
Le raster est chargé par défaut avec la couleur grise, la coloration du MNT est réalisé à l'aide d'un fi-
chier contenant les règles de la coloration.
A l'aide de la boite à outils GRASS, la commande r.color applique la coloration définie dans le fichier
color.txt
A l'aide de la boite à outils GRASS, la commande r.contour permet d'obtenir les courbes de niveaux
(interface de QGIS-GRASS).
Remarque : le temps d'exécution est très rapide < 1', le temps d'affichage est relativement long
A l'aide de la boite à outils GRASS, la commande r.contour2 permet d'obtenir la courbe à un niveau
prédéterminé par exemple 4,5m (interface QGIS-GRASS).
A l'aide de la boite à outils GRASS, la commande r.mapcalc sélectionne les valeurs >=4.5m (inter-
face QGIS-GRASS)
remarque : cette commande affecte vrai (1) aux cellules >= 4.5m et faux (0) aux cellules < 4.5m
A l'aide de la boite à outils GRASS, la commande r.null.val élimine les cellules non vrai.
Astuce : pour éviter d'utiliser la commande r.null.val pour rendre nulle les cellules non retenues, on
peut exécuter la commande r.mapcalc en mode shell avec les paramètres suivants :
r.mapcalc "new_raster = if (raster_origine > = 4.5,1,null())"
La sélection des objets ayant une altitude minimale à 4,5m devient très simple avec les polygones
précédents. (plugin requête spatiale)
Fichier résultat :
X Y Long Altitude
368754 6591344 0 1,91
368755 6591343,95 1 1,91
368756 6591343,9 2 1,94
368757 6591343,85 3 1,89
368757,99 6591343,8 4 1,95
368758,99 6591343,75 5 1,99
368759,99 6591343,7 6 2,05
368760,99 6591343,65 7 2,13
368761,99 6591343,6 8 2,22
3,5
2,5
1,5
0,5
0
0 500 1000 1500 2000 2500
La commande shell gis.m ouvre le gestionnaire SIG GRASS qui offre toutes les fonctionnalités
GRASS en mode graphique.
A l'aide de la boite à outils GRASS, la commande nviz ouvre l'interface suivante qui permet de visua -
liser le MNT en 3D.
Attention la région doit être inférieure à 60 millions de points (seuil issu de différents tests). Pour
notre exemple la solution a été de multiplier la largeur et la hauteur de la résolution par 2.
principes
Le volume est calculé par la différence entre les couches raster et par la somme des différentes va -
leurs du résultat (chaque cellule représente 1m²).
Mise en œuvre
Pour limiter à une surface donnée, les calculs sur les grilles de représentation IGN et LIDAR_UNI -
VERSITE, il faut définir un masque pour les rasters. Cette opération se fait à l'aide d'un raster limité à
cette zone. Pour cela il faut rasteriser la couche vecteur NUM et appliquer le masque.
A l'aide de la boite à outils GRASS, les modules suivants masquent la zone pour les opérations ras-
ter
• module V-to-rast : transforme une zone vectorielle en une zone raster
• module r-mask : définit le masque à partir d'un raster
A l'aide de la boite à outils GRASS, le module r.mapcalc calcule la différence entre les deux couches
raster IGN et LIDAR_UNIVERSITE
A l'aide de la boite à outils GRASS, le module r.sum effectue la somme des valeurs des cellules du
raster issu de la soustraction précédente
Le volume de la différence entre les couches raster IGN et LIDAR_UNIVERSITE est de 9628m3
Vérification
A l'aide de la boite à outils GRASS, le module r.mapcalc sélectionne toutes les valeurs positives et le
module r.sum effectue la somme des valeurs des cellules du raster issu de la sélection
A l'aide de la boite à outils GRASS, le module r.mapcalc sélectionne toutes les valeurs négatives et
le module r.sum effectue la somme des valeurs des cellules du raster issu de la sélection
La somme du volume négatif et du volume positif est égal au volume calculé initialement
(10101m3-473m3=9628m3)
Autre vérification
A l'aide de la boite à outils GRASS, le module r.report analyse le raster et stocke les résultats dans
un fichier texte. Le tableau donne les surfaces pour chaque tranche de valeur, le volume est aisé-
ment déductible. Le calcul sous calc donne 9627m3.
3.8 - Conclusions
QGIS/GRASS permet de répondre à l'ensemble des cas exprimés. Toutefois il est nécessaire de s'in-
vestir dans les fonctionnalités de GRASS. Les concepts de GRASS ne sont pas abordables aisé -
ment, mais une fois surmonté l'investissement initial, les possibilités sont très nombreuses et
semblent assez complètes. Les temps de traitement sont relativement courts, seul le chargement de
la couche des 100 dalles assemblées nécessite un temps d'attente important (environ 2mn)
Remarque le délai d'exécution pour 9 dalles est très long (environ 10'), pour 100 dalles le message d'erreur
« out of memory » apparaît. La solution consiste à modifier la résolution de 1m à 2m à l'aide de la commande
outil>resized
Résultat pour 9 dalles
Remarque pour 100 dalles erreur « out of memory ». La solution consiste à modifier la résolution de 1m à 2m
à l'aide de la commande outil>resized
Résultat pour 9 dalles
Remarque pour 100 dalles erreur « out of memory ». La solution consiste à modifier la résolution de 1m à 2m
à l'aide de la commande outil>resized
Résultat pour 9 dalles
La sélection des bâtiments ayant une altitude minimale à 4,5m devient très simple avec les requêtes spatiales
et les polygones précédents
La commande Analysis > cross section dessine le profil de la ligne support sélectionnée.
Résultat
Conclusions : Vertical Mapper (Mapinfo) répond partiellement à l'interprétation des données litto3D. La
limitation de la taille des rasters pose cependant des problèmes de précision dans l'interprétation des courbes
et contours vectoriels. En outre la création de courbes de niveaux nécessite un temps calculateur très
important. Les outils permettent une analyse de profils simples et la visualisation 3D.