Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Thu 24 July 2014 16:57

gmenguy
Participant actif
Lieu: Epinal
Date d'inscription: 24 Apr 2006
Messages: 54

QGIS & GRASS : programmation en python

Bonjour,

Je travaille actuellement sur la réalisation d'isodistance avec le module Grass implémenté dans Qgis. J'ai réussi à réaliser mes isodistances avec les module V.net suivi de V.net.iso.

J'aimerai maintenant automatiser la création d'isodistance afin que l'utilisateur final puisse cliquer sur un bouton et ainsi exécuter le déroulement des outils de manière transparente.

J'ai d'abord pensé au modeleur graphique de Qgis mais il ne prend pas en charge les outil grass utilisés (v.net et v.net.iso), il ne me reste donc que la programmation en python à priori.

je n'ai jamais programmé en python mais je connais un peu le langage objet, j'ai donc besoin d'un peu d'aide sur ce sujet.

Voilà le déroulé du programme :

Etape 1 : Suppression de la couche "reseau_ligne" et reseau_point" (contenu dans le mapset grass) du gestionnaire des couches (sinon l'étape 2 génére une erreur)

Etape 2 : on génère à nouveau la couche "reseau" à partir de la fonction v.net de grass

Etape 3 : on charge dans le gestionnaire des couches les nouvelles couches "reseau" créées (reseau_point et reseau_ligne)

Etape 4 : on génrer le fichier d'isodistance à partir du pmodule v.net.iso de grass


Je n'arrive pas à trouver les fonctions python pour réaliser ces étapes; j'ai réussi à ajouter une couche vecteur et même pas à la supprimer alors autant dire que je pars de loin :-( Malherursement, il n'y pas grand chose sur le net sur ces sujets

Auriez quelques pistes de travail au minimum pour pointer sur les objet grass ?

Merci par avance pour votre aide

gwen

Hors ligne

 

#2 Sat 26 July 2014 09:53

gene
Participant actif
Lieu: Louvain-la-Neuve
Date d'inscription: 14 Dec 2006
Messages: 104
Site web

Re: QGIS & GRASS : programmation en python

Bonjour, il y a plusieurs aspects rédhibitoires dans vos questions

1) GRASS GIS n'est pas QGIS. Ce sont deux logiciels forts différents et ce, y compris dans les traitements en Python (grass.script et PyQGIS)
2) mais vous pouvez utiliser GRASS dans QGIS de 2 manières, Plugin et Traitements/Boîte à Outils. Cette dernière possibilité vous offre la possibilité d'utiliser PyQGIS pour traiter les commandes GRASS
3) malheureusement, si un module GRASS n'est pas implanté dans un algorithme de cette Boîte à outil (ce qui est le cas des commandes v.net...dans mon cas tout du moins), cela devient complexe, surtout si vous ne connaissez pas Python (il vous faut connaitre PyQGIS et le module Python processing + le détail des commandes GRASS)


Je n'arrive pas à trouver les fonctions python pour réaliser ces étapes;


Il n'y en a pas de toute faite pour le moment

Donc, à mon avis:
- soit vous restez dans GRASS GIS, que vous pouvez utiliser avec Python et le module grass.script (ou pyGRASS pour la version 7)
- soit vous utlisez PyQGIS et le module Network analysis http://docs.qgis.org/testing/en/docs/py … lysis.html

Code:

from qgis.networkanalysis import *

ou dans un script dans la Boîte à outil de Traitements comme illustré par Anita Graser dans https://github.com/anitagraser/QGIS-Pro … o_route.py, par exemple.

Dernière modification par gene (Sat 26 July 2014 13:13)

Hors ligne

 

#3 Tue 18 August 2015 11:20

m3lanoo
Participant occasionnel
Date d'inscription: 15 May 2014
Messages: 29

Re: QGIS & GRASS : programmation en python

J'ai quasiment le même problème, mais je ne trouve pas de solution.

Je dois également utilisé les commandes d'analyse de réseau de GRASS.

http://www.forumsig.org/showthread.php/ … ole-Python (Poste que j'ai créé avec plus de détails sur mon problème)

Merci pour vos réponses!

Hors ligne

 

Pied de page des forums

Powered by FluxBB