首页 > 其他分享 >MXD文件版本批量转换

MXD文件版本批量转换

时间:2022-12-02 18:02:50浏览次数:64  
标签:文件 批量 arcpy item 版本 MXD os mxd

ArcGIS不同版本的mxd文件不兼容,例如我这里本地使用的是10.1的版本,无法打开10.5版本创建的mxd文件。

image

如果是较少的mxd文件,可以通过在10.5版本的arcgis中打开,选择FILE—SAVE A COPY,保存的时候选择需要保存的版本即可。

image

那如果有100个mxd文件呢?1000个呢?我这里有接近300个mxd文档,一个个弄想想就头大。幸好,arcgis官网提供了相关批量转换方法,详见:

官方技术帮助文档

为了考虑英文不好的同学,我这里将大概步骤演示一遍:

1、创建txt文件,复制以下代码到文件中,并将文件后缀名修改为py。我这里命名为mxdConvert.py

image

image

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

clip_image002

3、在新建的工具箱上右键,选择ADD—Script

clip_image004

4、打开添加Script窗口,输入名称以及工具描述信息,点击下一步;

clip_image006

5、选择前面建立好的py格式文件;

clip_image008

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输入可以转换的版本;

clip_image010

clip_image012

clip_image014

7、点击完成,设置后如下图所示,设置完成后可以双击新建的工具进行批量转换了。

image

8、运行可以看到我们设置的三个参数,选择需要转换的mxd文件,设置好输出路径以及转换版本后,点击执行即可。

clip_image018



标签:文件,批量,arcpy,item,版本,MXD,os,mxd
From: https://www.cnblogs.com/Jingkunliu/p/16945224.html

相关文章