arcpy批量导出图且图名为shp属性值

1.打开arcmap加载需要导出的图。需求是逐村显示“村界内图斑”并导出为图,在导出每个村时不显示周围的村和“村界内图斑”

2.arcmap上方空白处右键打开“数据驱动页面”

3.在“数据驱动页面”工具条点击第一个图标,打开“设置数据驱动页面” 

4.在“设置数据驱动页面” 勾选“启用数据驱动页面”,在“索引图层”中选择需要驱动的图层(按照哪个图层的来批量出图) ,名称字段(按照驱动图层的哪个字段分别出图,该字段应具有唯一性),排序字段(用哪个字段排序,一般用名称字段排序)。需要对索引图层备份并加载进acrmap,一个作为索引图层,一个用于页面定义查询(可以使用当前数据驱动页面过滤要素,属性表必须具有包含页面名称的字段)。图层选择“村界-副本”,名称字段选择“XZBM”,排序字段选择“XZBM”

5.点击“数据驱动页面”的三角形前进后退按钮,检查屏幕中间的村和“村内图斑”是否跟着跳转,此时仍显示屏幕中间村周围的村和“村内图斑”

6.设置“页面定义查询”。在“村界”和“村界内图斑”分别右键点击“属性”,打开“定义查询”,点击“页面定义”,在“页面定义查询”窗口,勾选“启动”,设置“页面名称字段”(需与“设置数据驱动页面”的“名称字段”对应),选择“匹配”

 7.不显示数据驱动页面图层(“村界-副本”),检查是否显示当前村村界外的村和“村内图斑”,

8.在arcmap菜单栏“视图” -“布局视图”中设置地图大小、添加地图要素(图例、指北针、图名、标注等)

9.在arcmap中打开python界面,输入代码,设置图名需要携带字段所在shp和字段名、导出路径,最后运行

mxd = arcpy.mapping.MapDocument("CURRENT")
file='E:\d_software\d_2PYthon\批量导出表带字段\村界.shp'#图名需要携带字段所在shp
field_name ='XZBM'#图名需要携带字段
cur=arcpy.da.SearchCursor(file,field_name)

t_list=[]

for row in cur:
    t_list.append(row[0])
    t_list.sort()#根据“数据驱动页面”排序字段选择确定是否sort

for pageNum in range(1, mxd.dataDrivenPages.pageCount + 1):
	mxd.dataDrivenPages.currentPageID = pageNum
	arcpy.mapping.ExportToPNG(mxd, r"E:\新建文件夹\a"+str(t_list[pageNum-1]) + ".png")#输出路径
del mxd

10.检查运行结果。检查生成图片的图名是否与“数据驱动页面”的字段一一对应

  • 11
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值