当前位置: 首页 > news >正文

ArcGISProject工程文档的使用学习笔记

ArcGISProject是ArcGISPro的工程文档,相比于ArcGis的地图文档包含的内容更多更大。一个工程文档可以包含多个地图、多个布局,甚至包含了三维场景(虽然我用的少),而旧版的数据文档只能包含一个地图和对应的布局,三维场景还需要另外打开ArcScene。言归正传,ArcGISProject的内容如此庞杂,python可处理的东西也非常多,这里并不全部涉及,但是给出说明文档的路径,有需要请自行查阅(https://pro.arcgis.com/zh-cn/pro-app/latest/arcpy/mapping/arcgisproject-class.htm)。
我在这两天工作时涉及到ArcGISProject的部分包括:定位和打开工程文档、获取工程文档包含的地图、复制地图、保存或另存为。
1.定位和打开
官方习惯将工程文档的标识符设置为aprx,这里就入乡随俗了。让程序定位高程文档的路径是批处理第一步。
最常用的arcpy.mp.ArcGISProject()在这一页的说明文档里竟然没有介绍,只能去别的地方找它的参数介绍,这个说明文档经常这样。我这里不涉及它的参数这部分,就偷懒跳过了。
`
import arcpy

path_aprx=r"Your aprx path."
aprx = arcpy.mp.ArcGISProject(path_aprx) # “打开”工程文件
*2.获取文档包含的地图* 只定位到工程文档是不够的,我们需要进一步定位到Map(数据视图)和Layout(布局视图),乃至Layer(图层)才是我们操作的主体。我这里不涉及布局视图,只遍历了Map和Layer,代码如下:
import arcpy

path_aprx=r"Your aprx path."
aprx = arcpy.mp.ArcGISProject(path_aprx)

map_list = aprx.listMaps() # 获取Map列表
for map in map_list:
pass
for layer in map.listLayers(): # 获取并遍历Layer列表
pass
*3.复制地图* 我的任务需要把一个模板地图复制好几份,然后在复制Map的基础上设置专题图。复制地图的操作还费了我不少功夫,比较反直觉的是涉及aprx和map,在搜索栏搜索map是找不到这个功能的。 使用的语句是copyItem (project_item, {new_name}),说明是:创建现有 layout、map 或 report 工程项目的副本。我这里只复制了Map,没试其它的。
def copy_map(mouldName, mouldMap, aprx, region_dict):
for item in region_dict:
mapNameNew1 = item
mapNameNew2 = region_dict[item]
mapName = mouldName.replace("part1", mapNameNew1).replace("part2", mapNameNew2)
aprx.copyItem(mouldMap, new_name=mapName) # 复制Map
`

4.保存和另存为
保存还是比较简单的。
aprx.saveACopy(new_path) #另存为 aprx.save() #保存

http://www.aitangshan.cn/news/71.html

相关文章:

  • 8.4 ~ 8.10
  • MeshCN 太阳能 Mesh 网络:SX1262 芯片赋能,无网无电也能畅联
  • 中电金信 :从通用狂飙到穿透场景,行业智能化落地没有捷径
  • wls ssh 连接异常 Missing privilege separation directory: /run/sshd
  • Prometheus源码专题【左扬精讲】—— 监控系统 Prometheus 3.4.0 源码解析:scrape manager 与 scrapeLoop
  • 洛谷P13030 [GCJ 2021 #1B] Subtransmutation
  • idempiere安装
  • 如何安装 Git (windows/mac/linux)
  • 拆解Agent如何实现“听懂→规划→搞定”全流程
  • ActiveMQ 设置用户名密码
  • MySQL 8.0.42 手动部署全过程(CentOS 7 虚拟机 Linux)
  • PDF处理控件Aspose.PDF教程:在C#、Java、Python中快速缩小PDF
  • 自动化测试框架选型指南:5大主流工具实战对比
  • Re:从零开始的动态凸壳
  • 资产管理系统 - microsoft
  • G1 垃圾回收器调优
  • 面相对象编程:类和对象
  • 学习笔记:Query Transformation- Distinct Aggregate Transformation
  • 安卓
  • 妈妈再也不用担心我画图太丑了,画图神器:plantUML
  • 测试用例精简技术全解析:从原理到实践
  • 优化DeepSpeed ZeRO在低成本硬件上的运行效率
  • 读书笔记:数据库事务处理的那些坑与妙招
  • arduino 工具栏消失
  • # 常见算法板子(一)
  • 【算法分享】字典树 — 插入、查询与状态标记详解
  • 8.10
  • Windows 2003 系统如何修改网卡DNS?
  • Python 内置模块 base64:编码与解码的艺术
  • Webstorm运行显示404 not found的问题解决方案。