#1 Tue 10 February 2015 23:18
- fanchec
- Participant occasionnel
- Date d'inscription: 17 Dec 2009
- Messages: 49
r.stream.order
Bonjour
Je travaille sous QGIS 2.6.1 et windows 7.
J'essaye sans succès d'utiliser le module r.stream.order.
Première solution : directement depuis Grass.
Le module, que j'ai installé avec "installer une extension depuis les add-ons", n'apparait pas dans la liste des modules (menu -> raster).
première question : pourquoi cette invisibilité ?
Aussi j'essaye de le lancer depuis la ligne de commande;
ma commande :
r.stream.order stream_rast=stream direction=drainage strahler=strahler
provoque le message : unable to fetch interface description for command r.stream.order
deuxième question : aurais je mal écrit ma commande ?
Deuxième solution : depuis QGIS.
Le module, visible depuis "boite à outils -> Grass commands", se lance avec des couches "non Grass" mais résultat :
""""""""
The above files could not be opened, which probably indicates that they were not correctly produced by the executed algorithm
Checking the log information might help you see why those layers were not created as expected
This algorithm requires GRASS to be run. A test to check if GRASS is correctly installed and configured in your system has been performed, with the following result:
GRASS seems to be correctly installed and configured
""""""""""
Avec des couches "Grass", le message est :
'None Type" object has no attribute 'extent'.
Je précise que le fichier log est inaccessible car la fenêtre se ferme dès que l'on supprime le message d'erreur !
Vous l'avez compris, je ne maitrise pas (encore) toutes les subtilités de Qgis / Grass / modules and co.
Je réclame donc votre indulgence et serait de quelques pistes à explorer pour résoudre mon problème.
Cordialement
Hors ligne
#2 Thu 12 February 2015 11:28
- fanchec
- Participant occasionnel
- Date d'inscription: 17 Dec 2009
- Messages: 49
Re: r.stream.order
PROBLEME RESOLU
Ne pas confondre Grass inclus dans QGIS avec un package Grass 'autonome'.
Si l'interface est la même, l'une fait référence au package QGIS-GRASS et l'autre au seul package GRASS.
J'ai donc installé Grass 6.4.4.
J'ai installé les modules r.stream.*.
Et la ligne de commande r.stream.xxx déclenche bien le module afférent.
Par contre je ne comprends pas que Qgis offre la possibilité de visualiser des modules via "Boites à outils" qui ne soient pas opérationnels dans son univers : le module semble tourner mais aucun fichier n'est créé.
Hors ligne
#3 Fri 13 February 2015 13:14
Re: r.stream.order
Votre problème a été résolu dans la question que vous avez posée sur http://gis.stackexchange.com/questions/ … 4-3/134050 (il est préférable de citer ses sources...)
1) l'application GRASS GIS (et non un package Grass autonome ?) n'est pas QGIS, chacune évoluant séparément.
2) pour faire fonctionner les algorithmes de la Boîte à outil, le module python processing de QGIS utilise le module standard subprocess qui fait directement appel à la commande GRASS spécifiée
3) si vous pouvez utiliser l'interface du module, c'est parce que processing permet de créer des interfaces très facilement à partir des variables soumises (comme tout bon programme, l'interface est découplée du traitement)
4) la librairie/programme ne s'exécute pas car elle est placée dans un autre dossier que celui où sont placées les commandes standard. Donc, Python (et subprocess) ne la trouve pas (ce devrait être indiqué dans le fichier log de processing)
5) si vous connaissez bien Python, il est facile de corriger le tir pour que l'interface soit liée à la librairie.
Dernière modification par gene (Fri 13 February 2015 16:32)
Hors ligne
#4 Sat 14 February 2015 16:59
- fanchec
- Participant occasionnel
- Date d'inscription: 17 Dec 2009
- Messages: 49
Re: r.stream.order
merci mille fois Gene qui êtes complètement à l'origine de la résolution du bug;
ma pitoyable connaissance des arcanes qgis / grass / module / python et consoeurs m'y a fait reprendre à plusieurs reprises avant que votre solution ne fonctionne sur mon ordi;
d'où un certain retard à l'allumage et un manque de respect en ne vous citant pas comme la source pourlequel je m'excuse.
Encore merci, d'autant que je calcule maintenant des bassins versants à tire larigot ...
Reste des soucis d'allocation de mémoire (j'ai des rasters énormes) que je résous en découpant ma zone par secteur hydro : plus long mais résultat garantie.
Hors ligne