He sido encargado de cambiar el nombre de una gran cantidad de archivos ráster en una geodatabase de archivos (ArcGIS estilo).
Yo estoy tomando los datos meteorológicos que tiene un formato de nombre como tal: "G"mmddhhhh Estoy tratando de agregar un año de la etiqueta entre la G y mes: "G"yyyymmddhhhh
Esta es la función que he escrito:
# ----------------------------------------------------------------------------- #
@timeit
def renameRasters(FGDB):
origdir = arcpy.env.workspace
arcpy.env.workspace = FGDB
for rstr in arcpy.ListRasters("G*"):
try:
newrstr = "G" + "2014" + rstr.replace("g", "")
arcpy.Rename_management(rstr, newrstr)
except:
print "Failed to rename: " + rstr
arcpy.env.workspace = origdir
return None
# ----------------------------------------------------------------------------- #
Esta función funciona bien para una pequeña cantidad media de rásteres dentro de un FGDB y tarda aproximadamente 1,5 segundos por trama cambiado de nombre. Tengo problemas cuando hay un gran número de archivos para el nombre. 1,200 archivos de toma > 10 horas. A la misma velocidad que los más pequeños de trama conjuntos de esto debería tomar en < 1 hora...
¿Alguien tiene una idea sobre cómo hacer que este proceso vaya más rápido?
Si no voy a configurarlo para que se ejecute durante el fin de semana.
Debo mencionar que estoy usando ArcGIS 10.2.2.