1. # Author: ESRI
  2. # Date: July 5, 2010
  3. # Version: ArcGIS 10.0
  4. # Purpose: This script generates a report of each page layout element and its
  5. # associated properties. This script is intended to run as a scrip tool
  6. # and requires two parameters:
  7. # 1) Input map document,
  8. # 2) Output text file.
  9.  
  10. import arcpy, os, datetime
  11.  
  12. #Read parameters from tool
  13. mxdPath = arcpy.GetParameterAsText(0)
  14. output = arcpy.GetParameterAsText(1)
  15.  
  16. try:
  17.  
  18. #Create r/w output file
  19. outFile = open(output, "w")
  20.  
  21. #Generate Report header
  22. outFile.write("PageLayout Element Report: \n")
  23. outFile.write("\n")
  24. outFile.write("This report lists the properties of invidual page layout elements within a single MXD. \n")
  25. outFile.write("\n")
  26. outFile.write("MXD location: " + mxdPath + "\n")
  27. outFile.write("\n")
  28. outFile.write("Date: " + str(datetime.datetime.today().strftime("%B %d, %Y")) + "\n")
  29. outFile.write("\n")
  30.  
  31. #Reference MXD file
  32. mxd = arcpy.mapping.MapDocument(mxdPath)
  33.  
  34. #Report data frame elements
  35. if len(arcpy.mapping.ListLayoutElements(mxd, "DATAFRAME_ELEMENT")) > 0:
  36. outFile.write("\n")
  37. outFile.write(" DATA FRAME ELEMENTS: \n")
  38.  
  39. for elm in arcpy.mapping.ListLayoutElements(mxd, "DATAFRAME_ELEMENT"):
  40. outFile.write("\n")
  41. outFile.write("\t Name: " + elm.name + "\n")
  42. outFile.write("\t X Position: " + str(elm.elementPositionX) + "\n")
  43. outFile.write("\t Y Position: " + str(elm.elementPositionY) + "\n")
  44. outFile.write("\t Height: " + str(elm.elementHeight) + "\n")
  45. outFile.write("\t Width: " + str(elm.elementWidth) + "\n")
  46.  
  47. #Report graphic elements
  48. if len(arcpy.mapping.ListLayoutElements(mxd, "GRAPHIC_ELEMENT")) > 0:
  49. outFile.write("\n")
  50. outFile.write(" GRAPHIC ELEMENTS: \n")
  51.  
  52. for elm in arcpy.mapping.ListLayoutElements(mxd, "GRAPHIC_ELEMENT"):
  53. outFile.write("\n")
  54. outFile.write("\t Name: " + elm.name + "\n")
  55. outFile.write("\t X Position: " + str(elm.elementPositionX) + "\n")
  56. outFile.write("\t Y Position: " + str(elm.elementPositionY) + "\n")
  57. outFile.write("\t Height: " + str(elm.elementHeight) + "\n")
  58. outFile.write("\t Width: " + str(elm.elementWidth) + "\n")
  59.  
  60. #Report legend elements
  61. if len(arcpy.mapping.ListLayoutElements(mxd, "LEGEND_ELEMENT")) > 0:
  62. outFile.write("\n")
  63. outFile.write(" LEGEND ELEMENTS: \n")
  64.  
  65. for elm in arcpy.mapping.ListLayoutElements(mxd, "LEGEND_ELEMENT"):
  66. outFile.write("\n")
  67. outFile.write("\t Name: " + elm.name + "\n")
  68. outFile.write("\t Parent data frame: " + elm.parentDataFrameName + "\n")
  69. outFile.write("\t Title: " + elm.title + "\n")
  70. outFile.write("\t X Position: " + str(elm.elementPositionX) + "\n")
  71. outFile.write("\t Y Position: " + str(elm.elementPositionY) + "\n")
  72. outFile.write("\t Height: " + str(elm.elementHeight) + "\n")
  73. outFile.write("\t Width: " + str(elm.elementWidth) + "\n")
  74.  
  75. #Report map surround elements
  76. if len(arcpy.mapping.ListLayoutElements(mxd, "MAPSURROUND_ELEMENT")) > 0:
  77. outFile.write("\n")
  78. outFile.write(" MAP SURROUND ELEMENTS: \n")
  79.  
  80. for elm in arcpy.mapping.ListLayoutElements(mxd, "MAPSURROUND_ELEMENT"):
  81. outFile.write("\n")
  82. outFile.write("\t Name: " + elm.name + "\n")
  83. outFile.write("\t Parent data frame: " + elm.parentDataFrameName + "\n")
  84. outFile.write("\t X Position: " + str(elm.elementPositionX) + "\n")
  85. outFile.write("\t Y Position: " + str(elm.elementPositionY) + "\n")
  86. outFile.write("\t Height: " + str(elm.elementHeight) + "\n")
  87. outFile.write("\t Width: " + str(elm.elementWidth) + "\n")
  88.  
  89. #Report picture elements
  90. if len(arcpy.mapping.ListLayoutElements(mxd, "PICTURE_ELEMENT")) > 0:
  91. outFile.write("\n")
  92. outFile.write(" PICTURE ELEMENTS: \n")
  93.  
  94. for elm in arcpy.mapping.ListLayoutElements(mxd, "PICTURE_ELEMENT"):
  95. outFile.write("\n")
  96. outFile.write("\t Name: " + elm.name + "\n")
  97. outFile.write("\t X Position: " + str(elm.elementPositionX) + "\n")
  98. outFile.write("\t Y Position: " + str(elm.elementPositionY) + "\n")
  99. outFile.write("\t Height: " + str(elm.elementHeight) + "\n")
  100. outFile.write("\t Width: " + str(elm.elementWidth) + "\n")
  101.  
  102. #Report text elements
  103. if len(arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT")) > 0:
  104. outFile.write("\n")
  105. outFile.write(" TEXT ELEMENTS: \n")
  106.  
  107. for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"):
  108. outFile.write("\n")
  109. outFile.write("\t Name: " + elm.name + "\n")
  110. outFile.write("\t Text string: " + elm.text + "\n")
  111. outFile.write("\t X Position: " + str(elm.elementPositionX) + "\n")
  112. outFile.write("\t Y Position: " + str(elm.elementPositionY) + "\n")
  113. outFile.write("\t Height: " + str(elm.elementHeight) + "\n")
  114. outFile.write("\t Width: " + str(elm.elementWidth) + "\n")
  115.  
  116. #Close the file
  117. outFile.close()
  118.  
  119. #Automatically open the file in associated TXT application
  120. os.startfile(output)
  121.  
  122. #Delete all variables
  123. del mxdPath, outFile, mxd, output
  124.  
  125. except Exception, e:
  126. import traceback
  127. map(arcpy.AddError, traceback.format_exc().split("\n"))
  128. arcpy.AddError(str(e))

arcgis python 布局中所有元素信息报告的更多相关文章

  1. arcgis python 布局中所有元素平移

    # Author: ESRI # Date: July 5, 2010 # Version: ArcGIS 10.0 # Purpose: This script will loop through ...

  2. arcgis python 布局视图中文本查找替换

    # Author: ESRI # Date: July 5, 2010 # Version: ArcGIS 10.0 # Purpose: This script will perform a sea ...

  3. Python自动化中的元素定位(一)

    1.使用selenium中的webdriver模块对浏览器进行操作 1)from selenium import webdriver 加载模块 2)b = webdriver.Friefox() 打开 ...

  4. python selenium中等待元素出现及等待元素消失操作

    在自动化测试中,很多时候都会有等待页面某个元素出现后能进行下一步操作,或者列表中显示加载,直到加载完成后才进行下一步操作,但时间都不确定,如下图所示 幸运的是,在selenium 2后有一个模块exp ...

  5. python字典中的元素类型

    python字典默认的是string item={"browser " : 'webdriver.irefox()', 'url' : 'http://xxx.com'} 如果这样 ...

  6. Python自动化中的元素定位xpath(二)

    1.Xpath元素定位 1)ele = b.find_element_by_xpath(‘/html/body/from/input[1]’) 2)Ele = b.find_element_by_xp ...

  7. arcgis通过 Python 使用工具 获得结果信息

    通过 Python 使用工具 ArcGIS 10 每个地理处理工具都具有一组固定的参数,这些参数为工具提供执行所需的信息.工具通常具有定义一个或多个数据集的输入参数,这些数据集一般用于生成新的输出数据 ...

  8. 一文教你读懂Python中的异常信息

    正文共:11813 字 2 图 预计阅读时间: 30 分钟 原文:https://realpython.com/python-traceback/ 译者:陈祥安 原文有所改动. 在写 Python 代 ...

  9. 14.python案例:爬取电影天堂中所有电视剧信息

    1.python案例:爬取电影天堂中所有电视剧信息 #!/usr/bin/env python3 # -*- coding: UTF-8 -*- '''======================== ...

随机推荐

  1. Story of Jerry Wang's Wechat subscription account

    As an SAP Techinical Ambassador,Jerry is always willing to share his SAP expertise to various social ...

  2. web框架(1)-搭建开发环境

    一.python安装 首先,确认系统安装的Python版本 $ python3 -V Python 3.6.3 未安装python,请转至:python安装 二.安装第三方依赖库 1.异步框架aioh ...

  3. JAVA笔记整理(九),JAVA中的集合

    在工作中,我们经常需要将多个对象集中存放,可以使用数组,但是数组的长度一旦固定之后是不可变的,为了保存数量确定的数据,我们可以使用JAVA中的集合. 在我看来,JAVA中的集合可以看作是一个特殊的数据 ...

  4. Linux命令——pgrep

    参考:Linux pgrep Command Tutorial for Beginners (10 Examples) Linux命令——ps.pstree bash基础——grep.基本正则表达式. ...

  5. JS获取当前月份的最后一天

    <button onclick="function_name()">获取当前月份的最后一天</button> <script type="t ...

  6. webpack多页面打包配置

    单页面应用:整个应用里面只有一个html文件.现在主流的框架,vue,react都是单页面应用. 所以webpack绝大部分都是对单页面打包.那么webpack如何对多页面进行打包 index.htm ...

  7. Kafka 基本知识分享

    目录 一.基本术语 二.Kafka 基本命令 三.易混淆概念 四.Kafka的特性 五.Kafka的使用场景 六.Kakfa 的设计思想 七.Kafka 配置文件设置 八.新消费者 九.Kafka该怎 ...

  8. 一、冒泡排序Bubble sort

    https://www.cnblogs.com/kkun/archive/2011/11/23/2260312.html#3824357 #include<iostream> #inclu ...

  9. 关于TCP/IP协议的记录

    本博客是个人随笔,只是记录自己的学习过程.

  10. AOP(execution表达式)

    作者:门罗的魔术师 推荐:y-yg 在使用spring框架配置AOP的时候,不管是通过XML配置文件还是注解的方式都需要定义pointcut"切入点" 例如定义切入点表达式  ex ...