Message posté par : Alicemartin
----------------------------------------
Re-bonjour,
Je tiens une piste qui donnera ce qu'elle donnera : j'essaie de faire un script
python qui utilise Grass et, une fois qu'il fonctionnera, j'essayerai de le faire
fonctionner avec le transformer PythonCaller.
Je vous détaille les étapes que j'ai suivi jusqu'ici et qui serviront peut être à
d'autre :
1/ j'ai installé Python 3.9.5 64bit pour windows à l'aide du fichier Windows
installer (64-bit) téléchargeable sur
https://www.python.org/downloads/release/python-395/
2/ j'ai lancé python depuis le bouton windows comme un logiciel classique
3/ dans la fenêtre qui s'ouvre, j'ai lancé le script ci-dessous, adapté d'un
script trouvé sur
https://grass.osgeo.org/grass74/manuals/libpython/script.html#module-script… (les
éléments entre crochets sont à adapter)
-----------------
Code :
import os
import sys
import subprocess
gisdb = os.path.join(os.path.expanduser("~"), "[chemin d'accès
d'une base Grass, à paramétrer avant]")
location = "[nom d'un secteur, à paramétrer avant sur Grass"
mapset = "[nom d'un jeu de données, à paramétrer avant sur Grass]"
grass7bin = r'[lien vers le fichier grass78.bat de Grass, pour moi C:\Program
Files\QGIS 3.10\bin\grass78.bat]'
startcmd = [grass7bin, '--config', 'path']
try:
p = subprocess.Popen(startcmd, shell=False,
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = p.communicate()
except OSError as error:
sys.exit("ERROR: Cannot find GRASS GIS start script"
" {cmd}: {error}".format(cmd=startcmd[0], error=error))
if p.returncode != 0:
sys.exit("ERROR: Issues running GRASS GIS start script"
" {cmd}: {error}"
.format(cmd=' '.join(startcmd), error=err))
gisbase = out.strip(os.linesep)
-----------------
Malheureusement, je bute déjà sur un message d'erreur suite à une erreur de syntaxe
sur la commande
-----------------
Code :
if p.returncode != 0:
-----------------
Quelqu'un aurait-il une idée de la bonne syntaxe à appliquer pour que ce début de code
fonctionne ?
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=343825#p343825
Pour y répondre : fme_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net