zoukankan      html  css  js  c++  java
  • 批量另存mxd

    在GIS数据处理中,批量操作是经常遇到的问题,Python脚本是解决问题的最好方法。现在需要将arcgis10.1的mxd另存为10.0,不仅数量较多,而且每个mxd要素和标注非常多,手动来操作确实慢一些。

    下面是测试通过的Python脚本:

    # ---------------------------------------------------------------------------
    # Purpose : SaveAsMxd
    # Author  :gisweis
    # Date    :2016.4.17
    # Version : ArcGIS 10.X  
    # Email   :gisweis
    # Notes   :
    # ---------------------------------------------------------------------------
    
    import sys
    #
    #reload(sys)
    #sys.setdefaultencoding( "utf-8" )
    
    import arcpy
    import string
    import os
    
    try:
            path=arcpy.GetParameterAsText(0)
            out=arcpy.GetParameterAsText(1)
            ver=arcpy.GetParameterAsText(2)
    
            for root,dirs,files in os.walk(path):
                    for afile in files:
                            if afile[-4:].lower() == '.mxd':
                                    print root + os.sep + afile
                                    print out+ os.sep + afile
                                    mxd = arcpy.mapping.MapDocument(root + os.sep + afile)
                                    mxd.saveACopy(out+ os.sep + afile,ver)
    except arcpy.ExecuteError:
    	print arcpy.GetMessages()
    

      

    关键点在于:

    1.遍历mxd文件,使用了os.walk;

    2.调用arcpy的另存为文档函数saveACopy。

    参数是通过arcpy.GetParameterAsText来获取的,主要是为了制作python脚本工具(也可以写成固定路径,来执行python),制作方法可参考:

    http://www.cnblogs.com/liweis/p/4252596.html

  • 相关阅读:
    linux 中的vim的配置文件的位置
    centos find
    multi-cursor
    ctrlsf插件
    Vim的可视模式
    Vim的tagbar插件
    Vim的tag系统
    ~/.ctag的作用与配置
    在Vim里使用gtags-cscope
    查看Vim的option变量的值
  • 原文地址:https://www.cnblogs.com/liweis/p/5417802.html
Copyright © 2011-2022 走看看