Suite

ArcCatalog et python se bloquent lors de l'exécution de ConvertTimeField_management


J'ai un script qui reclasse un fichier tif, ajoute un nouveau champ au tiff et est censé analyser la date à partir du nom de fichier et l'ajouter au nouveau champ de date. Tout fonctionne comme il se doit, sauf l'analyse de la date. Lorsque le script exécute cette ligne, python se bloque, que ce soit en exécutant le script via ArcCatalog ou la ligne de commande python :

arcpy.ConvertTimeField_management("C:UsersOuelletteMSDesktopIce_Data_from_JohnIacozza1978wa_19780629_reclass.tif", 19780629, "aaaaMMjj", "Date")

Cet exemple utilise des valeurs de variables telles qu'elles sont affectées par le script (imprimer les variables, copier/coller et ajouter des guillemets). Le script complet est ci-dessous.

Je ne reçois aucun message d'erreur, et commenter cette ligne montre que tout le reste fonctionne. J'ai reçu cette ligne sous forme d'extrait après une exécution réussie de l'outil dans ArcMap. Qu'est-ce que je rate?

J'utilise ArcGIS 10.1 SP1 et Python 2.7

import arcpy, os, sys from arcpy import env arcpy.CheckOutExtension("Spatial") # Autoriser l'écrasement du fichier arcpy.env.overwriteOutput = True # Définir le chemin du répertoire de l'espace de travail = "C:UsersOuelletteMSDesktopIce_Data_from_JohnIacozza" env .workspace = path # Récupère la liste des classes d'entités dans le répertoire de l'espace de travail listFCs = arcpy.ListFiles("wa_197806*.tif") # Boucle dans chaque fichier et effectue le traitement pour fc dans listFCs : print str("processing " + fc ) # affiche le fichier en cours de traitement shpname = str(fc) # convertit le nom de fichier en une chaîne yearVal = shpname[3:7] # année de traitement newName = shpname[0:11] + "_reclass.tif" # nom pour raster reclassifié newPath = path + "" + yearVal # définit le chemin du fichier reclassifié outfile = newPath + "" + newName # spécifie le chemin du raster reclassifié vf = "Value" # définit le champ de valeur à utiliser strDate = shpname [3:11] # extrait les caractères 3 à 11 du nom de fichier # Vérifiez s'il existe un répertoire pour cette année. Sinon, essayez : os.makedirs(newPath) sauf OSError : sinon os.path.isdir(newPath) : raise # Reclassify raster arcpy.gp.Reclassify_sa(fc,vf,"1 5 1;6 99 0; NODATA 0",outfile,"NODATA") # Ajoute et remplit le champ de date field2 = "Date" # Champ de stockage de la date sous forme de date arcpy.AddField_management(outfile,field2,"DATE") # arcpy.ConvertTimeField_management(outfile, strDate , "yyyyMMdd", field2) # Nettoyage de listFCs, fc, shpname, yearVal, newName, newPath, outfile, vf, strDate, field2 # arcpy.CheckInExtension("Spatial") print "done"

On dirait que votre chemin au début pourrait être un problème. Vous devez en faire une chaîne « brute » ou échapper aux barres obliques :

chemin = r"C:UsersOuelletteMSDesktopIce_Data_from_JohnIacozza" chemin = "C:UsersOuelletteMSDesktopIce_Data_from_JohnIacozza"

Je suppose que le résultat de la liste est vide car l'espace de travail n'existe pas.