【问题标题】:PyQGIS: change expression for datadefined symbologyPyQGIS:更改数据定义符号系统的表达式
【发布时间】:2022-06-16 11:29:46
【问题描述】:

我有一个在地图上显示计算结果的 QGIS 项目。有几个向量层,每个向量层都有 >100 个计算字段。所有这些层/字段的数据可视化方式都非常相似。我尝试编写一个复制模板层的脚本,并根据所选字段名称更改符号系统的表达式。

下面是我尝试访问的属性的屏幕截图(如果我要使用 UI 更改它们)。

如何在 PyQGIS 中访问/更改分级符号系统的线宽和线偏移的表达式?

【问题讨论】:

    标签: pyqgis


    【解决方案1】:

    以防其他人遇到此问题。 我使用解决方法解决了它。我将源层的样式保存到 qml 文件中,对于重复的层,我创建 qml 文件的临时副本,对 qml 文件进行搜索和替换并将其应用到新层使用 newLayer.loadNamedStyle(pathToTheTempQmlFile)

    【讨论】:

      【解决方案2】:

      希望这会有所帮助:

      rule=layer.renderer().rootRule().children()[0]
      rule.setFilterExpression('whatever')
      

      参见:[https://qgis.org/pyqgis/3.22/core/QgsRuleBasedRenderer.html#qgis.core.QgsRuleBasedRenderer.Rule]

      【讨论】:

        猜你喜欢
        • 2021-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-31
        • 2014-01-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多