操作方法
在许多情况下,您都可能需要修复数据源或重定向数据源至其他位置,例如,迁移到新计算机。 手动更新每个受影响的地图文档可能会异常麻烦。 使用 arcpy.mapping 脚本环境,可以在常用工作空间中同时自动更新单个图层或所有图层的数据源,甚至无需打开地图文档。
以下步骤描述了如何使用 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
以下显示了完整脚本示例:
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
获取来自 ArcGIS 专家的帮助
下载 Esri 支持应用程序