alex_bn_lee

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

[930] arcpy - change spatial reference, zoom to layer and export to PDF

The general idea is as follows:

aprx -> layout -> map -> layer -> extent
layout -> setExtent
layout -> exportToPDF

The script is as follows:

def export2PDF(root_dir):
aprx_dir = os.path.join(root_dir, "Working\\GIS\\Project\\LI-XXXXX XXX\\Master.aprx")
site_sf = get_siteboundary_zone(root_dir)
aprx = arcpy.mp.ArcGISProject(aprx_dir)
# layouts of aprx
for lyt in aprx.listLayouts():
mf = lyt.listElements("mapframe_element")[-1]
mp = mf.map
# change the spatial reference
if mp.spatialReference.name != site_sf:
mp.spatialReference = arcpy.SpatialReference(site_sf)
for lyr in mp.listLayers():
if lyr.supports("NAME") and lyr.name.find("sitebuffer") > -1:
break
# zoom to layer of sitebuffer
mf.camera.setExtent(mf.getLayerExtent(lyr, False, True))
# export map to pdf
lyt.exportToPDF(os.path.join(root_dir, "Delivery\\PDFs", lyt.name + ".pdf"), resolution=300)
print(" --", lyt.name)
aprx.save()

 

posted on   McDelfino  阅读(28)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2019-11-01 【446】Deep Learning
点击右上角即可分享
微信分享提示