管道基础大数据平台系统开发-【CS】-ExportMap
13693261870
2023-10-08 ccf8519c1e940d854c0013e8c3c264217274b29d
动态添加底图
已修改2个文件
28 ■■■■■ 文件已修改
ExportMap/Sources/Moon.qgz 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/Sources/MoonExp.py 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/Sources/Moon.qgz
Binary files differ
ExportMap/Sources/MoonExp.py
@@ -34,7 +34,7 @@
        flag = layer.name() in show_layers
        print(layer.name() + ": " + str(flag))
        # if not flag:
        # project.removeMapLayer(layer)
        # prj.removeMapLayer(layer)
        layer.setValid(flag)
@@ -56,6 +56,14 @@
            node.setItemVisibilityChecked(flag)
# 添加底图:layer.isValid(),layer.metadataUri(),layer.providerType()
def add_map_layer(prj, args):
    url = "crs=ESRI:104903&dpiMode=7&format=image/png&layers=Default&styles=default&tileMatrixSet=GoogleCRS84Quad01&url=http://219.153.49.10:7511/sj_raster/v6/wmts/service/system/10000201/1?ak=mf72ff9295c740ec0f37e61433e8a3ad8d"
    layer = QgsRasterLayer(url, "WmsLayer", "wms")
    prj.addMapLayer(layer)
    print(url)
# 初始化
# QgsApplication.setPrefixPath(r"E:/terrait/TianJin/LFServer/QGIS/", True)
qgs = QgsApplication([], False)
@@ -63,13 +71,13 @@
# 加载工程
args = get_args()
project = QgsProject.instance()
# project.read(r'Test.qgz')
project.read(os.path.join(args.src, args.qgz))
print("FileName: " + project.fileName())
prj = QgsProject.instance()
# prj.read(r'Test.qgz')
prj.read(os.path.join(args.src, args.qgz))
print("FileName: " + prj.fileName())
# layout = QgsPrintLayout(project)
layout = QgsLayout(project)
# layout = QgsPrintLayout(prj)
layout = QgsLayout(prj)
# layout.initializeDefaults()
# 加载模板
@@ -102,9 +110,11 @@
# "阀室", "站场", "管道中心线", "矢量注记", "矢量图", "高德影像注记", "高德影像", "影像注记", "影像图"
# showLayers = ["阀室", "管道中心线", "矢量注记", "矢量图"]
showLayers = layout.customProperty("layers").split(',')
root = project.layerTreeRoot()
# set_layers_valid(project, showLayers)
root = prj.layerTreeRoot()
# set_layers_valid(prj, showLayers)
set_item_visibility(root, showLayers)
add_map_layer(prj, args)
# sm = layout.itemById(r'说明')
'''table = layout.multiFrames()[0]