Instrução
Existem vários motivos pelos quais as fontes de dados precisam ser reparadas ou redirecionadas para locais diferentes, por exemplo, migrar para uma nova máquina. Atualizar manualmente todos os documentos de mapa afetados pode ser opressor. Com o ambiente de script arcpy.mapping, é possível automatizar as atualizações da fonte de dados para camadas individuais ou todas as camadas simultaneamente em uma área de trabalho comum, sem nem mesmo ter que abrir o documento de mapa.
As seguintes etapas descrevem como atualizar uma fonte de dados do geodatabase enteprise usando ArcPy:
import arcpy mxd = arcpy.mapping.MapDocument(r"mxd_source_location")
new_sdeworkspace_path = r"new_enterprise_source_location"
for lyr in arcpy.mapping.ListLayers(mxd): print lyr.name lyr.replaceDataSource(new_sdeworkspace_path, "SDE_WORKSPACE")
mxd.saveACopy(r"save_location_path") del mxd
O seguinte mostra um exemplo de script completo:
import arcpy mxd = arcpy.mapping.MapDocument(r"E:\Data\Mxd\test\old.mxd") new_sdeworkspace_path = r"E:\Data\Connections\GISADMIN@GEODATA.sde" for lyr in arcpy.mapping.ListLayers(mxd): print lyr.name lyr.replaceDataSource(new_sdeworkspace_path, "SDE_WORKSPACE") mxd.saveACopy(r"E:\Data\Mxd\test\new.mxd") del mxd
Obtenha ajuda de especialistas do ArcGIS
Baixe o Aplicativo de Suporte da Esri