Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

GEODATA DAYS 2024

#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

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

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 smile

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

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

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

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

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 wink

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"  wink

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

 

Pied de page des forums

Powered by FluxBB