He comprobado las otras respuestas aquí y ninguna de las respuestas trabajó para mí...
Se trata de un "simple" cuestión de encontrar una capa por su nombre en un mapa y cambiar el origen de datos.
Aquí está mi script:
#-- New Source
newSource = os.path.join(currDir, lyrZones + "_Dep" + dirNum + ".shp")
#-- Validation
if arcpy.Exists(newSource):
print "The new source exists!"
else:
print "Not found!"
#-- Find the layer and change its source
for lyr in arcpy.mapping.ListLayers(mxd):
if lyr.name == lyrZones:
print "Layer found!"
print layers.dataSource
print " Replacing source..."
lyr.replaceDataSource(currDir, "SHAPEFILE_WORKSPACE", newSource)
print lyr.dataSource
Puedo ejecutar desde una secuencia de comandos de python fuera de ArcGIS.
Se puede ver que el origen existe, la capa que se encuentra, puedo acceder es origen de datos mediante su impresión, pero el lyr.replaceDataSource provoca un error (error Inesperado... no ayuda mucho...)
He estado trabajando en ello durante 4-5 horas y ahora estoy corto de las soluciones. Alguna idea de lo que puede causar la caída?
Gracias!!