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 -*- '''======================== ...
随机推荐
- arm9交叉编译工具链
Arm-linux-gcc: gcc和arm-linux-gcc的头文件并不一样. Eg. Arm-linux-ld:链接器,-T参数是使用链接器脚本. Eg. Arm-linux-readelf:读 ...
- DB2检查数据在各节点分布情况
情景:总所周知,DB2的表空间(数据)在节点中存储是根据每张表的分区键来分布的,如果分区键建的不好,会直接导致表空间在各节点的占用大小不均匀,久而久之,其中一个或几个节点的大小已所剩无几,其他的却依旧 ...
- Android面试题 请解释下单线程模型中Message、Handler、MessageQueue、Looper之间的关系
简单的说,Handler获取当前线程中的looper对象,looper用来存放从MessageQueue中取出的Message,再由Handler进行Message分发和处理,按照先进先出执行. Me ...
- Jenkins安装Slave节点
在系统管理----节点管理下 创建完成后会出现slave节点启动的命令,下载agent.jar,然后启动服务 Master-slave相当于Server和Agent,master管理job和slave ...
- DDD总览
DDD总览 领域驱动设计(DDD)编码实践 目录 写在前面DDD总览实现业务的3种常见方式基于业务的分包领域模型的门面——应用服务业务的载体——聚合根实体 vs 值对象聚合根的家——资源库创生之柱 ...
- docker 运行没有权限执行文件解决
docker运行挂载主系统目录,导致无法启动configuration error: open /etc/docker/registry/config.yml: permission denied 提 ...
- Zookeeper监控平台
JMX: 安装配置 1.修改zookeeper的启动脚本 vi zkServer.sh 找到启动参数ZOOMAIN 修改为下面值(修改一项,新增4项): -Dcom.sun.management ...
- java中的AIO
AIO(异步非阻塞)AIO采用了Proactor模式,AIO与NIO的不同之处在于当AIO在进行读写操作时,不用先等通知,可直接调用相应的read/write方法,这两种方法均为异步的,对于读操作而言 ...
- Vue 获取dom元素中的自定义属性值
方法一: HTML <div id="app"> <button @click="getData($event,'100')">点我&l ...
- windows nginx 搭建文件服务器(通俗易懂)
在一些项目里面,有时候需要访问图片的时候.相信很多人都是的直接把文件放到项目里面的: 今天在这里给大家介绍的是利用nginx 搭建图片服务器,直接访问磁盘上的图片. 方法一(使用root关键字): l ...