#1 Wed 03 June 2015 14:24
- Maxime Vitter
- Participant occasionnel
- Lieu: Lyon
- Date d'inscription: 26 Apr 2013
- Messages: 31
gdal_merge.py en ligne de commande
Bonjour,
Je souhaite utiliser gdal_merge.py en ligne de commande afin d'assembler de nombreuses petites images en tif (+ de 600 images).
Après plusieurs essais où je lui indique des chemins de GDAL ou python différents, j'obtiens toujours un message d'erreur de ce type. Sur l'exemple, il s'agit d'un cas simple d'assemblage de deux images.
avez-vous une idée de la cause et de comment la contourner?
merci pour votre aide
Maxime
Code:
> system(paste0(ch_GDAL,"python.exe ",ch_GDAL,"gdal_merge.bat -of GTiff -o D:/THESE/ASCOSEG_vbigData/data/3_images_tif/essai.tif D:/THESE/ASCOSEG_vbigData/data/3_images_tif/go_06_1016_6344_9.tif D:/THESE/ASCOSEG_vbigData/data/3_images_tif/go_06_1016_6346_9.tif") + ) ImportError: No module named site Message d'avis : l'exécution de la commande 'C:/OSGeo4W64/bin/python.exe C:/OSGeo4W64/bin/gdal_merge.bat -of GTiff -o D:/THESE/ASCOSEG_vbigData/data/3_images_tif/essai.tif D:/THESE/ASCOSEG_vbigData/data/3_images_tif/go_06_1016_6344_9.tif D:/THESE/ASCOSEG_vbigData/data/3_images_tif/go_06_1016_6346_9.tif' renvoie un statut 1 >
Maxime VITTER - Doctorant CIFRE en télédétection
Hors ligne
#2 Thu 04 June 2015 08:46
- Nicolas Granier
- Participant assidu
- Date d'inscription: 19 Apr 2007
- Messages: 271
Re: gdal_merge.py en ligne de commande
Bonjour,
C'est un message d'erreur assez classique.
La console indique que le module site.py n'existe pas.
Pour cela il vous faut indiquer dans les variables d'environnement une variable PYTHONPATH qui contiendra la valeur de l'emplacement des librairies python de la version de python installée avec OSGEO. Normalement => C:\OSGeo4W64\apps\Python27\Lib
Si cela ne fonctionne pas vous pouvez peut être aussi essayer de remplacer le "python.exe" par "C:/OSGeo4W64/bin/python.exe" si vous avez plusieurs versions de pythons installées
A+
Nicolas GRANIER
Hors ligne
#3 Fri 05 June 2015 16:03
- Maxime Vitter
- Participant occasionnel
- Lieu: Lyon
- Date d'inscription: 26 Apr 2013
- Messages: 31
Re: gdal_merge.py en ligne de commande
Bonjour,
merci pour votre réponse. J'ai pu avancé. malgré tout je suis de nouveau bloqué via un second message d'erreur. Il doit falloir déclarer d'autres librairies de python? avez-vous une idée?
Code:
> system(paste0("C:/OSGeo4W64/bin/python.exe ",ch_GDAL,"gdal_merge.py -of GTiff -o D:/MVI/THESE/ASCOSEG_vbigData/data/3_images_tif/essai.tif D:/MVI/THESE/ASCOSEG_vbigData/data/3_images_tif/go_06_1016_6344_9.tif D:/MVI/THESE/ASCOSEG_vbigData/data/3_images_tif/go_06_1016_6346_9.tif")) Traceback (most recent call last): File "C:/OSGeo4W64/bin/gdal_merge.py", line 37, in <module> import gdal File "C:\OSGeo4W64\apps\Python27\lib\site-packages\gdal.py", line 2, in <module> from osgeo.gdal import deprecation_warn File "C:\OSGeo4W64\apps\Python27\lib\site-packages\osgeo\__init__.py", line 21, in <module> _gdal = swig_import_helper() File "C:\OSGeo4W64\apps\Python27\lib\site-packages\osgeo\__init__.py", line 17, in swig_import_helper _mod = imp.load_module('_gdal', fp, pathname, description) ImportError: DLL load failed: Le module spécifié est introuvable. Warning message: running command 'C:/OSGeo4W64/bin/python.exe C:/OSGeo4W64/bin/gdal_merge.py -of GTiff -o D:/MVI/THESE/ASCOSEG_vbigData/data/3_images_tif/essai.tif D:/MVI/THESE/ASCOSEG_vbigData/data/3_images_tif/go_06_1016_6344_9.tif D:/MVI/THESE/ASCOSEG_vbigData/data/3_images_tif/go_06_1016_6346_9.tif' had status 1 >
merci encore pour votre aide
Maxime
Maxime VITTER - Doctorant CIFRE en télédétection
Hors ligne
#4 Mon 08 June 2015 11:48
- Nicolas Granier
- Participant assidu
- Date d'inscription: 19 Apr 2007
- Messages: 271
Re: gdal_merge.py en ligne de commande
Bonjour,
après pas mal d'investigation, il s'agit d'une problème de lien sur un fichier qui est du à des "\" au lieu de "/".
L'erreur est sur ce fichier là : C:\OSGeo4W64\apps\Python27\Lib\site-packages\osgeo\__init__.py
J'ai modifié le fichier pour virer l'erreur.
Je mets le fichier en PJ.
A+
Nicolas GRANIER
Dernière modification par Nicolas Granier (Mon 08 June 2015 11:50)
Hors ligne
#5 Mon 08 June 2015 15:08
- Maxime Vitter
- Participant occasionnel
- Lieu: Lyon
- Date d'inscription: 26 Apr 2013
- Messages: 31
Re: gdal_merge.py en ligne de commande
Bonjour,
merci beaucoup! ça fonctionne!
j'ai testé une installation indépendante de GDAL avec des liaisons Python en suivant ce lien
https://pythongisandstuff.wordpress.com … n-windows/
j'ai obtenu mon résultat malgré un plantage de Python à la fin du processus. Je ne suis pas convaincu.
votre solution fonctionne très bien et j'opte pour celle-ci. Merci pour votre temps et vos recherches.
Si je comprends bien, il s'agit d'un conflit de code Linux/Windows? car je suppose que ce problème n'a pas lieu sous linux?
Malgré tout, si je suis amené à implémenter mon script sur un autre ordinateur je suis obligé de remplacer ce .py de la même manière. Ce n'est pas pratique. peut on envisager une mise à jour de ce problème dans les prochaines versions de GDAL?
encore merci et Bravo!
A +
Maxime
Maxime VITTER - Doctorant CIFRE en télédétection
Hors ligne
#6 Mon 08 June 2015 17:11
- Nicolas Granier
- Participant assidu
- Date d'inscription: 19 Apr 2007
- Messages: 271
Re: gdal_merge.py en ligne de commande
Si je comprends bien, il s'agit d'un conflit de code Linux/Windows?
oui c'est ça les chemins de dossier en unix sont sous la forme dossier1/dossier2/... et sous Windows c'est dossier1\dossier2\...
Je n'ai fait dans le fichier python à problème qu'insérer une ligne pour remplacer les "\" par des "/".
car je suppose que ce problème n'a pas lieu sous linux?
pas testé mais je ne pense pas
Ce n'est pas pratique. peut on envisager une mise à jour de ce problème dans les prochaines versions de GDAL?
OSGEO4W n'est qu'une seule des applications intégrant GDAL. je ne suis pas sur que l'erreur soit dans tous les applicatifs. Par exemple QGIS intègre aussi une version complète de GDAL. Si vous regarder dans le dossier bin de qgis vous retrouverez surement aussi un gdal_merge.py"
Si vous êtes "English fluently" vous pouvez reporter le problème sur la page de suivi de bug (faut s'inscrire avant) ici :
http://trac.osgeo.org/gdal/
Bonne continuation dans vos projets géomatiques.
Nicolas GRANIER
Hors ligne