add_Layer.zip

  • AI_Stu
    了解作者
  • Python
    开发工具
  • 1KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 10 积分
    下载积分
  • 1
    下载次数
  • 2021-04-27 18:47
    上传日期
利用已有的.lyr图层文件和布局样式.mxd文件,实现批量渲染栅格文件,并输出打印地图
add_Layer.zip
  • add_Layer.py
    2.9KB
内容介绍
# -*- coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf-8') import arcpy import os from datetime import datetime arcpy.CheckOutExtension("Spatial") # ArcGIS各种功能模块许可 __name__ = 'add_Layer' _workSpace = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))), 'data') _mxdPath = os.path.join(_workSpace, 'printMap.mxd') _doMapAuthor = "胡广豪" # 制图人 _doTitleName = "NDVI" # 地图标题 _dataNamePath = r"E:\Work_List\Graduation_Project\ArcPython\data\temp\index\NDVI\LS_05_1994_NDVI.tif" # 制图图幅路径 _dataName = os.path.basename(_dataNamePath).rstrip(os.path.splitext(_dataNamePath)[1]) # 制图图幅 arcpy.env.workspace = _workSpace # 创建工作空间 arcpy.env.overwriteOutput = True # 覆盖相同文件 # 添加图层数据进.mxd def AddLayerData(): try: # 1.打开需发布的.mxd文件 print _mxdPath mxd = arcpy.mapping.MapDocument(_mxdPath) # 2.获取数据框 # df = arcpy.mapping.ListDataFrames(mxd, "Layer")[0] frames = arcpy.mapping.ListDataFrames(mxd, "图层") if len(frames) == 0: frames = arcpy.mapping.ListDataFrames(mxd, "Layer") df = frames[0] # 3.加载图层数据 addLayer = arcpy.mapping.Layer(_dataNamePath) arcpy.mapping.AddLayer(df, addLayer, "TOP") # 图层依次后来居上 refLayer = arcpy.mapping.ListLayers(mxd, "", df)[0] # 获取图层 arcpy.ApplySymbologyFromLayer_management(refLayer, "test.lyr") # 使用.Lyr进行栅格渲染 arcpy.RefreshActiveView() # 更新视图 arcpy.RefreshTOC() # 更新目录 # 打印地图 printMap(mxd) # 4.另保存mxd文件 aCopyMXD_Path = os.path.join(os.path.abspath('../data/temp/mxd'), _dataName + '.mxd') print aCopyMXD_Path mxd.saveACopy(aCopyMXD_Path) # 另保存mxd文件 return "ok" except Exception, e: print e def printMap(mxd): try: print "Print..." # 设置标题 for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT", "*do*"): if elm.name == "doDataName": elm.text = _dataName elif elm.name == "doMapAuthor": elm.text = _doMapAuthor elif elm.name == "doTitleName": elm.text = _doTitleName elif elm.name == "doMapDate": elm.text = "%s年%s月%s日制" % (datetime.today().year, datetime.today().month, datetime.today().day) # 输出底图 savePNG_Path = os.path.join(os.path.abspath('../data/temp/png'), _dataName + '.png') arcpy.mapping.ExportToPNG(mxd, savePNG_Path, resolution=450) print savePNG_Path except Exception, e: print e # 调用函数 AddLayerData()
评论
    相关推荐
    • arcpy.rar
      可以进行批量裁剪TIF格式文件,适用于大量数据预处理
    • rest-query-to-fgdb-arcpy
      休息查询到 fgdb-arcpy 这是一个脚本,用于下载通过 ESRI 其余服务公开的数据并将其保存为地理数据库要素类。 如果 REST 服务有 n 个特征的限制,脚本将一次下载 n/2 个特征,然后合并结果。 此脚本使用 ArcPy 并...
    • arcpy共举包
      arcpy ArcGIS 10 引入了 ArcPy,这是一个 Python 站点包,它涵盖并进一步加强了 ArcGIS 9.2 中所采用的 arcgisscripting 模块的功能。ArcPy 提供了一种用于开发 Python 脚本的功能丰富的动态环境,同时提供每个函数...
    • arcpy 工具包.zip
      arcpy ArcGIS 10 引入了 ArcPy,这是一个 Python 站点包,它涵盖并进一步加强了 ArcGIS 9.2 中所采用的 arcgisscripting 模块的功能。ArcPy 提供了一种用于开发 Python 脚本的功能丰富的动态环境,同时提供每个函数...
    • ArcPy and ArcGIS - Second Edition
      The arcpy.mapping Moduleb'Chapter 6: The arcpy.mapping Module'b'Using Arc Py with map documents \xc3\x82\xc2\xa0'b'Summary'7: Advanced Analysis Topicsb'Chapter 7: Advanced Analysis Topics'b'Using ...
    • ArcGIS开发arcpy教程
      arcgis数据处理过程中使用到的arcpy脚本,基础教程。有助于gis从业人员开发arcpy脚本便捷处理数据。提供基础与案例应用结合方式,讲解arcpy知识。 1.python基础 2.基本图形创建 3.shapefile数据操作 4.常见数据txt....
    • geopublisher:使用 Esri 的 Arcpy 发布 GIS 数据的工具
      使用 Esri 的 Arcpy 发布 GIS 数据的工具。 免费软件:Apache License 2.0 文档: : 。 特征 向/从 shapefile、文件地理数据库、企业级地理数据库 (SDE) 发布 可以通过将已发布要素类(如有必要)导出到文件名中带...
    • arcpy 工具包
      arcpy ArcGIS 10 引入了 ArcPy,这是一个 Python 站点包,它涵盖并进一步加强了 ArcGIS 9.2 中所采用的 arcgisscripting 模块的功能。ArcPy 提供了一种用于开发 Python 脚本的功能丰富的动态环境,同时提供每个函数...
    • arcpy-extensions:ArcGIS python界面arcpy的扩展和帮助程序
      arcpy扩展 正在进行的python程序包,其中包含arcpy的辅助函数和类。 当前的开发是由其他项目的需求驱动的,而不是统一的开发重点,但是我愿意帮助,指导和/或提出要求。 安装 要安装此软件包,请使用pip pip ...
    • describer:一个简单的python模块,帮助在arcpy中使用Describe函数
      描述者 描述器试图通过根据输入数据类型显示您有权访问的所有有效... Describer 还会为您进行描述,因此在将输入输入到类中之前无需使用 arcpy 来描述输入。 例子 import describer desc = ' \\ Example.gdb' D = desc