1. 程式人生 > 其它 >MXD檔案版本批量轉換

MXD檔案版本批量轉換

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, string
mxdList = 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檔案,設定好輸出路徑以及轉換版本後,點選執行即可。