批量另存mxd

在GIS数据处理中,批量操作是经常遇到的问题,Python脚本是解决问题的最好方法。现在需要将arcgis10.1的mxd另存为10.0,不仅数量较多,而且每个mxd要素和标注非常多,手动来操作确实慢一些。

下面是测试通过的Python脚本:

# ---------------------------------------------------------------------------
# Purpose : SaveAsMxd
# Author :gisweis
# Date :2016.4.17
# Version : ArcGIS 10.X
# Email :gisweis
# Notes :
# --------------------------------------------------------------------------- import sys
#
#reload(sys)
#sys.setdefaultencoding( "utf-8" ) import arcpy
import string
import os try:
path=arcpy.GetParameterAsText(0)
out=arcpy.GetParameterAsText(1)
ver=arcpy.GetParameterAsText(2) for root,dirs,files in os.walk(path):
for afile in files:
if afile[-4:].lower() == '.mxd':
print root + os.sep + afile
print out+ os.sep + afile
mxd = arcpy.mapping.MapDocument(root + os.sep + afile)
mxd.saveACopy(out+ os.sep + afile,ver)
except arcpy.ExecuteError:
print arcpy.GetMessages()

  

关键点在于:

1.遍历mxd文件,使用了os.walk;

2.调用arcpy的另存为文档函数saveACopy。

参数是通过arcpy.GetParameterAsText来获取的,主要是为了制作python脚本工具(也可以写成固定路径,来执行python),制作方法可参考:

http://www.cnblogs.com/liweis/p/4252596.html

上一篇:20170124L07-03-01老男孩linux运维实战培训-生产环境大于254台机器网段划分及路由解决方案案例


下一篇:jQuery - 制作点击显示二级菜单效果