当前位置: 首页 > article >正文

ArcGIS中批量mxd高版本转低版本

我们经常在给别人发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、输出位置和输出版本参数。单击确定运行工具。

图片

 


http://www.kler.cn/a/107441.html

相关文章:

  • FFmpeg 4.3 音视频-多路H265监控录放C++开发十三.2:avpacket中包含多个 NALU如何解析头部分析
  • StarRocks Summit Asia 2024 全部议程公布!
  • 【JavaScript】为 setInterval()定义变量,存储ID
  • 408笔记合集
  • python怎么设置环境变量
  • python——面向对象
  • 自定义命名并将文件扩展名改为大写字母,轻松掌握文件管理!
  • S7-200 SMART与ABB ACS580变频器进行MODBUS RTU通信的具体方法示例
  • 三篇论文:速览GPT在网络安全最新论文中的应用案例
  • Debezium日常分享系列之:Debezium2.4版本之用于 MongoDB的Debezium 连接器
  • 【C++初阶(三)】引用内联函数auto关键字
  • 我的创作纪念日 - 2048
  • 基础课11——数据来源
  • MyBatisPlus创建新的Mapper.xml映射文件而不使用框架自带的?
  • 【axios】axios的基本使用
  • Ubuntu 22.04 安装 Terraform
  • 嵌入式1.1 单片机基础总结
  • iphone备份后怎么转到新手机,iphone备份在哪里查看
  • 【MATLAB源码-第59期】基于matlab的QPSK,16QAM164QAM等调制方式误码率对比,调制解调函数均是手动实现未调用内置函数。
  • 设计模式(19)命令模式
  • redis缓存穿透
  • NUUO摄像头远程命令执行漏洞复现 [附POC]
  • 北邮22级信通院数电:Verilog-FPGA(7)第七周实验(2):BCD七段显示译码器(关注我的uu们加群咯~)
  • 睿趣科技:抖音小店申请流程
  • 【每日一题Day361】LC2558从数量最多的堆取走礼物 | 大顶堆
  • 接口自动化测试工具,Postman使用详解