#1 Fri 07 August 2009 16:13
- Sam_Dalembert
- Participant actif
- Lieu: Mérignac
- Date d'inscription: 5 Aug 2009
- Messages: 121
Problème python avec gdal (gdal_merge)
Bonjour,
J'aurais voulu utiliser la fonction gdal_merge. Seulement, c'est un fichier .py, et apparemment il faut "compiler gdal avec python" seulement je ne pige pas grand chose...
J'utilise FWTools (2.4.2), logiquement Python est déjà compilé non ? J'ai téléchargé au cas où la version 2.5 de python, j'ai ajouté C:\Python25 au PATH, j'ai ajouté l'extension .PY à PATHEXT...enfin bref j'ai fait un peu tout ce que je trouvais sur le net. Mais ça ne marche toujours pas.
En tapant "gdal_merge ...etc" j'ai comme message "Python : can't open file" et en tapant "python gdal-merge.py ...etc" j'ai "Import error : No module named gdal"...
Je nage complètement !
Si quelqu'un peut m'aider, merci
Hors ligne
#2 Fri 07 August 2009 16:25
- tomi
- Participant occasionnel
- Date d'inscription: 29 Jul 2009
- Messages: 22
Re: Problème python avec gdal (gdal_merge)
Bonjour,
as-tu essayé d'enlever l'extension .py de la ligne de commande?
à+
Hors ligne
#3 Fri 07 August 2009 16:30
- Sam_Dalembert
- Participant actif
- Lieu: Mérignac
- Date d'inscription: 5 Aug 2009
- Messages: 121
Re: Problème python avec gdal (gdal_merge)
Ca me donne le même message d'erreur : "python : can't open file".
Dernière modification par Sam_Dalembert (Fri 07 August 2009 16:30)
Hors ligne
#4 Fri 07 August 2009 16:35
- tomi
- Participant occasionnel
- Date d'inscription: 29 Jul 2009
- Messages: 22
Re: Problème python avec gdal (gdal_merge)
je remonte des souvenirs (arf je n'ai pas mes notes avec moi, dsl et pas fwtools installé), il faut peut être essayer de se mettre dans un autre dossier de fwtools, il me semble que le gdal_merge.py est ailleurs ...?
Hors ligne
#5 Mon 10 August 2009 09:06
- Sam_Dalembert
- Participant actif
- Lieu: Mérignac
- Date d'inscription: 5 Aug 2009
- Messages: 121
Re: Problème python avec gdal (gdal_merge)
C:\Program Files\FWTools2.4.2\bin
Je me mets bien dans ce dossier-là...
(merci d'essayer en tous cas !)
Hors ligne
#6 Mon 10 August 2009 09:42
- Nicolas Granier
- Participant assidu
- Date d'inscription: 19 Apr 2007
- Messages: 271
Re: Problème python avec gdal (gdal_merge)
Bonjour,
Je me souviens que j'ai eu le même problème il n'y a pas si longtemps.
Question=> D'où lancer vous la fonction gdal_merge ? de l'invité de commande DOS ou bien de l'invité de commande FWTOOLS ?
Pour ma part (je dois encore avoir des problèmes dans mes variables d'environnement ), la fonction marche très bien dans l'invité de commande de FWTOOLS mais pas dans l'inité de commande windows.
La syntaxe pour lancer la fonction est "gdal_merge" uniquement. En tapant uniquement ce mot, l'aide sur les paramètres de la fonction apparait (voir ci dessous).
Code:
--------------------------------------------------------------- C:\FWTools>gdal_merge No input files selected. Usage: gdal_merge.py [-o out_filename] [-of out_format] [-co NAME=VALUE]* [-ps pixelsize_x pixelsize_y] [-separate] [-v] [-pct] [-ul_lr ulx uly lrx lry] [-n nodata_value] [-init value] [-ot datatype] [-createonly] input_files [--help-general] -----------------------------------------------------------------------
Voici mes variables d'environnement :
Code:
FWTOOLS_DIR: C:\FWTools GDAL_DATA: C:\FWTools\data GDAL_DRIVER_PATH: C:\FWTools\gdal_plugins GEOTIFF_CSV: C:\FWTools\data Path: C:\FWTools\bin;C:\Logiciel\ARCGIS93\Python;C:\Logiciel\ARCGIS93\Python\Lib PROJ_LIB: C:\FWTools\proj_lib PYTHONPATH : C:\Logiciel\ARCGIS93\Desktop\ArcGIS\Bin
! j'utilise la version de python fourni avec Arcgis et non celle de FWTOOLS.
En espérant que cela t'aide. Moi j'y avais passé pas mal de temps avant que ça fonctionne
Hors ligne
#7 Mon 10 August 2009 10:02
Re: Problème python avec gdal (gdal_merge)
Chez Nicolas Granier rien est installé dans C:\Program Files.
Je sais que j'ai eu de nombreux problèmes à cause de configurations par défaut qui suppose qu'on est connecté en tant qu'administrateur sur son PC. Essaye une installation dans des répertoires du genre "Logiciel", ça permet d'éviter quelques problèmes, même si ici je ne sais plus exactement ce qui est fait, et donc si c'est vraiment utile.
Jérôme Cuinet
L'avantage de la Chine, c'est que le soleil se couche plus tard !
Hors ligne
#8 Mon 10 August 2009 11:08
- Sam_Dalembert
- Participant actif
- Lieu: Mérignac
- Date d'inscription: 5 Aug 2009
- Messages: 121
Re: Problème python avec gdal (gdal_merge)
Ahhh Merci ça marche, en effet avec la fenêtre de FWTools ça fonctionne.
Par contre nouveau problème ()) quand j'essaye d'assembler, il me dit qu'il ne peut écrire qu'en GTiff ou HFA. Or je voudrais l'assembler virtuellement, comme "HotShot" le décrit dans ce topic : http://www.forumsig.org/archive/index.php?t-6161.html (le message du 15/03/2006, 14h33)
Mais là, il me met:
Code:
" ERROR 1: Writing through VRTSourcedRasterBand is not supported. Traceback (most recent call last): File "C:\PROGRA~1\FWTOOL~1.2\bin\gdal_merge.py", line 443, in ? fi.copy_into( t_fh, band, band, nodata ) File "C:\PROGRA~1\FWTOOL~1.2\bin\gdal_merge.py", line 240, in copy_into nodata_arg ) File "C:\PROGRA~1\FWTOOL~1.2\bin\gdal_merge.py", line 60, in raster_copy data, t_xsize, t_ysize, t_band.DataType ) File "C:\PROGRA~1\FWTOOL~1.2\pymod\gdal.py", line 869, in WriteRaster buf_string, buf_xsize, buf_ysize,buf_type) TypeError: Writing through VRTSourcedRasterBand is not supported. "
Ca te dit quelque chose ?
Sachant (je ne sais pas si ça a un lien) que je n'ai pas de dossier gdal_plugins, donc je ne sais pas définir le GDAL_DRIVER_PATH avec quel dossier. (j'ai bin, csharp, data, demo-data, html, include, lib, pics, proj_lib, pymod, python, ramps, tools, vb6, wms, xmlconfig)
Hors ligne
#9 Mon 10 August 2009 11:26
- Sam_Dalembert
- Participant actif
- Lieu: Mérignac
- Date d'inscription: 5 Aug 2009
- Messages: 121
Re: Problème python avec gdal (gdal_merge)
Bon ben retour à la case départ ^_^
Là c'est ma faute, je n'avais pas fait attention. C'est gdal_vrtmerge.py qu'il fallait. Je l'ai téléchargé ( http://www.vso.cape.com/~nhv/files/gdal … rtmerge.py ), mais je me retrouve avec le message suivant:
Code:
" Traceback (most recent call last): File "C:\PROGRA~1\FWTOOL~1.2\bin\gdal_vrtmerge.py", line 30, in <module> import gdal File "C:\PROGRA~1\FWTOOL~1.2\pymod\gdal.py", line 191, in <module> import _gdal ImportError: No module named _gdal "
Donc je me retrouve encore avec ce "No module named _gdal"
EDIT: enfin là c'est _gdal, et non plus gdal
Dernière modification par Sam_Dalembert (Mon 10 August 2009 11:36)
Hors ligne
#10 Mon 10 August 2009 11:30
- Sylvain_M
- Membre
- Lieu: Lyon
- Date d'inscription: 3 Aug 2009
- Messages: 298
Re: Problème python avec gdal (gdal_merge)
salut,
le message d'erreur me fais penser à un plugin absent ...
étant un utilisateur de linux j'aurai un peu de mal à te donner la démarche exacte, mais je te conseillerais de regarder du coté de OSGeo4W (http://trac.osgeo.org/osgeo4w/).
Il s'agit d'une interface graphique windows qui permet d'installer facilement tou un tas d'outils sig libres initialement concus pour linux (contient entre autre GDAL/OGR, GRASS, MapServer, OpenEV, uDig, QGIS ), en gérant les dépendances et la config ... et qui propose normalement tous les plugins disponibles !
Hors ligne
#11 Mon 10 August 2009 12:04
- Nicolas Granier
- Participant assidu
- Date d'inscription: 19 Apr 2007
- Messages: 271
Re: Problème python avec gdal (gdal_merge)
Re,
je dispose de deux versions de Fwtools. La fonction gdal_vrtmerge fonctionne normalement, il s'agit là d'un problème de variable d'environnement je pense.
Un fichier gdal_vrt_merge.bat accompagne le ".py". Il est renseigné par la ligne suivante :
Code:
@python "%FWTOOLS_DIR%\bin\gdal_vrtmerge.py" %*
Vous pouvez essayer de la rajouter mais je ne pense pas que le problème vienne de là.
Les versions récentes FWTOOLS (du moins supérieures à la 3, "je crois bien"), intègrent par défaut la fonction "gdalbuildvrt". Un petit tour sur le site Softlibre et je pense que vous pourrez constituer votre mosaique en vrt.
Bon courage
Hors ligne
#12 Mon 10 August 2009 16:29
- Sam_Dalembert
- Participant actif
- Lieu: Mérignac
- Date d'inscription: 5 Aug 2009
- Messages: 121
Re: Problème python avec gdal (gdal_merge)
Ahhhhhh
Ca suffisait en fait, ce petit .bat. Et du coup j'ai essayé, et ça fonctionne. Donc un gros merci !
Bon dernier problème (promis !).
J'assemble virutellement mes photos, je reprojectionne virtuellement mes photos, je sors ma photo en ecw. L'image est correctement calée, et je n'ai plus les bords qui font tache.
MAIS, je ne saisis pas trop comment redécouper proprement...
(toujours par HotShot sur le lien)
"
2/ extraction de dalles reprojetées en lat/lon(wgs84) grâce à gdal_translate, selon un pas constant (à déterminer... en fonction de la résolution voulue des textures et leur dimension LxH). Par exemple au moyen d'un petit fichier batch qui appelle de façon répétée gdal_translate en faisant varier à chaque fois les Xmin/max et Ymin/max de la zone à extraire.
gdal_translate -of [format] -projwin [Xmin Ymax Xmax Ymin, ce sont les params qu'on fait varier par fichier batch] Reproj.vrt [Fichier.xxx, le fichier de sortie, avec un nom différent pour chaque dalle extraite]
"
OK il faut mettre les coordonnées des images que l'on veut sortir. Mais comment savoir quelles sont les coordonnées à mettre ?
Je ne trouve pas ces infos dans le fichier .vrt par exemple...
Je ne sais pas, il faut par exemple convertir les coordonnées (avec Circé par exemple ?) de la photo d'origine de chaque coin (haut gauche et bas droit) vers le nouveau système ?
Il y a une solution plus rapide ?
Dernière modification par Sam_Dalembert (Mon 10 August 2009 16:29)
Hors ligne
#13 Mon 10 August 2009 17:01
- Sylvain_M
- Membre
- Lieu: Lyon
- Date d'inscription: 3 Aug 2009
- Messages: 298
Re: Problème python avec gdal (gdal_merge)
je te conseillerais d'utiliser gdal_grid (http://www.gdal.org/gdal_grid.html) qui est concu pour générer une grille de raster ...
Utilise gdalinfo pour connaitre les caractéristiques de ton image ecw, ca te donnera les coordonnées des angles, à toi ensuite de savoir qu'elle taille d'image tu veux obtenir en sortie ...
petite précision: si j'ai bien compris ce que tu cherches à faire, c'est de partir d'une grille de raster dans une projection, et d'en faire une nouvelle grille redécoupée et dans une autre projection?
si c'est bien le cas, je te conseilles de regarder du coté de gdal_retile (http://www.gdal.org/gdal_retile.html) qui est prévu pour "retiles a set of tiles and/or build tiled pyramid levels"...
en passant, je te conseille vivement d'utiliser les dernières versions de gdal téléchargeables depuis le site gdal.org, les liens que tu as donné sont de très vieiulles versions, il y a eu pas mal d'évolution depuis ...
Hors ligne