Message posté par : Alphonse_66
----------------------------------------
Bonjour à tous,
J'ai une petite centaine de fichiers à reprojeter. Ce sont des fichiers txt se présentant tous sous la même forme. J'ai commencé à utiliser Circe 5.1, l'outil open software de l'GN, mais je dois pour le moment manipuler les fichiers un à un. Il faut sélectionner à chaque fois l'emplacement et le nom du fichier source puis l'emplacement et le nom du fichier destination. La moindre inattention se traduit par une erreur, un fichier résultant vide ou avec les données de la précédente source.
Comme j'ai encore une autre centaine de transformations qui m'attendent, j'ai essayé de créer un fichier batch (je travaille avec Windows). Mais je ne parviens même pas à lancer l'exécutable en ligne de commande. Les paramètres sont bien ceux que le logiciel affiche dans la fenêtre de l'interface graphique, ce que recommande le mode d'emploi, mais ils ne sont pas acceptés.
Quelqu'un aurait une solution pour automatiser cette opération ? Ou un autre logiciel fiable qui ferait des reprojections de même précision ?
A.
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=333791#p333791
Pour y répondre : geolibre(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
Message posté par : Coffee
----------------------------------------
Salut :-)
Je débute en géomatique et je découvre en particulier les SIG.
Je suis un manuel "Systèmes d'information géographique. Avec les logiciels libres GRASS et QGIS" des éditions Dunod.
Je progresse pas à pas sur les deux logiciels mais j'ai parfois un peu de mal à m'y retrouver. Le manuel est très bien mais j'ai l'impression qu'il y a parfois des erreurs. Je bloque donc quelques temps puis finit par trouvé une solution en m'adaptant ou passe à l'exercice suivant en essayant de m'approprier ce que je peux de la notion.
En ce moment j'ai un problème sur un exercice qui concerne GRASS. On y découvre différents environnements de programmation : l'interpréteur bash, R du CRAN et la console python. Je me familiarise aux procédés, cela se passe bien pour l'interpréteur bash, pour R du CRAN je suis bloqué à cause d'un package non installé mais je passe, et pour la console python je suis confronté au problème suivant.
Le manuel propose d'écrire un script permettant d'importer puis de transférer une couche vecteur en raster. Le script est le suivant :
-----------------
Code :
# coding: utf-8
if __name__ == '__main__':
exec(open("./envir.py").read())
cmd("v.in.ogr input=" + dirSrc + "/landuse/LU1998.shp --overwrite)
cmd("g.region vector=LU1998 res=10")
cmd("v.to.rast input=LU1998 output=LU1998 use=attr attribute_column=ID2 label column=LU2 --overwrite")
-----------------
Je crée le script, l'ouvre dans l'éditeur simple de la console python, et l'éxécute. J'obtiens une première erreur "[Errno 8] Erreur de format pour exec():", j'y ai été confronté juste avant et l'ai résolue en rajoutant une première ligne "#!/usr/bin/env python3". Je le fais. Ensuite j'obtiens l'erreur suivante à l'éxécution :
-----------------
Code :
line 5
cmd("v.in.ogr input=" + dirSrc + "/landuse/LU1998.shp
--overwrite)
^
SyntaxError: unterminated string literal (detected at line
5)
-----------------
Je pense comprendre ce que c'est, sans doute une erreur dans le manuel, un guillemet manquant. Je pense en voir une autre, un espace manquant devant "cmd" à la dernière ligne. Je les corrige et le sript serait donc le suivant :
-----------------
Code :
#!/usr/bin/env python3
# coding: utf-8
if __name__ == '__main__':
exec(open("./envir.py").read())
cmd("v.in.ogr input=" + dirSrc + "/landuse/LU1998.shp --overwrite")
cmd("g.region vector=LU1998 res=10")
cmd("v.to.rast input=LU1998 output=LU1998 use=attr attribute_column=ID2 label column=LU2 --overwrite")
-----------------
J'obtiens alors l'erreur suivante :
-----------------
Code :
line 5, in <module>
cmd("v.in.ogr input=" + dirSrc + "/landuse/LU1998.shp
--overwrite")
NameError: name 'cmd' is not defined
-----------------
"cmd" n'est donc pas reconnu. J'ai cherché sur internet et apparemment les commandes sont introduites différemment, par "grass.run_command" par exemple. Mais quand j'essaye, j'ai la même erreur.
Pourriez-vous m'aider s'il vous plaît?
Merci :-)
----------------------------------------
Le message est situé https://georezo.net/forum/viewtopic.php?pid=365184#p365184
Pour y répondre : geolibre(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