批量另存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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM