问题描述
我正在尝试使用 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")
输出是这样的 Pls click to see
我应该在代码中更改/添加什么来获取地图布局中存在的 shapefile 的范围?
解决方法
我测试了你的代码,我想是什么导致了这个问题:
mf.zoomToAllLayers()
尝试创建另一个项目,导入您的布局并在没有 zoomToAllLayers() 的情况下运行您的代码
如果您的地图上有任何图层并且您想将地图置于其中心,您可以尝试像这样设置范围:
mf.camera.setExtent(mf.getLayerExtent(lyr,False,True))