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

Annonce

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#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