You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在QGIS项目打开时自动更新Mesh图层属性值?

能否在项目打开时(通过Python宏或其他方式)执行这两项操作?是否可行?

输入图片描述

输入图片描述

更新内容

对于第一种方法,仅在不修改符号系统时有效(即使颜色刻度字段已失效):

layer = iface.activeLayer()
layer.reload()
iface.layerTreeView().refreshLayerSymbology(layer.id())

我尝试了以下代码:

layer = iface.activeLayer()
for g in layer.datasetGroupsIndexes():
    if layer.datasetGroupMetadata(QgsMeshDatasetIndex(g,0)).name().startswith("Total precipitation"):
        maxVal = layer.datasetGroupMetadata(QgsMeshDatasetIndex(g,0)).maximum()
        minVal = layer.datasetGroupMetadata(QgsMeshDatasetIndex(g,0)).minimum()
        print(maxVal, " ", minVal)
        mesh_renderer = layer.rendererSettings()
        mesh_renderer.setActiveScalarDatasetGroup(g)
        scalar_settings = mesh_renderer.scalarSettings(g)
        scalar_settings.setClassificationMinimumMaximum(minVal,maxVal)
        mesh_renderer.setScalarSettings(g,scalar_settings)
        layer.setRendererSettings(mesh_renderer)
        iface.layerTreeView().refreshLayerSymbology(layer.id())

该代码仅能修改最大值和最小值,无法修改其他属性。

输入图片描述


内容的提问来源于stack exchange,提问作者Giovanni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 18:05:14