#1 Wed 09 January 2013 12:27
- Kinad Vandar
- Participant occasionnel
- Date d'inscription: 12 Dec 2011
- Messages: 10
QGIS 1.8 : Problème utilisation r.cost Sextante
Bonjour à tous, et bonne année !!
Je m'adresse à vous car je suis en galère depuis hier pour utiliser le module r.cost de GRASS par l'intermédiaire de Sextante (a priori plus simple que par GRASS)
Mon but est de déterminer le chemin de moindre coût entre 2 points (contenus dans un même fichier shp) en fonction d'un mode d'occupation du sol. N'ayant pas réussi sur des données complexes, j'ai créé des fichiers très simples afin d'effectuer les traitements
Voici les données dont je dispose :
- un MOS en vecteur avec des valeurs friction allant de 1 à 4
- un MOS raster issu de la rasterisation du fichier ci dessus avec les valeurs de friction (en appliquant une palette de couleur je vois bien les différentes valeurs issues de friction)
- un fichier de points avec 2 points. Ceux-ci sont situés dans des zones avec la friction la moins élevée et séparées par des zones avec des valeurs de frictions plus ou moins élevées.
(j'ai créé les données de façon à ce que la ligne droite entre ces 2 points ne soit pas le chemin de moindre coût)
Là j'utilise alors la commande r.cost sous Sextante, je rentre les paramètres suivants :
Name of raster containing cell cost information : mon MOS rasterisé
Name of starting vector points map : ma couche shp de points
Name of stop vector points map : ma couche shp de points
Use the "Knights move" : yes
GRASS region extent : où je définis mon MOS rastérisé
GRASS region cellsize : celle de mon MOS rastérisé
Mais alors que je devrais obtenir un raster de coût, j'obtiens seulement les pixels des 16 directions de mes 2 points (exemple ci dessous) mais pas plus.
. . . . . . . . . . . . . . .
. . . K . . K . . .
. . . . . . . . . . . . . . .
. . K . X . X . X . K . .
. . . . . . . . . . . . . . .
. . . X . O . X . . .
. . . . . . . . . . . . . . .
. . K . X . X . X . K . .
. . . . . . . . . . . . . . .
. . . K . . K . . .
. . . . . . . . . . . . . . .
Je ne sais pas si je m'y suis bien pris et si j'ai été très clair dans mon explication, mais si quelqu'un peut m'aider, je lui en serait reconnaissant.
Merci à tous
Hors ligne
#2 Wed 09 January 2013 17:23
- Anne-Sophie_RD
- Participant occasionnel
- Lieu: Bagnères-de-Bigorre
- Date d'inscription: 2 Apr 2012
- Messages: 36
Re: QGIS 1.8 : Problème utilisation r.cost Sextante
Bonjour!
Pour déterminer le chemin de moindre coût avec GRASS, je te conseille ces 2 étapes :
1) Générer un raster de coût cumulé de déplacement depuis ton point de départ avec la fonction r.cost. Cette fonction permet de générer un raster de distance pondérée. Ici, ton type de pondération est la friction. Le raster de coût cumulé donne donc le coût minimal pour atteindre chaque pixel
depuis le point de départ donné en paramètre.
2) A partir de ce raster, il est possible de calculer le chemin de moindre effort entre ce point de départ donné en paramètre et un autre point
de la carte. La fonction r.drain permet de générer ce chemin (la"couche matricielle d’élévation" à donner est la couche de coût cumulé).
J'espère t'avoir aidé!
Anne-Sophie
Hors ligne
#3 Wed 09 January 2013 19:16
- Kinad Vandar
- Participant occasionnel
- Date d'inscription: 12 Dec 2011
- Messages: 10
Re: QGIS 1.8 : Problème utilisation r.cost Sextante
Bonjour Anne-Sophie et merci
Pour la démarche, je suis d'accord mais mon problème c'est que le raster de coût cumulé de déplacement n'est pas généré. Il y a seulement 32 (2*16) pixels de générés, autour des points.
De ce que je comprends de ta réponse, je suis obligé de faire cette manip point par point ? Je devrais pourtant en utilisant des couches vecteurs départ et arrivée pouvoir utiliser plusieurs point de départ et d'arrivée me semble-t-il ?
PS : Je viens de tester en utilisant un seul point pour générer mon raster de coût, même résultat. J'obtiens un raster, non pas avec autant de pixels que mon raster de friction, mais seulement avec 16 pixels (répartis comme sur le schéma de mon premier post) autour du point de départ
Dernière modification par Kinad Vandar (Wed 09 January 2013 19:25)
Hors ligne
#4 Thu 10 January 2013 10:11
- Anne-Sophie_RD
- Participant occasionnel
- Lieu: Bagnères-de-Bigorre
- Date d'inscription: 2 Apr 2012
- Messages: 36
Re: QGIS 1.8 : Problème utilisation r.cost Sextante
Ton soucis vient peut-être du fait que tu rentres la même couche pour tes points d'arrivée et de départ dans les paramètres de la fonction r.cost. As-tu essayé de générer ton raster de coûts cumulés sans préciser de "stop vector points map"? Cela devrait te générer le raster de coûts cumulés au départ de tes points. C'est juste par la suite avec r.drain que tu pourras préciser tes points d'arrivée afin de déterminer tes chemins de moindre coût.
Sinon, j'ai dû mal m'exprimer, mais tu peux bien entendu utiliser des couches vecteurs avec plusieurs points pour le départ et l'arrivée.
J'espère que ça va marcher! Tiens moi au courant.
Anne-Sophie
Hors ligne
#5 Thu 10 January 2013 16:17
- Kinad Vandar
- Participant occasionnel
- Date d'inscription: 12 Dec 2011
- Messages: 10
Re: QGIS 1.8 : Problème utilisation r.cost Sextante
Merci beaucoup Anne-Sophie, c'est impeccable !
J'ai enfin réussi à générer mon raster de coût cumulé en indiquant comme starting vector points map ma couche de point et comme stop vector points map une couche de points vide. J'ai tenté de reproduire la manip avec un MNT tranformé en raster de pente et ça fonctionne aussi !
mais ..... maintenant c'est la fonction r.drain qui plante, je ne comprends pas pourquoi.
J'ai tenté de voir le log de sextante mais il ne me référence pas l'erreur
Aurais-tu une idée par hasard Anne Sophie ?
Merci
Dernière modification par Kinad Vandar (Thu 10 January 2013 16:49)
Hors ligne
#6 Fri 11 January 2013 11:26
- Anne-Sophie_RD
- Participant occasionnel
- Lieu: Bagnères-de-Bigorre
- Date d'inscription: 2 Apr 2012
- Messages: 36
Re: QGIS 1.8 : Problème utilisation r.cost Sextante
Déjà un problème de réglé!
Un petite remarque cependant : je ne sais pas comment ça marche en passant par Sextante, mais normalement (directement sous GRASS en tout cas), tu n'es pas obligé de renseigner quelque chose pour stop vector points map dans la fonction r.cost, tu peux ne pas rentrer ce paramètre (pas besoin de s'embêter à "créer" une couche de points vide).
Pour le plantage de r.drain, sans plus d'info, je ne peux pas te dire. Qu'est ce que tu rentres comme paramètres?
Anne-Sophie
Hors ligne
#7 Tue 15 January 2013 13:48
- Kinad Vandar
- Participant occasionnel
- Date d'inscription: 12 Dec 2011
- Messages: 10
Re: QGIS 1.8 : Problème utilisation r.cost Sextante
Merci pour ton aide Anne Sophie. Je suis en déplacement en ce moment donc je n'ai pas encore pu tester. Dès que j'aurais à nouveau accès aux données je solliciterai à nouveau ton aide si possible.
Merci d'avance en tt cas
Thomas
Hors ligne