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))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
2017-08-17 Android SDK目录及版本号区别
2011-08-17 ArcGIS Server 10 服务器要求