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é ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Sat 17 October 2015 13:35

PierreP_hydro
Juste Inscrit !
Date d'inscription: 17 Oct 2015
Messages: 1

[GRASS] Utilisation de grass à partir d'une console python

Bonjour,

Je travaille sous grass 6.4.4.
Je cherche actuellement à automatiser une chaine de traitements SIG. J'ai donc écrit un script en python qui appelle des fonctions GRASS, et qui fonctionne très bien depuis la console python intégrée à GRASS, ou lorsque je lance mon script depuis la fenêtre GRASS fichier--> lancer un script.

Toutefois, j'aimerai lancer ce script automatiquement depuis un fichier .bat . J'ai donc paramétré mon script en renseignant les variables d'environnement afin de permettre le lancement depuis une console python. En particulier, j'importe correctement (a priori) le module grass.script. Je rencontre par contre des problèmes avec certaines fonctions de grass.

Par exemple,  les fonctions suivantes fonctionnent parfaitement :

Code:

g.run_command("g.region",rast="BV_MNT@PERMANENT",n=str(lim_nord),s=str(lim_sud),e=str(lim_est),w=str(lim_ouest),align="BV_MNT@PERMANENT",flags="a")

g.run_command("r.water.outlet",drainage="BV_Drainage@PERMANENT",basin=nameBV+"_rast",easting=str(X),northing=str(Y),overwrite="True")

g.run_command("r.to.vect",input=nameBV+"_rast@TRAVAIL",output=nameBV+"_vect",feature="area",overwrite="True")

Alors que les fonctions suivantes ne fonctionnent pas :

Code:

g.run_command("v.db.addcol",map=nameBV+"_vect@TRAVAIL",layer="1",columns="X_exutoire double precision,Y_exutoire double precision,Z_exutoire double precision,SurfBV_km2 varchar(255)")

g.run_command("v.db.dropcol",map=nameBV+"_vect@TRAVAIL",layer="1",column="label")

g.run_command("v.db.update",map=nameBV+"_vect@TRAVAIL",layer="1",column="X_exutoire",value=str(X))

Pour ces fonctions, j'obtiens toujours le même message d'erreur dans ma console :
" ' "" 'n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes"

Avez vous déjà rencontré ce problème, ou auriez vous des pistes pour m'aider à le résoudre?

Cordialement,

Pierre P

Hors ligne

 

Pied de page des forums

Powered by FluxBB