多个shp批量导出地图步骤:
1.设置mxd模板
2.找个shp用要用的符号库渲染、把shp另存为图层(.lyr)文件
3.依次加载shp,套用另存的图层(.lyr)文件,完成符号化
4.每个shp单独保存一个mxd文件
5.批量导出mxd地图
代码如下(示例):
# -*- coding: cp936 -*-
import arcpy
import os
path = (r"F:\实验\成果图\MXD文件夹")
res = 300
arcpy.env.workspace = (r"F:\实验\成果图\shp图层")
fcs = arcpy.ListFeatureClasses()
for fc in fcs:
mxd = arcpy.mapping.MapDocument(r"F:\实验\成果图\MXD文件夹\模板.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "图层")[0]
addLayer = arcpy.mapping.Layer(fc)
arcpy.mapping.AddLayer(df, addLayer, "AUTO_ARRANGE")
inputLayer = arcpy.mapping.ListLayers(mxd, "", df)[0]
symbologyLayer = arcpy.mapping.Layer(r"F:\实验\成果图\shp图层\模板.lyr")
arcpy.ApplySymbologyFromLayer_management(inputLayer, symbologyLayer)
mxd.saveACopy(fc[:-4]+'.mxd')
del mxd
for root,dirs,files in os.walk(path):
for afile in files:
if afile[-4:].lower() == '.mxd':
mxd = arcpy.mapping.MapDocument(os.path.join(root,afile))
arcpy.mapping.ExportToJPEG(mxd,os.path.join(path,afile[:-3] + 'jpg'), resolution = res)
del mxd
说明:本文为工作之中的一点总结,不足之处敬请谅解