码迷,mamicode.com
首页 > 其他好文 > 详细

批量另存mxd

时间:2016-04-21 18:29:44      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

在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

批量另存mxd

标签:

原文地址:http://www.cnblogs.com/liweis/p/5417802.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!