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 -*- '''======================== ...
随机推荐
- Jerry带您了解Restful ABAP Programming模型系列之二:Action和Validation的实现
相信通过Jerry的前一篇文章 30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用,想必大家对Restful ABAP Programming模型已经有 ...
- OpenStack kilo版(2) keystone部署
部署在controller节点 配置数据库 MariaDB [(none)]> CREATE DATABASE keystone; Query OK, 1 row affected (0.00 ...
- redis连接数高居不下,怎么破?。。。。这么破
最近项目一直在使用redis,首次用redis,随便从网上找了例子就用了,一开始用的还挺正常,后来发现,当客户端访问量一上来,redis的连接数居高不下,一开始以为是客户端没有关闭,开始怀疑redis ...
- Winserver-Exception from HRESULT: 0x800A03EC
Q: 程序在VS中手动执行没问题,但是排了JOB报异常:Exception from HRESULT: 0x800A03EC at Excel.WorkbookClass.SaveAs() A: ...
- c# 克隆来创建对象副本
- spice在桌面虚拟化中的应用系列之三(USB映射实现,SSL加密,密码认证,多客户端支持)
本系列其它文章 spice在桌面虚拟化中的应用系列之一(spice简介,性能优化等) spice在桌面虚拟化中的应用系列之二(Linux平台spice客户端的编译安装,支持USB映射) 1.spice ...
- JavaScript中对数组的排序
将下列对象数组,通过工资属性,由高到低排序 var BaiduUsers = [], WechatUsers = []; var User = function(id, name, phone, ge ...
- PAT基础级-钻石段位样卷2-7-3 大笨钟 (10 分)
微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉.不过由于笨钟自己作息也不是很规律,所以敲钟并不定时.一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那 ...
- unsafe包的学习和使用
Go语言之unsafe包介绍及使用 unsafe内容介绍 type ArbitraryType int type Pointer *ArbitraryType func Sizeof(x Arbitr ...
- Color Highlight 鼠标放在 #f3f 上面其背景会变成相应的颜色的插件 DocBlockr自动补全注释
不是 Color Highlighter 而是 Color Highlight 少了 er 颜色功能还是很爽的,找了好久 鼠标放在 #f3f 上面其背景会变成相应的颜色的插件 DocBlo ...