Soy muy nuevo en Python, así que por favor, perdóname si este es un error simple. Tengo varios MXD's en los que cada uno tiene varias capas que hacen referencia a la misma fuente. Sin embargo, he movido estos datos a una nueva carpeta. He escrito un script para actualizar automáticamente las capas similares.
El script se ejecuta, sin embargo, cuando reviso para ver si funcionó, ninguna de las capas se actualizan. No estoy seguro de qué está mal.
import arcpy, os
# Espacio de trabajo para buscar MXDs
Workspace = r"M:\TEAM_GIS\EDKM\Projects\mmo1065_south_habitat_mapping\20140708_Update_3_QA\3_Working_GIS_Files\MXD"
arcpy.env.workspace = Workspace
# listado de documentos de mapa en la carpeta
mxdList = arcpy.ListFiles("*.mxd")
print mxdList
# establecer nuevo enlace para archivo de forma específico en cada MXD de la lista.
for file in mxdList:
# establecer documento de mapa a cambiar
filePath = os.path.join(Workspace, file)
mxd = arcpy.mapping.MapDocument(filePath)
for lyr in arcpy.mapping.ListLayers(mxd):
if lyr.supports("DATASOURCE"):
if lyr.dataSource == r"M:\TEAM_GIS\EDKM\Projects\mmo1065_south_habitat_mapping\20140708_Update_3_QA\3_Working_GIS_Files\WP1\MMO_South_Plan_Areas.shp":
lyr.findAndReplaceWorkspacePath(r"M:\TEAM_GIS\EDKM\Projects\mmo1065_south_habitat_mapping\20140708_Update_3_QA\3_Working_GIS_Files\WP1", r"M:\TEAM_GIS\EDKM\Projects\mmo1065_south_habitat_mapping\20140708_Update_3_QA\3_Working_GIS_Files\SHP")
if lyr.dataSource == r"M:\TEAM_GIS\EDKM\Projects\mmo1065_south_habitat_mapping\20140708_Update_3_QA\3_Working_GIS_Files\WP1\Land.shp":
lyr.findAndReplaceWorkspacePath(r"M:\TEAM_GIS\EDKM\Projects\mmo1065_south_habitat_mapping\20140708_Update_3_QA\3_Working_GIS_Files\WP1", r"M:\TEAM_GIS\EDKM\Projects\mmo1065_south_habitat_mapping\20140708_Update_3_QA\3_Working_GIS_Files\SHP")
arcpy.RefreshTOC()
arcpy.RefreshActiveView()
mxd.save()
print "Éxito"