基于Arcpy实现对MXD文件中图层数据源的批量更新

1、常规方法

ArcGIS中批量更新数据源一般可以在ArcCatalog中进行,如下图:
在这里插入图片描述
在这里插入图片描述
通常情况下,我们的mxd数据源从一个文件夹或者数据库, 迁移到另一个文件夹或者数据库,数据根目录发生了变化,图层名并没有变化,可使用此方法。

2、基于Arcpy

偶然也有一些特殊情况,如老的数据源和新数据源均在同一数据库,但是图层名称有变化,通常有经验的老GISER会用一些前缀或者后缀来区分新老数据。这个时候,如果要更新数据源,可参考下来方法。

以下代码实现:
1、getTabList方法获取SDE连接中第一个数据集里面的所有表(图层)
2、replaceSource方法读取mxd中的图层并替换其中的图层数据源,新数据源来自getTabList方法,替换规则:将"SZ_"开头的图层替换为"GZ_"开头的图层。

import arcpy

ws = r'SDE Connection'

# 获取数据源列表
def getTabList():
  arcpy.env.workspace = ws
  dataSets = arcpy.ListDatasets(feature_type = 'fea
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值