arcgis python 布局中所有元素信息报告
- # Author: ESRI
- # Date: July 5, 2010
- # Version: ArcGIS 10.0
- # Purpose: This script generates a report of each page layout element and its
- # associated properties. This script is intended to run as a scrip tool
- # and requires two parameters:
- # 1) Input map document,
- # 2) Output text file.
- import arcpy, os, datetime
- #Read parameters from tool
- mxdPath = arcpy.GetParameterAsText(0)
- output = arcpy.GetParameterAsText(1)
- try:
- #Create r/w output file
- outFile = open(output, "w")
- #Generate Report header
- outFile.write("PageLayout Element Report: \n")
- outFile.write("\n")
- outFile.write("This report lists the properties of invidual page layout elements within a single MXD. \n")
- outFile.write("\n")
- outFile.write("MXD location: " + mxdPath + "\n")
- outFile.write("\n")
- outFile.write("Date: " + str(datetime.datetime.today().strftime("%B %d, %Y")) + "\n")
- outFile.write("\n")
- #Reference MXD file
- mxd = arcpy.mapping.MapDocument(mxdPath)
- #Report data frame elements
- if len(arcpy.mapping.ListLayoutElements(mxd, "DATAFRAME_ELEMENT")) > 0:
- outFile.write("\n")
- outFile.write(" DATA FRAME ELEMENTS: \n")
- for elm in arcpy.mapping.ListLayoutElements(mxd, "DATAFRAME_ELEMENT"):
- outFile.write("\n")
- outFile.write("\t Name: " + elm.name + "\n")
- outFile.write("\t X Position: " + str(elm.elementPositionX) + "\n")
- outFile.write("\t Y Position: " + str(elm.elementPositionY) + "\n")
- outFile.write("\t Height: " + str(elm.elementHeight) + "\n")
- outFile.write("\t Width: " + str(elm.elementWidth) + "\n")
- #Report graphic elements
- if len(arcpy.mapping.ListLayoutElements(mxd, "GRAPHIC_ELEMENT")) > 0:
- outFile.write("\n")
- outFile.write(" GRAPHIC ELEMENTS: \n")
- for elm in arcpy.mapping.ListLayoutElements(mxd, "GRAPHIC_ELEMENT"):
- outFile.write("\n")
- outFile.write("\t Name: " + elm.name + "\n")
- outFile.write("\t X Position: " + str(elm.elementPositionX) + "\n")
- outFile.write("\t Y Position: " + str(elm.elementPositionY) + "\n")
- outFile.write("\t Height: " + str(elm.elementHeight) + "\n")
- outFile.write("\t Width: " + str(elm.elementWidth) + "\n")
- #Report legend elements
- if len(arcpy.mapping.ListLayoutElements(mxd, "LEGEND_ELEMENT")) > 0:
- outFile.write("\n")
- outFile.write(" LEGEND ELEMENTS: \n")
- for elm in arcpy.mapping.ListLayoutElements(mxd, "LEGEND_ELEMENT"):
- outFile.write("\n")
- outFile.write("\t Name: " + elm.name + "\n")
- outFile.write("\t Parent data frame: " + elm.parentDataFrameName + "\n")
- outFile.write("\t Title: " + elm.title + "\n")
- outFile.write("\t X Position: " + str(elm.elementPositionX) + "\n")
- outFile.write("\t Y Position: " + str(elm.elementPositionY) + "\n")
- outFile.write("\t Height: " + str(elm.elementHeight) + "\n")
- outFile.write("\t Width: " + str(elm.elementWidth) + "\n")
- #Report map surround elements
- if len(arcpy.mapping.ListLayoutElements(mxd, "MAPSURROUND_ELEMENT")) > 0:
- outFile.write("\n")
- outFile.write(" MAP SURROUND ELEMENTS: \n")
- for elm in arcpy.mapping.ListLayoutElements(mxd, "MAPSURROUND_ELEMENT"):
- outFile.write("\n")
- outFile.write("\t Name: " + elm.name + "\n")
- outFile.write("\t Parent data frame: " + elm.parentDataFrameName + "\n")
- outFile.write("\t X Position: " + str(elm.elementPositionX) + "\n")
- outFile.write("\t Y Position: " + str(elm.elementPositionY) + "\n")
- outFile.write("\t Height: " + str(elm.elementHeight) + "\n")
- outFile.write("\t Width: " + str(elm.elementWidth) + "\n")
- #Report picture elements
- if len(arcpy.mapping.ListLayoutElements(mxd, "PICTURE_ELEMENT")) > 0:
- outFile.write("\n")
- outFile.write(" PICTURE ELEMENTS: \n")
- for elm in arcpy.mapping.ListLayoutElements(mxd, "PICTURE_ELEMENT"):
- outFile.write("\n")
- outFile.write("\t Name: " + elm.name + "\n")
- outFile.write("\t X Position: " + str(elm.elementPositionX) + "\n")
- outFile.write("\t Y Position: " + str(elm.elementPositionY) + "\n")
- outFile.write("\t Height: " + str(elm.elementHeight) + "\n")
- outFile.write("\t Width: " + str(elm.elementWidth) + "\n")
- #Report text elements
- if len(arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT")) > 0:
- outFile.write("\n")
- outFile.write(" TEXT ELEMENTS: \n")
- for elm in arcpy.mapping.ListLayoutElements(mxd, "TEXT_ELEMENT"):
- outFile.write("\n")
- outFile.write("\t Name: " + elm.name + "\n")
- outFile.write("\t Text string: " + elm.text + "\n")
- outFile.write("\t X Position: " + str(elm.elementPositionX) + "\n")
- outFile.write("\t Y Position: " + str(elm.elementPositionY) + "\n")
- outFile.write("\t Height: " + str(elm.elementHeight) + "\n")
- outFile.write("\t Width: " + str(elm.elementWidth) + "\n")
- #Close the file
- outFile.close()
- #Automatically open the file in associated TXT application
- os.startfile(output)
- #Delete all variables
- del mxdPath, outFile, mxd, output
- except Exception, e:
- import traceback
- map(arcpy.AddError, traceback.format_exc().split("\n"))
- arcpy.AddError(str(e))
arcgis python 布局中所有元素信息报告的更多相关文章
- arcgis python 布局中所有元素平移
# Author: ESRI # Date: July 5, 2010 # Version: ArcGIS 10.0 # Purpose: This script will loop through ...
- arcgis python 布局视图中文本查找替换
# Author: ESRI # Date: July 5, 2010 # Version: ArcGIS 10.0 # Purpose: This script will perform a sea ...
- Python自动化中的元素定位(一)
1.使用selenium中的webdriver模块对浏览器进行操作 1)from selenium import webdriver 加载模块 2)b = webdriver.Friefox() 打开 ...
- python selenium中等待元素出现及等待元素消失操作
在自动化测试中,很多时候都会有等待页面某个元素出现后能进行下一步操作,或者列表中显示加载,直到加载完成后才进行下一步操作,但时间都不确定,如下图所示 幸运的是,在selenium 2后有一个模块exp ...
- python字典中的元素类型
python字典默认的是string item={"browser " : 'webdriver.irefox()', 'url' : 'http://xxx.com'} 如果这样 ...
- Python自动化中的元素定位xpath(二)
1.Xpath元素定位 1)ele = b.find_element_by_xpath(‘/html/body/from/input[1]’) 2)Ele = b.find_element_by_xp ...
- arcgis通过 Python 使用工具 获得结果信息
通过 Python 使用工具 ArcGIS 10 每个地理处理工具都具有一组固定的参数,这些参数为工具提供执行所需的信息.工具通常具有定义一个或多个数据集的输入参数,这些数据集一般用于生成新的输出数据 ...
- 一文教你读懂Python中的异常信息
正文共:11813 字 2 图 预计阅读时间: 30 分钟 原文:https://realpython.com/python-traceback/ 译者:陈祥安 原文有所改动. 在写 Python 代 ...
- 14.python案例:爬取电影天堂中所有电视剧信息
1.python案例:爬取电影天堂中所有电视剧信息 #!/usr/bin/env python3 # -*- coding: UTF-8 -*- '''======================== ...
随机推荐
- 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 ...
- web框架(1)-搭建开发环境
一.python安装 首先,确认系统安装的Python版本 $ python3 -V Python 3.6.3 未安装python,请转至:python安装 二.安装第三方依赖库 1.异步框架aioh ...
- JAVA笔记整理(九),JAVA中的集合
在工作中,我们经常需要将多个对象集中存放,可以使用数组,但是数组的长度一旦固定之后是不可变的,为了保存数量确定的数据,我们可以使用JAVA中的集合. 在我看来,JAVA中的集合可以看作是一个特殊的数据 ...
- Linux命令——pgrep
参考:Linux pgrep Command Tutorial for Beginners (10 Examples) Linux命令——ps.pstree bash基础——grep.基本正则表达式. ...
- JS获取当前月份的最后一天
<button onclick="function_name()">获取当前月份的最后一天</button> <script type="t ...
- webpack多页面打包配置
单页面应用:整个应用里面只有一个html文件.现在主流的框架,vue,react都是单页面应用. 所以webpack绝大部分都是对单页面打包.那么webpack如何对多页面进行打包 index.htm ...
- Kafka 基本知识分享
目录 一.基本术语 二.Kafka 基本命令 三.易混淆概念 四.Kafka的特性 五.Kafka的使用场景 六.Kakfa 的设计思想 七.Kafka 配置文件设置 八.新消费者 九.Kafka该怎 ...
- 一、冒泡排序Bubble sort
https://www.cnblogs.com/kkun/archive/2011/11/23/2260312.html#3824357 #include<iostream> #inclu ...
- 关于TCP/IP协议的记录
本博客是个人随笔,只是记录自己的学习过程.
- AOP(execution表达式)
作者:门罗的魔术师 推荐:y-yg 在使用spring框架配置AOP的时候,不管是通过XML配置文件还是注解的方式都需要定义pointcut"切入点" 例如定义切入点表达式 ex ...