ArcGIS批量出图方法非数据驱动出图只显示单一图斑
在ArcGIS中,批量出图是一种非常实用的方法。通常我们会使用数据驱动出图的方式,但是它有一个缺点,就是如果几个图斑相邻的话,会显示全部的图斑。最近我遇到了一个工作需求,需要批量出图并且只显示当前图斑。下面是我用Python编写的代码,同时也包含了图层说明:
import arcpy
# 要素图层
in_fc = "path/to/your/feature_class"
# 字段依赖于要素图层
in_fld = "your_field"
# 输出文件夹
out_folder = "path/to/your/output_folder"
# 构建游标
with arcpy.da.SearchCursor(in_fc, [in_fld]) as cursor:
for row in cursor:
# 获取要素OID
where_clause = "{} = '{}'".format(arcpy.AddFieldDelimiters(in_fc, in_fld), row[0])
# 构建图层选择器
arcpy.MakeFeatureLayer_management(in_fc, "lyr", where_clause)
# 构建导出地图的名称
out_name = "{}.pdf".format(row[0])
# 构建导出地图的路径
out_path = "{}/{}".format(out_folder, out_name)
# 导出地图
arcpy.mapping.ExportToPDF(arcpy.mapping.MapDocument("CURRENT"), out_path, "PAGE_LAYOUT")
注意事项:其中 in_fc
为要素图层,in_fld
为字段依赖于要素图层,out_folder
为输出文件夹。
下载地址
用户评论
用不了!运行错误。