【Python&GIS】基于Arcpy修改mxd版本


        我们在使用ArcGIS时有时候保存或别人发过来的mxd工程文件会打不开,大概率是因为mxd保存的版本不一样,ArcGIS可以使用高版本打开低版本保存的mxd,反之则不行,所以今天给大家分享一下如何修改mxd版本。

原创作者:RS迷途小书童

博客地址:https://blog.csdn.net/m0_56729804?type=blog

1 注意事项

  • ArcGIS可以使用高版本打开低版本保存的mxd,反之则不行
  • Arcpy库是安装ArcGIS自带的,无需额外安装,环境是Python2.7
  • Arcpy最好不要出现中文,这是由于Python2.7决定的
  • Arcpy依赖于ArcGIS存在,不可单独安装!

2 代码

        我使用的ArcGIS10.8 ,Arcpy只能转换【'10.1', '10.0', '8.3', '10.5', '10.4', '10.6', '9.0', '10.3', '9.2', '9.3'】这些版本。可以自己修改试试,报错的时候会提示可以修改成那些版本。

参考至:ArcPy_批量修改Mxd版本

# -*- coding: utf-8 -*-
"""
@Time : 2024/5/17 17:26
@Auth : RS迷途小书童
@File :Version Modify For Mxd.py
@IDE :PyCharm
@Purpose:mxd修改ArcMap版本
@Web:博客地址:https://blog.csdn.net/m0_56729804
"""
import os
import arcpy
import arcpy.mapping as mapping
# 可选版本:['10.1', '10.0', '8.3', '10.5', '10.4', '10.6', '9.0', '10.3', '9.2', '9.3']
paths_mxd = r'Y:/1/'  # mxd存放的目录
version = '10.6'
for file1 in os.listdir(paths_mxd):
    # 循环目录下所有文件
    if file1.endswith('mxd'):  # 判断文件是否为mxd
        print('正在处理:%s......' % file1)
        mxd = mapping.MapDocument(os.path.join(path, file1))  # 加载mxd
        mxd.saveACopy(r"Y:/彭俊喜/"+file1, version)  # 保存至对应版本
posted @ 2024-06-14 17:54  RS迷途小书童  阅读(35)  评论(0编辑  收藏  举报