PyQGIS:更改数据定义符号系统的表达式
我有一个 QGIS 项目,可以在地图上显示计算结果。有多个矢量图层,每个矢量图层都有超过 100 个计算字段。所有这些层/字段的数据可视化方式都非常相似。我尝试编写一个脚本来复制模板图层,并根据所选字段名称更改符号系统的表达式。
下面是我尝试访问的属性的屏幕截图(如果我要使用 UI 更改它们)。
如何访问/更改 PyQGIS 中分级符号系统的线宽和线偏移的表达式?
I have a QGIS project that displays calculation results on a map. There are several vector layers, each with >100 calculated fields. The way the data should be visualised is very similar for all these layers/fields. I try to write a script that duplicates a template layer, and changes the expressions for the symbology according to the selected fieldname.
Below is a screenshot of the properties I try to access (if I were to change them using the UI).
How do I access/change the expressions of the line width and line offset of a graduated symbology in PyQGIS?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
万一其他人遇到这个问题。
我使用解决方法解决了它。我将源图层的样式保存到 qml 文件中,对于重复的图层,我创建了 qml 文件的临时副本,对 qml 文件进行搜索和替换,然后使用以下命令将其应用到新图层
newLayer.loadNamedStyle(pathToTheTempQmlFile)
In case someone else runs into this issue.
I solved it using a workaround. I saved the style of the source layer to a qml-file, for the duplicated layers I create a temporary copy of the qml-file, do a search-and-replace on the qml-file and apply this to the new layer using
newLayer.loadNamedStyle(pathToTheTempQmlFile)
希望这有帮助:
请参阅:
QgsRuleBasedRenderer.Rule
Hope this helps:
see:
QgsRuleBasedRenderer.Rule