【问题标题】:Export map layout to PDF using Arcpy.mp, extent problem使用 Arcpy.mp 将地图布局导出为 PDF,范围问题
【发布时间】:2021-07-02 17:44:18
【问题描述】:

我正在尝试使用 arcpy.mp 从 ArcGIS Pro 文件将地图布局导出为 PDF

可以导出,但图层范围不正确。

这是我的代码

x = ArcGISProject("ArcGIS Pro File Path")
my_layout = x.listLayouts()[0]
print(my_layout.name)
map1 = x.listMaps()[0]
mf = my_layout.listElements("MAPFRAME_ELEMENT")[0]
my_map2 = mf.map
mf.zoomToAllLayers()
map1.defaultCamera = mf.camera

x.save()
y = my_layout.exportToPDF("Pdf File Path")

` 输出是这样来的

我应该在我的代码中更改/添加什么来获取地图布局中存在的 shapefile 的范围?

【问题讨论】:

    标签: python pdf arcgis esri arcpy


    【解决方案1】:

    我测试了您的代码,我认为导致此问题的原因是这一行:

    mf.zoomToAllLayers()
    

    尝试创建另一个项目,导入布局并在没有 zoomToAllLayers() 的情况下运行代码

    如果您的地图上有任何图层并且您想将地图居中放置,您可以尝试这样设置范围:

    mf.camera.setExtent(mf.getLayerExtent(lyr, False, True))
    

    欲了解更多信息:https://gis.stackexchange.com/questions/173687/choosing-and-zooming-to-features-using-sql-query-in-arcpy-with-arcgis-pro

    【讨论】:

    • 感谢您的回答。 --> mf.camera.setExtent(mf.getLayerExtent(lyr, False, True)) 但是有了这个,它也不起作用。我刚刚评论了 --> mf.zoomToAllLayers() 并且它适用于这个 --> map1.defaultCamera = mf.camera
    猜你喜欢
    • 1970-01-01
    • 2019-03-08
    • 2023-03-08
    • 1970-01-01
    • 2020-11-24
    • 2020-02-21
    • 2021-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多