fr:int

no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


fr:int [2006/12/12 17:41] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +Une fois que le projet est structuré, il faut penser à lui donner des données à afficher !!\\
 +Pour celà, nous allons importer les cartes que nous avons sous forme de scan (format jpg ou de préférence **TIFF**).
  
 +===== Création de la LOCATION temporaire =====
 +Pour bien importer en les géorectifiant les images, il faut commencer par les importer dans une location spécifique (qui en fait va servir à mettre les images dans le format propre à **GRASS**). Cette création est créée de la façon décrite précédemment, en sélectionnant une projection XY (type A) et en indiquant comme limite : 0 pour les côtés sud et ouest et la hauteur (en pixels) pour le côté nord, la largeur (toujours en pixels) pour le côté est. Régler la résolution à 1 (tant en X qu'en Y).\\
 +Une bonne résolution de scan est de **200dpi**, pour une carte au 1/25 000e. Une résolution supérieure ne va pas forcément être très utile et en particulier, elle va alourdir considérablement les calculs et donc allonger les temps d'attente !\\
 +
 +
 +===== Import de l'image =====
 +Ouvrez donc **GRASS** avec la location XY (en sélectionnant dans la fenêtre de démarrage). Dans l'interface graphique, choisissez : <file>File -> Import -> Raster map -> Multiple formats using GDAL</file>
 +La fenêtre qui s'ouvre vous permet de sélectionner le fichier à importer et d'indiquer au logiciel le fichier à importer (avec son chemin), en cliquant sur l'icône de dossier, et aussi le nom qu'aura cette image dans **GRASS**.
 +Vous pouvez aussi faire ça dans la fenêtre de Terminal, en tapant la commande suivante :
 +<code>
 +r.in.gdal input=image.tif output=imageGRASS
 +</code>
 +où image.tif doit être remplacé par le chemin et le nom du fichier à traiter et imageGRASS par le nom que vous attribuez à l'image dans **GRASS**.\\
 +
 +Cette manipulation prend un petit moment, variable selon la taille de votre carte et sa résolution.\\
 +A l'issue de celà, vous vous retrouvez en fait avec **3 fichiers**, baptisés du nom que vous aviez indiqué, suivi des extensions .red, .green et .blue : ce sont trois fichiers "noir et blanc" indiquant les valeurs respectivement pour le rouge, le vert et le bleu.
 +Il faut donc maintenant recomposer l'image couleur...
 +
 +===== Recomposition de l'image couleur =====
 +Pour ce faire, il existe la commande r.composite...
 +Dans l'interface graphique, choisissez :
 +<file>
 +Raster -> Manage map colors -> Create color image from RGB files
 +</file>
 +Dans la fenêtre qui s'ouvre, sélectionnez les fichiers à fusionner, en fonction de leur extension, et le nom du raster COULEUR. Vous pouvez reprendre le nom générique du début.\\
 +En ligne de commande, dans le Terminal, vous saisissez :
 +<code>
 +r.composite red=xxx.red green=xxx.green blue=xxx.blue levels=32 output=xxx
 +</code>
 +Le calcul prend un certain temps... Si vous avez plusieurs images à importer, n'hésitez pas à écrire un petit script comme celui-ci :
 +<code>
 + #!/bin/sh
 +#Script d'importation des cartes (format JPG ou TIF ou autres supportŽs par GDAL)
 +#dans GRASS
 +
 +if test "$GISBASE" = ""; then
 + echo "Tu dois etre dans GRASS pour lancer ce programme"
 + exit 1
 +fi
 +
 +# import des cartes en XY
 +
 +r.in.gdal input=/Users/thierrygonon/Desktop/MQ06.tif output=MQ06
 +r.in.gdal input=/Users/thierrygonon/Desktop/Parcellaire.tif output=MQ06Parc
 +
 +# composition couleur
 +
 +r.composite red=MQ06.red green=MQ06.green blue=MQ06.blue output=MQ06R
 +r.composite red=MQ06Parc.red green=MQ06Parc.green blue=MQ06Parc.blue output=MQ06ParcR
 +
 +# suppression des tempo
 +
 +g.remove rast=MQ06.red,MQ06.green,MQ06.blue,MQ06Parc.red,MQ06Parc.green,MQ06Parc.blue
 +g.remove group=MQ06,MQ06Parc
 +</code>
 +Ainsi, en même temps, vous importez vos images (2 ici), puis vous les recomposez en couleurs, vous supprimez les fichiers et les groupes temporaires (on verra les groupes un peu plus loin... car ils sont utiles mais ceux-ci, vous pouvez les supprimer). Pour plus de confort, j'ajoute une lettre à la fin du nom du fichier recomposé par rapport au nom primitif d'import...
 +
 +
 +===== Projection dans le véritable projet =====
 +Maintenant que notre carte est tout à fait visible dans **GRASS**, on va la reprojeter dans la LOCATION que nous avons créée en premier et qui est la zone de votre étude...
 +==== 1 : création des groupes de traitement ====
 +Les groupes sont utilisées par les fonctions du module "imagery", qui permet la géorectification. Pour les créer, commençons par dire quelle image va dans quel groupe((Un groupe contiendra toutes les cartes qui recouvrent **EXACTEMENT** la même zone. Deux cartes recouvrant PRESQUE la même zone seront placées dans 2 groupes différents)). Pour celà, dans l'interface graphique, on choisit :
 +<file>
 +Image -> Develop images and group -> Create/edit imagery group
 +</file>
 +Là, vous choisissez le nom du groupe et le nom du raster à inclure dans ce groupe. Pour le nom, vous êtes libre... mais restez clair tout de même !!\\
 +En ligne de commande, ça donne :
 +<code>
 +i.group group=XXX input=xxx
 +</code>
 +où __group__ est le nom du groupe et __input__ le nom du raster.\\
 +Après ça, vous devez cibler le groupe de traitement.. En mode graphique :
 +<file>
 +Image -> Develop images and group -> Target imagery group
 +</file>
 +On précise le nom du groupe à cibler, le nom de la LOCATION et du MAPSET de destination.
 +En ligne de commande :
 +<code>
 +i.target group=XXX location=DEST mapset=mapset 
 +</code>
 +où __group__ est le nom du groupe, __location__ le nom de la location de destination et __mapset__ le nom du jeu de données d'arrivée (pour ces 2 derniers, c'est le projet général, que vous avez créé au début !).\\
 +
 +Ca y est, vous allez pouvoir préciser les points de contrôle.
 +
 +==== 2 : Points de contrôle ====
 +Ces points sont ceux qui servent à calculer l'équation de rectification. Il est donc essentiel de s'appliquer durant cette étape afin d'avoir une carte de haute qualité à la fin !!\\
 +Pour celà, on va dans :
 +<file>
 +Image -> Rectify and georeference image group -> Set ground control points (GCP's) from raster map or keyboard entry
 +</file>
 +A ce moment-là, 2 fenêtres s'ouvrent en X11 : une pour l'affichage de la carte, l'autre pour la sélection du groupe à traiter, puis la saisie au clavier des coordonnées.\\
 +Les éléments affichés sont, à mon avis, suffisamment clairs... Si cependant vous rencontrez des difficultés, n'hésitez pas à me contacter : je ferais des captures d'écran pour les rajouter ici...
 +Dans le cas standard (une carte scannée et la plupart des cas en fait), il faudra traiter les données avec un polynome d'ordre 1, et donc 4 points sont nécessaires, si possible aux 4 angles.
 +
 +==== 3 : La géorectification ====
 +Le grand moment est arrivé... Il ne reste plus qu'à lancer la géorectification.\\
 +Dans l'interface graphique, on choisit :
 +<file>
 +Image -> Rectify and georeference image group -> Affine and polynomial...
 +</file>
 +Vous précisez le groupe à utilisez, la carte contenue dans le groupe (c'est une option, mais ça ne coûte rien de la préciser !), l'extension qui sera rajoutée à la fin du nom (une simple lettre suffit...) et l'ordre du polynome, entre 1 et 3 (le plus souvent, ce sera 1).\\
 +En ligne de commande, ça nous donne :
 +<code>
 +i.rectify group=XXX input=xxx extension=e order=1 
 +</code>
 +où __group__ est le nom du groupe, __input__ le nom du raster, __extension__ la lettre qui sera rajoutée (ici, e) et __order__ l'ordre de rectification.\\
 +
 +Cette manipulation prend "un certain temps"... N'hésitez pas à la lancer en fin de journée, pour qu'elle se fasse de nuit !\\
 +
 +Bien évidemment, comme pour les manip' précédentes, vous pouvez faire un script pour lancer une série de rectification.
 +
 +Quand votre ou vos rectifications sont terminées, vous pouvez quitter la LOCATION d'importation. Pour ce faire, quitter l'interface graphique :
 +<file>
 +File -> Exit
 +</file>
 +puis, dans la fenêtre de Terminal, tapez :
 +<code>
 +exit
 +</code>
 +C'est bon, vous pouvez maintenant retourner dans votre LOCATION géoréférencée...
  • fr/int.txt
  • Last modified: 18 years ago
  • by 127.0.0.1