我们经常在给别人发ArcGIS的工程文件mxd,结果到别人那发现mxd工程文件打不开,原因是我们的arcgis版本高于别人,此时工程文件又很多,一个个转存成低版本又嫌麻烦,于是我们做了个批量mxd高版本转低版本的小工具,今天就把这个方法分享给大家。
通常情况下,要将高版本的mxd地图文档转为低版本,使用 ArcMap文件菜单中的保存副本命令以保存每个地图文档。但是,如果涉及许多地图文档,则可以使用 Python 脚本工具对其进行批量转换。
以下示例 Python 脚本即可用于将地图文档另存为 ArcGIS 的较早文档版本:
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")
有了Python 脚本,我们如何在arcgis中创建脚本工具呢?
1、首先将上面的代码粘贴到文本编辑器中并另存为.py文件。
2、在arcgis下创建自定义工具箱
3、右键单击此工具箱,然后选择添加脚本。
4、在添加脚本窗口中,命名该工具,然后单击下一步。
5、在脚本文件部分中,浏览至 .py 文件的位置。
6、点击打开脚本文件,点击下一页,然后完成。
7、右键单击新添加的脚本,选择属性,然后添加以下参数:
1)在显示名称下,键入“输入MXD”,然后在数据类型下选择 ArcMap文档。在参数属性部分中,针对多值(MultiValue)选择是。
2)在显示名称下,键入“输出位置”,然后在数据类型下选择工作空间。
3)在显示名称下,键入“输出版本”,然后在数据类型下选择字符串。
8、单击输出版本参数,然后在参数属性部分中的过滤器下拉框中选择值列表。可以使用…按钮...按钮的图像添加值列表。
9、双击脚本工具来以将其打开并运行该工具。指定输入 MXD、输出位置和输出版本参数。单击确定运行工具。