【Arcpy】管理布局

遍历要素,修改内容,导出为PDF

import arcpy.mp as map
try:
    #打开工程文件
    aprx = map.ArcGISProject("CURRENT")
    #打开布局
    lyt = aprx.listLayouts("Crime")[0]
    #读取布局中的要素,限定类型和名称
    for el in lyt.listElements("TEXT_ELEMENT","Title"):
        #修改标题的文本
        el.text = "Crime and It\’s Impact on School TestPerformance - 2009"
        outFile = r"D:\个人资料\Arcpy\ProgrammingPro\My Projects\ImportedCrime\Layout"
        #导出PDF,设置为高清格式,内嵌字体文件
        lyt.exportToPDF(outFile, image_quality="BEST",embed_fonts=True)
        print("Exported Layout to PDF")
        #导出JPEG,DPI400,高清格式
        lyt.exportToJPEG(outFile,400,8,100,True)
        print("Exported Layout to JPEG")
except Exception as e:
    print("Error: " + e.args[0])

MapFrame(地图框)

使用MapFrame可以对布局中的地图框进行操作:更改布局中地图框的大小和位置,使其可见或隐藏;导出地图为各种格式的图像;获取地图框中图层的范围,平移到某个范围,缩放到图层,以及缩放到书签。

导出地图框为

import arcpy.mp as map
try:
    #打开工程文件
    aprx = map.ArcGISProject(r"D:\个人资料\Arcpy\ProgrammingPro\My Projects\ImportedCrime\ImportedCrime.aprx")
    #打开布局
    lyt = aprx.listLayouts("Crime")[0]
    #读取布局中的要素,限定类型和名称
    mf = lyt.listElements("MAPFRAME_ELEMENT", "Crime_Inset Map Frame")[0]
    #导出
    outFile = r"D:\个人资料\Arcpy\ProgrammingPro\My Projects\ImportedCrime\CrimeInset.png"
    mf.exportToPNG(outFile,400)
    print("Export Inset Map to PNG File")
except Exception as e:
    print("Error: " + e.args[0])

缩放和平移要素

缩放到所选要素

import arcpy.mp as map
try:
    #读取工程
    aprx = map.ArcGISProject("CURRENT")
    #读取MAP地图框
    m = aprx.listMaps("Map")[0]
    #读取MAP地图框中的要素
    parcelLyr = m.listLayers("Parcels")[0]
    #读取布局
    lyt = aprx.listLayouts("Park Layout")[0]
    #读取布局中地图框
    mf = lyt.listElements("MAPFRAME_ELEMENT")[0]
    #缩放至选择的要素
    mf.zoomToAllLayers(True)
except Exception as e:
    print("Error: " + e.args[0])

所选要素平移到中间

import arcpy.mp as map
try:
    #读取工程
    aprx = map.ArcGISProject("CURRENT")
    #读取MAP地图框
    m = aprx.listMaps("Map")[0]
    #读取MAP地图框中的要素
    parcelLyr = m.listLayers("Parcels")[0]
    #读取布局
    lyt = aprx.listLayouts("Park Layout")[0]
    #读取布局中地图框
    mf = lyt.listElements("MAPFRAME_ELEMENT")[0]
    ext = mf.getLayerExtent(parcelLyr,True)
    mf.panToExtent(ext)
except Exception as e:
    print("Error: " + e.args[0])

调整3D视角

在这里插入图片描述

import arcpy.mp as map
try:
    aprx = map.ArcGISProject("CURRENT")
    m = aprx.listMaps("Union City")[0]
    lyt = aprx.listLayouts("Union City Layout")[0]
    mf = lyt.listElements("MAPFRAME_ELEMENT")[0]
    camera = mf.camera
    #获取摄像头模块,打印当前参数
    if camera.mode == "LOCAL": 
        camera.pitch = 0.00
        camera.roll = 00.00
        camera.heading = -90.0
except Exception as e:
    print("Error: " + e.args[0])
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燕南路GISer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值