免费视频|新人指南|投诉删帖|广告合作|地信网APP下载

查看: 1774|回复: 10
收起左侧

[技术交流] 求助一个批量修改图层路径的方法

[复制链接]

5

主题

471

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
69
发表于 2022-1-7 11:22 | 显示全部楼层 |阅读模式
现在手上有一个mxd文件,里面的图层路径是
abc\a1.shp,
abc\a2.shp,
abc\a3.shp,
现在想修改成
abc\jza1.shp,
abc\jza2.shp,
abc\jza3.shp,
这样的形式。请问有没有什么好的办法。

12

主题

1万

铜板

29

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
1052
QQ
发表于 2022-1-9 18:37 | 显示全部楼层
自动修复只能是路径改变,文件都变了就不行,只能用脚本,比如:mxd = arcpy.mapping.MapDocument(‘current’)
df = arcpy.mapping.ListDataFrames(mxd,"图层")[0]
lyr = arcpy.mapping.ListLayers(mxd, "a1", df)[0]
lyr.replaceDataSource("abc", "shapefile", "jza1.shp")
回复 支持 1 反对 0

使用道具 举报

2

主题

561

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
69
发表于 2022-1-7 16:54 | 显示全部楼层
不需要刻意修改,mxd工程默认变化路径后,显示不出图层,你再去变化路径后的文件夹从新加载一个数据后面的数据自动识别。还有就是创一个mdb或者gdb存放数据,再打开mxd加载数据库就可以。
回复 支持 1 反对 0

使用道具 举报

324

主题

56万

铜板

1172

好友

管理员

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分
349368

宣传勋章爱心勋章组织勋章官方团队冰雪节勋章

发表于 2022-1-7 11:26 | 显示全部楼层
欢迎论坛的高手解答,会奖励相应的威望和铜板哦
回复 支持 反对

使用道具 举报

0

主题

545

铜板

1

好友

技术员

Rank: 3Rank: 3

积分
59
发表于 2022-1-8 12:21 | 显示全部楼层
用路径修复,可以解决这个问题。如果有多个mxd文件,则可以借助Python通过mapping模块解决。
回复 支持 反对

使用道具 举报

14

主题

2万

铜板

34

好友

至尊VIP

Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24Rank: 24

积分
1839
发表于 2022-1-9 12:07 | 显示全部楼层
153869460 发表于 2022-1-7 16:54
不需要刻意修改,mxd工程默认变化路径后,显示不出图层,你再去变化路径后的文件夹从新加载一个数据后面的 ...

赞,支持此方法。一次可以批量修改。
回复 支持 反对

使用道具 举报

10

主题

1万

铜板

19

好友

资深会员

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

积分
3722
发表于 2022-1-9 13:20 | 显示全部楼层
153869460 发表于 2022-1-7 16:54
不需要刻意修改,mxd工程默认变化路径后,显示不出图层,你再去变化路径后的文件夹从新加载一个数据后面的 ...

谢谢楼主提供!

回复 支持 反对

使用道具 举报

地信网友  发表于 2022-1-9 18:28
自动修复路径只能用于仅路径改变,名称都改变了只能通过脚本,比如:mxd = arcpy.mapping.MapDocument('current')
df = arcpy.mapping.ListDataFrames(mxd,"图层")[0]
lyr = arcpy.mapping.ListLayers(mxd, "a1", df)[0]
lyr.replaceDataSource("abc", "shapefile", "jza1.shp")



4

主题

3078

铜板

2

好友

高级工程师

Rank: 9Rank: 9Rank: 9

积分
902

爱心勋章

发表于 2022-1-13 15:24 | 显示全部楼层
网上找找 批量更名的脚本 搜搜应该会有
回复 支持 反对

使用道具 举报

30

主题

2万

铜板

59

好友

钻石会员

Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26Rank: 26

积分
6292
QQ
发表于 2022-1-14 15:59 | 显示全部楼层
不要修改
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
快速回复 返回顶部 返回列表