#1 Thu 26 March 2009 18:30
- bebert_lama
- Participant assidu
- Date d'inscription: 9 Nov 2006
- Messages: 253
Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
Bonjour à tous,
j'ai plein de Raster ESRI GRID (dossiers + .adf), quand j'essaie avec l'outil de conversion de ArcToolbox, il me renvoie un message d'erreur pour un, et idem dans le mode batch.
Comment je pourrais avec Python ou VBA écrire par exemple un "Convert ESRI GRID to GeoTIFF" à la chaine pour 100 rasters ??
J'ai testé avec FWtools (gdal) sans succès je crois qu'il ne lit pas les ESRI GRID en entrée.
Merci de vos conseils.
bbr
Hors ligne
#2 Thu 26 March 2009 18:42
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
Salut,
As tu essayé avec la fenêtre ligne de commande?
En espérant orienter tes recherches
A+
Joël
Hors ligne
#3 Thu 26 March 2009 19:08
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
Bonsoir,
il me renvoie un message d'erreur pour un
Quel message, stp ? Avant de proposer une autre soluce, on peut essayer de comprendre pourquoi cet outil ne marche pas
Robin.
Hors ligne
#4 Thu 26 March 2009 21:39
- carteq
- Participant assidu
- Date d'inscription: 8 Mar 2008
- Messages: 829
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
La plupart des outils de ArcGIS sont allergiques aux caractères illégaux dans les noms de fichiers et de dossiers, ainsi qu'aux noms trop longs. Ça cause souvent des échecs chez les francophones, qui utilisent des accents. Et à tout ceux qui utilisent des espaces.
Il faut éviter les noms de plus de 8 caractères, les accents, espaces, autres caractères non-alpha-numériques et ne pas commencer un nom par un chiffre.
Hors ligne
#5 Fri 27 March 2009 09:04
- bebert_lama
- Participant assidu
- Date d'inscription: 9 Nov 2006
- Messages: 253
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
Bonjour,
les problèmes dit par carteq sont peut-être probables à cause de la longueur des chemins ou des noms de raster (ex: z24_13). Mais en faisant des test dans C:\temp\Raster1 c'est toujours :
"one or more dropped items were invalid and will not be added to the control" donc c'est plutôt un problème de type de données Floating point ???
En ligne de commande je ne comprend pas comment faire ? Il me demande d'ouvrir un fichier .txt ??
C'est bien la commande "Raster to other format (multiple)" qu'il faut que j'utilise ??
Merci de votre aide
A+
bebert
Hors ligne
#6 Fri 27 March 2009 09:56
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
quand j'essaie avec l'outil de conversion de ArcToolbox
Je viens de tester un outil nommé "Raster to other format (Multiple)" dans la toolbox (Conversion Tool/To Raster/) qui marche nickel, avec des chemins plein de caractères spéciaux et d'espaces, donc je ne penses pas que le souci vienne de là...
Hors ligne
#7 Fri 27 March 2009 10:00
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
Salut,
essaye ceci:
Code:
RasterToOtherFormat 'C:\Temp\Raster1' 'C:\Temp\' Geotiff
En espérant t'aider
A+
Joël
Hors ligne
#8 Fri 27 March 2009 10:08
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
Jo, tu es sur pour le GeoTiff ? Dans le script il y est mentionné ceci :
Usage: RasterToOtherFormat <Input_rasters;Input_rasters...> <Output_workspace> {GRID | IMAGINE Image | TIFF | }
Pas de GeoTiff dans les paramètres
Hors ligne
#9 Fri 27 March 2009 10:11
- bebert_lama
- Participant assidu
- Date d'inscription: 9 Nov 2006
- Messages: 253
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
Merci de votre aide !
mais j'ai toujours cette erreur systématique:
RasterToOtherFormat 'C:\temp\raster2' 'C:\temp\' Geotiff
Executing (RasterToOtherFormat_1): RasterToOtherFormat C:\temp\raster2 C:\temp Geotiff C:\temp
Start Time: Fri Mar 27 10:07:59 2009
Failed to execute. Parameters are not valid.
Raster Format: Value is not valid. The value is not a member of BMP | GIF | GRID | IMAGINE Image | JP2000 | JPEG | PNG | TIFF.
Failed to execute (RasterToOtherFormat_1).
End Time: Fri Mar 27 10:07:59 2009 (Elapsed Time: 0.00 seconds)
de plus cela ne vient pas du type car là c'est un "unsigned integer"....
de plus j'essais avec d'autres formats et je crois que cela merde aussi...
donc confirmation pas de Geotiff dans la commande.
Et je crois que c'est une erreur du script Python (j'ai du le modifier...)
Erreur :
Running script RasterToOtherFormat...
Error in script RasterToOtherFormat.
Error in executing: cmd.exe /C C:\PROGRA~1\ArcGIS\ARCTOO~1\Scripts\EXPORT~2.PY "C:\temp\raster2" "C:\temp" "TIFF" "C:\temp"
Failed to execute (RasterToOtherFormat_4).
A+
bbr
Dernière modification par bebert_lama (Fri 27 March 2009 10:14)
Hors ligne
#10 Fri 27 March 2009 10:12
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
Salut Robin,
Oui on doit mettre en dernier le format de sortie ---> Ne connaissant pas la syntaxe j'ai mis "Géotiff"
A+
Joël
Hors ligne
#11 Fri 27 March 2009 10:17
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
Re,
Raster Format: Value is not valid. The value is not a member of BMP | GIF | GRID | IMAGINE Image | JP2000 | JPEG | PNG | TIFF.
Essaye ça:
Code:
RasterToOtherFormat 'C:\Temp\Raster1.grid' 'C:\Temp\' TIFF
A+
Joël
Hors ligne
#12 Fri 27 March 2009 10:30
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
Re,
Dés que la bonne commande est trouvée, voici un post oû j'explique comment utiliser un générateur de script pour faire le travail en batch
http://www.forumsig.org/showthread.php?t=22284
En espérant que cela t'aide
A+
Joël
Hors ligne
#13 Fri 27 March 2009 10:30
- bebert_lama
- Participant assidu
- Date d'inscription: 9 Nov 2006
- Messages: 253
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
merci Joel,
j'ai toujours une erreur....celle de script.
sinon quand je mets l'extension .grid il me file does not exist
A+
Hors ligne
#14 Fri 27 March 2009 10:33
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
Quelle est l'extension de ton raster?
Je ne dispose pas d'exemple pour faire des essais.
Peux tu nous mettre à dispo (si ce n'est pas confidentiel) un raster.
A+
Joël
Dernière modification par Spacejo (Fri 27 March 2009 10:34)
Hors ligne
#15 Fri 27 March 2009 10:41
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
Re,
Error in executing: cmd.exe /C C:\PROGRA~1\ArcGIS\ARCTOO~1\Scripts\EXPORT~2.PY "C:\temp\raster2" "C:\temp" "TIFF" "C:\temp"
A la place essaye ----->
Code:
'C:\temp\raster2' 'C:\temp\raster2.tiff' TIFF
Hors ligne
#16 Fri 27 March 2009 10:42
- bebert_lama
- Participant assidu
- Date d'inscription: 9 Nov 2006
- Messages: 253
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
un raster a une taille beaucoup trop importante?
c'est un dossier avec 7 fichiers et l'extension .adf
C'est très simple tu ouvres une images .img, .tiff, .jpeg.....tu fais clic droit export data et tu choisis ESRI GRID en output format.
Merci de ton aide
A+
Hors ligne
#17 Fri 27 March 2009 12:14
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
Salut,
Je viens de regarder dans l'aide est la syntaxe est:
Code:
RastertoOtherFormat_conversion Raster1.ext;Raster2.ext;Raster3.ext c:\rasterdatasets TIFF
à essayer
A+
Joël
PS:Ce que je ne comprend pas c'est comment la commande va chercher le chemin des rasters.
Hors ligne
#18 Fri 27 March 2009 12:29
- bebert_lama
- Participant assidu
- Date d'inscription: 9 Nov 2006
- Messages: 253
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
salut,
je viens de tester à peu près toutes les syntaxes avec ou nom les paths et/ou non les extensions....sans succès.
Même dans l'invite de commande quand je fais clic droit insert input, insert output workspace, et insert output format cela ne fonctionne pas...toujours l'erreur de script.
A+
Hors ligne
#19 Mon 30 March 2009 15:35
- lima64
- Participant occasionnel
- Date d'inscription: 11 Jul 2007
- Messages: 13
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
Salut Bebert !
Bon, autre soluce qui se rapproche plus de ce que tu voulais faire à la base... le vba do it yourself.... ou "Convert esri grid to geotiff"
Voila petite procedure vba :
Code:
Public Sub LaunchRatser_to_Tiff() 'Environnement de travail Dim dossier_TIFF As String Dim pMxDocument As IMxDocument ' declaration du document Dim pMap As IMap ' declaration de Imap Set pMxDocument = ThisDocument Set pMap = Globales.pMxDocument.FocusMap dossier_TIFF = "C:\temp" 'on scanne toutes les shp For i = 0 To pMap.LayerCount - 1 Dim pFrasterlayer As IRasterLayer Dim pFClass As IFeatureClass Set pFrasterlayer = Globales.pMap.Layer(i) Dim pFraster As IRaster Set pFraster = pFrasterlayer.Raster Dim pSaveAs As ISaveAs Set pSaveAs = pFraster Dim pWorkspaceFactory As IWorkspaceFactory Set pWorkspaceFactory = New RasterWorkspaceFactory Dim pRWs As IRasterWorkspace Set pRWs = pWorkspaceFactory.OpenFromFile(dossier_TIFF, 0) Dim pRasterImg As IRasterDataset Set pRasterImg = pSaveAs.SaveAs(pFrasterlayer.name & ".tif", pRWs, "TIFF") Next i MsgBox "Fin du traitement de création des geotiff ." End Sub
Evidement, à toi d'adapter le code (genre barre defilement, gestion adressage...).
Procedure :
CHarger tout tes GRID a convertir dans le mxd (ça va peut etre etre un peu chaud de tous les mettre d'un coup mais bon tu peux tenter un soir avant de partir !! (traitement de nuit) ).
Lancer la procédure (en remplaçant l'adresse c:\temp par la ou tu veux que tes tiffs resultats se mettent ! ).
Tiens moi au crt de savoir si ça a tourné ou pas !
A+
Hors ligne
#20 Mon 30 March 2009 15:58
- bebert_lama
- Participant assidu
- Date d'inscription: 9 Nov 2006
- Messages: 253
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
Salut,
et encore merci Lima64 !
J'ai une erreur à
Code:
Set pMap = Globales.pMxDocument.FocusMap
? et tu connais mon niveau en vba...
A+
bebert
Hors ligne
#21 Mon 30 March 2009 16:18
- lima64
- Participant occasionnel
- Date d'inscription: 11 Jul 2007
- Messages: 13
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
Mer...e desolé j'avais des variables globales dans monprog origine... je suis un boulet !
La ça sera mieux...
Code:
Public Sub LaunchRatser_to_Tiff() 'Environnement de travail Dim dossier_TIFF As String Dim pMxDocument As IMxDocument ' declaration du document Dim pMap As IMap ' declaration de Imap Set pMxDocument = ThisDocument Set pMap = pMxDocument.FocusMap dossier_TIFF = "C:\temp" 'on scanne toutes les shp For i = 0 To pMap.LayerCount - 1 Dim pFrasterlayer As IRasterLayer Dim pFClass As IFeatureClass Set pFrasterlayer = pMap.Layer(i) Dim pFraster As IRaster Set pFraster = pFrasterlayer.Raster Dim pSaveAs As ISaveAs Set pSaveAs = pFraster Dim pWorkspaceFactory As IWorkspaceFactory Set pWorkspaceFactory = New RasterWorkspaceFactory Dim pRWs As IRasterWorkspace Set pRWs = pWorkspaceFactory.OpenFromFile(dossier_TIFF, 0) Dim pRasterImg As IRasterDataset Set pRasterImg = pSaveAs.SaveAs(pFrasterlayer.Name & ".tif", pRWs, "TIFF") Next i MsgBox "Fin du traitement de création des geotiff ." End Sub
Hors ligne
#22 Mon 30 March 2009 16:31
- bebert_lama
- Participant assidu
- Date d'inscription: 9 Nov 2006
- Messages: 253
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
Ok tout roule, c'est nickel !
je vous raconte demain matin si il ingèrera les 100 rasters dans la nuit ?
A+
Bebert
Hors ligne
#23 Tue 31 March 2009 09:10
- bebert_lama
- Participant assidu
- Date d'inscription: 9 Nov 2006
- Messages: 253
Re: Arcgis 9.2 Convertir plusieurs Raster ESRI GRID en batch
Bonjour tout le monde,
bien sûr les codes de Lima sont toujours un succès !
=> On a donc un script VBA qui convertit les raster ESRI GRID d'un document mxd en raster TIFF, cela répond parfaitement à la demande initiale.
Pour le bug du script python par défaut dans ArcToolBox cela reste mon problème à moi, peut-être est ce une erreur de syntaxe qui se serait glisser dans le script ??
Merci encore Lima (on se voit à l'apéroSIG) !
A+
bebert
Hors ligne