MXD檔案版本批量轉換
阿新 • • 發佈:2022-12-02
ArcGIS不同版本的mxd檔案不相容,例如我這裡本地使用的是10.1的版本,無法開啟10.5版本建立的mxd檔案。
如果是較少的mxd檔案,可以通過在10.5版本的arcgis中開啟,選擇FILE—SAVE A COPY,儲存的時候選擇需要儲存的版本即可。
那如果有100個mxd檔案呢?1000個呢?我這裡有接近300個mxd文件,一個個弄想想就頭大。幸好,arcgis官網提供了相關批量轉換方法,詳見:
為了考慮英文不好的同學,我這裡將大概步驟演示一遍:
1、建立txt檔案,複製以下程式碼到檔案中,並將檔案字尾名修改為py。我這裡命名為mxdConvert.py
import arcpy, sys, os, stringmxdList = string.split(arcpy.GetParameterAsText(0), ";") outloc = arcpy.GetParameterAsText(1) version = arcpy.GetParameterAsText(2) suffix = "_"+ version.replace(".", "") for item in mxdList: item = item.strip('\'') mxd = arcpy.mapping.MapDocument(item) base = os.path.basename(item)base = os.path.splitext(base)[0] + suffix + os.path.splitext(base)[1] mxd.saveACopy(outloc + os.sep + base, version) arcpy.AddMessage(os.path.basename(item) + " has been converted")
2、開啟ArcMap或者Catalog,選擇位置右鍵新建toolbox,命名工具箱為mxdConvert
3、在新建的工具箱上右鍵,選擇ADD—Script
4、開啟新增Script視窗,輸入名稱以及工具描述資訊,點選下一步;
5、選擇前面建立好的py格式檔案;
6、增加引數資訊,引數一共包括三個:
Input MXDs:設定datatype為:ArcMap Document under Data Type,在下面的引數中,設定MultiValue為YES,這樣可以選擇多個mxd進行處理。
Output Location:設定datatype為:Workspace
Output Version:設定datatype為:String,下面屬性中設定Filter為Value list,Value list輸入可以轉換的版本;
7、點選完成,設定後如下圖所示,設定完成後可以雙擊新建的工具進行批量轉換了。
8、執行可以看到我們設定的三個引數,選擇需要轉換的mxd檔案,設定好輸出路徑以及轉換版本後,點選執行即可。