关于布局视图列表


ArcGIS Pro 布局视图列表

工程信息

  • 工程路径: C:\Users\ZhuanZ\Documents\ArcGIS\Projects\勘界图\勘界图.aprx
  • 布局数量: 7个
  • 操作时间: 2026-06-02

布局列表

序号 布局名称 页面大小 方向
1 影像图(A4横) 297.0 x 210.0 mm 横向
2 现状图(A4横) 297.0 x 210.0 mm 横向
3 部门核查附图2(A4竖) 21.0 x 29.7 cm 竖向
4 规划图(A4竖) 21.0016 x 29.7011 cm 竖向
5 部门核查附图1(A4竖) 21.0 x 29.7 cm 竖向
6 与禹门口地质遗迹保护区平面示意图 21.0 x 29.7 cm 竖向
7 规划图2(A4竖) 21.0016 x 29.7011 cm 竖向

操作代码

使用arcpy脚本列出布局:

# -*- coding: utf-8 -*-
# 声明:这个.py文件是用UTF-8编码保存的
import arcpy
import sys

# 设置标准输出编码为UTF-8(解决Windows PowerShell中文乱码)
sys.stdout.reconfigure(encoding='utf-8')

# 打开工程文件
aprx = arcpy.mp.ArcGISProject(r"C:\Users\ZhuanZ\Documents\ArcGIS\Projects\勘界图\勘界图.aprx")

# 列出所有布局
layouts = aprx.listLayouts()
print(f"找到 {len(layouts)} 个布局视图:\n")

for idx, lyt in enumerate(layouts, 1):
    print(f"{idx}. {lyt.name}")
    print(f"   页面大小:{lyt.pageWidth} x {lyt.pageHeight} {lyt.pageUnits}\n")

关于编码的两个重要设置

1. # -*- coding: utf-8 -*-(文件编码声明)

作用:告诉Python解释器这个.py脚本文件本身是用UTF-8编码保存的。

解决的问题:当Python读取脚本文件时,如果遇到中文注释或字符串字面量(如 print("你好")),需要知道用哪种编码来解析这些字符。

Python 3的情况:从Python 3.0开始,默认的源代码编码就是UTF-8,所以这个声明在Python 3中通常是可选的,但加上是个好习惯。

示例

# -*- coding: utf-8 -*-
print("这个.py文件包含中文注释")

2. sys.stdout.reconfigure(encoding='utf-8')(输出编码设置)

作用:告诉Python:**标准输出(stdout)**应该使用UTF-8编码。

解决的问题:当print()语句向控制台(如PowerShell)输出中文字符时,控制台需要正确解码这些字节流。如果控制台默认使用GBK编码,而Python输出的是UTF-8编码的字节,就会出现乱码。

这是解决Windows下中文乱码的关键

示例

import sys
sys.stdout.reconfigure(encoding='utf-8')
print("这段文字会正确显示在PowerShell中")

两种编码设置的区别总结

设置 作用对象 解决的问题
# -*- coding: utf-8 -*- Python脚本文件本身的编码 Python解释器如何正确读取.py文件中的中文
sys.stdout.reconfigure(encoding='utf-8') 标准输出流(stdout)的编码 print()输出的中文在控制台中正确显示

类比

  • 文件编码声明:告诉翻译官(Python解释器)"这份文件是中文写的,请用中文来理解"
  • 输出编码设置:告诉翻译官"你翻译好的内容,请用UTF-8编码格式输出给听众(控制台)"

注意事项

  1. 编码问题: Windows PowerShell下中文可能乱码,需要同时设置:
    • 文件编码声明:# -*- coding: utf-8 -*-
    • 输出编码设置:sys.stdout.reconfigure(encoding='utf-8')
  2. 页面单位: 布局可能使用不同单位(MILLIMETER 或 CENTIMETER),需要注意区分
  3. 页面尺寸: 竖向布局的尺寸值可能有浮点精度问题(如29.700000000000003)

相关操作

  • 列出地图:使用 aprx.listMaps()
  • 导出布局:使用 lyt.exportToPDF()lyt.exportToPNG()
  • 修改页面大小:直接设置 lyt.pageWidthlyt.pageHeight

参考资源


文章作者: 摸鱼
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 摸鱼 !
  目录