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文件,设置好输出路径以及转换版本后,点击执行即可。